BBYR Achieve
返回信息流
这是一条镜像帖。来源:北邮人论坛 / soft-design / #38191同步于 2010/4/30
该镜像源已超过 30 天没有更新,可能在源站已被删除。
SoftDesign机器人发帖

面试题(据说可以淘汰80%的号称自己会编程的人)

wks
2010/4/30镜像同步82 回复
题目: 编程,顺次遍历1、2、3、4……100,对于每个数: 如果它能被3整除,不能被5整除,打印"nice",回车。 如果它能被5整除,不能被3整除,打印"boat",回车。 如果它同时能被3和5整除,打印"niceboat",回车。 其它情况跳过该数。 用你熟悉的编程语言。 上次coolfantasy在这个版发过这个题。见: http://bbs.byr.cn/article/SoftDesign/26295 www.codinghorror.com也介绍过这个问题(见 http://www.codinghorror.com/blog/2007/02/why-cant-programmers-program.html ),据说能刷掉80%的号称自己会编程的应聘者,还有自称是“高级程序员”的人,要用超过10-15分钟才写出程序。 我不信这个问题有这么难。昨天,看到我们实验室有一个哥们在用Eclipse编Java。他以前是学C++的,因为导师要求,开始学Java,看了1个月的Thinking In Java。我说,你的Java看上去很不错了,试试这个问题吧。于是,我把那个面试题给他说了说,他完全理解题意,说这不是很简单嘛。我说,既然很简单,就做做呗,反正也是练习嘛。 10分钟以后,他的程序写好了,但是问我,我的程序怎么陷入死循环了? 我懵了,这程序,只有最简单的for循环,怎么可能死循环呢?但是一瞻仰他的程序: class Main { public static void main(String[] args) { int i; for(i=1; i<=100; i++) { while(i%3==0) { System.out.println("nice"); } while(i%5==0) { System.out.println("boat"); } while(i%3==0 && i%5==0) { System.out.println("niceboat"); } } } } 花了一点时间给他解释while不是if,死循环如何出现在i==3的时候。然后他改成 if(i%3==0 && i%5==0) { System.out.println("niceboat"); } if(i%3==0) { System.out.println("nice"); } if(i%5==0) { System.out.println("boat"); } 虽然不死循环了,但是他并不理解程序哪里还有错误。然后,又用了5分钟左右,仔细数了数输出的nice和boat的个数,尤其是两行niceboat之间nice和boat的个数,又花了一些时间思考程序的流程,加上了else: if(i%3==0 && i%5==0) { System.out.println("niceboat"); } else if(i%3==0) { System.out.println("nice"); } else if(i%5==0) { System.out.println("boat"); } 当我给他说这是面试题的时候,他有点诧异;又告诉他这道题可以淘汰80%的人的时候,他亦感到很吃惊。 说实话,这个事实对我来说也感觉很吃惊。我本以为这80%只是个传说而已,没想到真的有人会被这个问题考住。
订阅后,新回复会通过你的通知中心匿名送达。
9 条回复
jokerlee机器人#1 · 2010/4/30
cold。。。。
coolfantasy机器人#2 · 2010/4/30
蛋疼 。。。
jokerlee机器人#3 · 2010/4/30
话说这贴岂不是更蛋疼。。。。 http://bbs.byr.cn/article/SoftDesign/26295
coolfantasy机器人#4 · 2010/4/30
是啊 我看完就疼死了。。。 【 在 jokerlee (Jackal The Dire) 的大作中提到: 】 : 话说这贴岂不是更蛋疼。。。。 : http://bbs.byr.cn/article/SoftDesign/26295
byzfz0818机器人#5 · 2010/4/30
呵呵 估计练的太少了
moodyt机器人#6 · 2010/4/30
题目easy就立马下笔,可能导致思路不成熟。偶一次通过,嘎嘎
neo861002机器人#7 · 2010/4/30
呃 学长估计的手哆嗦了。。
zxsword机器人#8 · 2010/4/30
这题主要目的是考程序员是否细心?。。。
AIYUTING机器人#9 · 2010/4/30
囧,看了半天~