史上最难的面试谜题

史上最难的面试谜题

你曾经在应聘一份编程工作的面试中被问及一些解谜类的问题吗?反正我碰到过。我被问到的那个问题是:

你最喜欢的那个牌子的苏打,有多少是在这个州被消费的?

拜托,正确的答案不能是"关我什么事",除非你不想得到这份工作了。我当时对这个问题毫无头绪,后来才知道这是一个"费米 问题"(Fermi Question)。

谜题作为一种新生事物,在20世纪90年代的程序员面试里风靡一时。这在《如何移动富士山?》(《How Would You Move Mount Fuji?》)一书中有很好的记载,书中还强调微软公司在招聘过程中就使用了谜题。

如果你已经知道你将去应聘的公司会问这类谜题,预先研究一下常见的面试谜题是很明智的。如果你觉得你已经对一般的谜题很在行了,那我就要来考验你一下,看看下面这道史上最难的面试谜题吧:

3个海盗把100名囚犯分别关在100间牢房里,其中一名囚犯将在早上走跳板(海盗处死俘虏的一种办法)。每名囚犯有10瓶葡萄酒,其中1瓶是有毒的;每个海盗有12枚硬币,其中1枚是伪造的,它比真硬币或重或轻。每个牢房里都有一个开关,囚犯可以不碰它,也可以把它翻转过来。在被带入牢房之前,囚犯们都被戴上了红帽子或者蓝帽子;他们可以看到其他所有囚犯的帽子,但就是看不到自己的。同时,一个6位素数这么多的猴子在不停繁殖,直到它们的数字翻转过来,然后所有猴子都要借助一只独木舟横穿过河,而独木舟一次至多只能载两只猴子。不过,半数的猴子总是说谎,而另外一半的猴子总是说真话。现在假设,第N名囚犯知道猴群中有一只猴子,它不知道:第(N+1)名囚犯在知道了哪瓶酒有毒和他所戴帽子的颜色之后,海盗只有知道了这名囚犯是否翻转了他房间里的开关,才能知道1~100之间两个数的乘积。怎么来解这个谜题?

换句话说,我讨厌谜题!(但愿那些谜题狂热者都能解答出来……)在意料之中,我没有通过那次面试。我当时很失望,因为那份工作还是挺酷的!

倒不是说我在"与程序员面谈"一节里给出的建议会更受欢迎,但我确实认为那要好得多!

在前面,我给大家介绍了一种我自创的方法,那也是面试程序员最理想的方式:让候选人在你的团队面前就他们做过的某样东西做15分钟闲聊式的演讲。你当然还可以用一些实际的需要动手的编程测试来作为补充,以确保那位候选人不是在招摇撞骗-尽管我坚信,如果你不是真的理解你正在谈论的东西,你是不可能在一个技术性演讲里糊弄一群同人的。(如果你真能这么糊弄,你现在应该已经成为一家创业公司的CEO了!)

我在这里要强调的是沟通能力。对于大部分程序员来说,在他们通过了"Fizz-Buzz"级别的能力测试之后,他们看起来已经相当不错了。但只会写代码还不够。如果想从优秀发展到卓越,你必须培养起有效沟通的能力:与你的同事沟通,与你的老板沟通,与用户沟通,最终与全世界沟通。

因为我们第一个小孩的出生,我和我的妻子在一家医院里待了5天。在住院期间,我们得到了很多名护士的协助-每天至少两名不同的护士,有时还会更多,因为我们要去不同的科室就诊,而且护士每天还有换班。这家医院的护理质量总体来说是相当高的,但我们也为从最差的护士那里和最好的护士那里分别得到的护理之间的差距倍感困惑。几天之后,我终于发现了一个共性-最差护士的沟通能力必定是最差的!这些护士无法跟我们进行有效的沟通,比如:

为什么她们需要做某事

可选方案有哪些

提供建议

解决我们的问题

这让我们觉得,她们都是些死板的、只知道照章办事的人,她们不会照顾人,或者她们没有主见(必须不断地请示上级)。当然,事实不是这样的。我相信,她们都是完全合格的专业护士。但在沟通方面,她们看起来确实很糟糕!我还得说句公道话,这些护士常常(也不总是)不是本地人(她们的母语不是英语)。

即使在最佳的条件下,招聘也不是件容易的事!但如果让面试流程太过依赖于谜题就太冒险了。当然,程序员们最终可能把你扔给他们的蹩脚谜题解决了(我猜他们也许只是记住了答案)。但是,把那些解决方案有效地解释给团队中的其他人听,难道不同样重要吗?对于很多程序员来说,那才是谜题中最难的部分。

第5章 促使团队紧密协作

不管怎么说,那总是人的问题

作者在Twitter上发的一条短讯:

"不要恨程序员!恨代码就好了。"

11:16 AM - 2012-5-18

Bruce Eckel 巧妙地指出了所有软件开发问题的根源:

我们身处一个新兴产业中。很原始,真的-我们对真正有用的东西知之甚少,而且我们总是认为我们已经找到了可以解决一切问题的"银弹"。结果呢?这么多年来我们一直在经历从繁荣到萧条的轮回:新的想法出现、进一步发展、失去控制、偃旗息鼓。不过,有些理念似乎有持久力。例如,敏捷方法论里的很多理念看起来在生产力和质量方面正在产生着实质性的影响。这是因为它们更多关注了在一起工作的"人"的问题,而更少关注"技术"的问题。

我从Gerald Weinberg那里学到了很多。他最早写的几本书都是关于编程技术的。后来他转变了方向,撰写了(包括与人合写)50多本关于软件开发流程的书。他还有一句名言:"不管他们告诉你什么,那总是人的问题。"

项目的成败通常都是因为流程和人员的问题-你每天的工作方式;你的架构师、你的经理以及和你一起工作的编程团队成员;你是如何沟通的,最重要的是,当流程和人员出现问题时,你是如何解决它们的。让你陷入困境最快的方法,就是认为技术是决定性的因素,而且你相信你能轻易解决其他方面的问题。事实上,那些其他方面的问题最可能让你止步不前。

Bruce把Gerald Weinberg的原话记错了,它应该是"不管什么问题,那总是人的问题"。但是,Bruce的重述有一种不可言喻的真实感,当然也忠实于Gerald Weinberg原话的精神。

假设我现在有个任务,要去判断你的软件项目是否会失败。我手上有3个问题,当我得到你对它们的回答时,我几乎可以肯定地宣判你的项目结果:

1.你的团队将会写多少行代码?

2.你们在开发什么样的软件?

3.你喜欢你的同事吗?

最后的那一个问题不是笑话。我是在说正经的。从个人角度出发,你是否喜欢你团队成员的陪伴?你是否在专业上尊重你的团队成员?假设你换工作到了另一家公司,你是否会邀请你的同事一起过去?你们是否有令人振奋的团队讨论,还是那种打倒、拖出去,直到最后一个站着的强人说了算的争论?在你的团队里,是否有你想要"投票赶下岛"的人(如果你可以这么做的话)?

让你关注跟你一起工作的"人",而不是那些实实在在的事情(例如,实际的工作或者你工作中所用的特定技术),这听起来可能有点本末倒置,但事实上并非如此。我发现,从你选择的跟你一起工作的人身上能最准确地预测工作满意度。而根据我以前的经验,工作满意度和成功有着密切的联系。我还从来没有看到过一个快乐、健康、有凝聚力、社交正常的软件开发团队失败过呢!遗憾的是,这样的团队太少了。

就像Gerald Weinberg所说的,那总是"人"的问题。如果你不是和你喜欢的人、你尊敬的人、会挑战和激励你的人一起工作,那你为什么不去找到这些人呢?是什么在阻止你?

时间: 2024-12-30 14:42:01

史上最难的面试谜题的相关文章

大学生就业遭遇史上最难季培训机构有新商机?

多知网4月28日消息 有关大学生今年就业形势的报道近日频繁出现,在整体经济增速放缓,就业岗位需求减少的情况下,今年被称为"史上最难毕业季".2013年大学毕业生达到699万,创建国以来新高.不过,就业问题已经显现.据<北京日报>报道,截至四月中旬,北京地区高校毕业生签约率尚不足三成.学生对于整个学习环节而言,拥有一份好工作才是最终极的目标.如果能辅导学生找到一份好的工作,从市场来讲,显然不是一个小生意.这似乎是培训业的一个商机.IT培训业就是个不错的参考.由于中国大学的教材

史上最难的游戏2图文攻略(1-10关)

第1关] 第一关最简单容易,只需要玩家按下电视右下角的红色圆形开关即可通关,可不要看小人手上有老虎钳要去修电线,那样会被电死. [第2关] 第二关的通关技巧就是点击主角的眼睛,就可以看到主角拿起墨镜男手上两个药丸放在眼睛上面就跑了,这样就成功通关了.   第3关] 第三关的通关技巧就是点击右边厕所的标志,就可以看到图中的三角形图标向下了,然后再点击右边厕所门的把手就通关了. [第4关] 第四关的通关技巧就是点击主角的头,他会切换不同道具,你点击让他切换到防毒面罩,在把左边的管道接起来,即可通关.

史上最难连连看游戏:韩国小姐连连看iOS版

&http://www.aliyun.com/zixun/aggregation/37954.html">nbsp;   近日,iTunes上的一款名为"韩国小姐连连看"突然之间火了起来,游戏打出了"不红不革命!!不火不高兴!!史上最难连连看,挑战你极限!"的口号,究竟这款游戏有何特别之处呢? 原来,这款游戏的创意源自前段时间被广大网友吐槽众"佳丽"集体撞脸的"2013第57届韩国小姐大选",游戏中的图

史上最难游戏攻略第1、2、3关

[史上最难游戏攻略第1关] 本关比较简单,如下图点击中间的嘴巴即可过关,没有任何的难度. [史上最难游戏攻略第2关] 首先把靶子移动到前面来(如下图),然后点击枪即可射击,这样就可以过关了! [史上最难游戏攻略第3关] 本关比较简单,点击中间的乌云并向右拖动,让月亮露出来即可. [史上最难游戏攻略第4关] 本关没有任何难度,连续点击左边的矮个子,直到出现救护车.

绝对是精髓!!史上最难跑步游戏 QWOP 错误版模仿,你已经超神了!!

class="post_content" itemprop="articleBody"> 不知道大家有没有玩过 QWOP 游戏,这个游戏是堪称史上最难的跑步游戏,此游戏只能用到 Q.W.O.P 这四个按键,要跑一百公尺,中途还会碰到栅栏.沙坑,接近终点的时后还要大力跳跃才完成整个赛跑-- 但是很多玩家都没法继续这个游戏,因为实在是太难了!!基本上你都走不了几步,就直接倒下了.最近,有位日本网友模仿了 QWOP 的错误版,模仿得太传神了! QWOP 的错误版模仿

“史上最难抢票季”已开幕 抢票软件成勒索“利器”

号称"史上一票难求"的春运抢票季今日开启,抢票软件也自然成为抢客们的获胜利器.然而,很多抢票软件表面上标榜着高成功率,实际上却是山寨软件,一旦感染消费者操作系统,就会窃取联系人.短信.通话记录等个人信息,还可能推送恶意广告或是执行其它恶意行为.趋势科技建议用户在使用这些抢票软件的时候,要注意核实软件的安全性,并使用安全可靠的防护软件.  由于抢票软件的广泛使用,因此很少会有不法分子会"另起灶炉",制作新的恶意软件,而是会通过仿造知名抢票软件的方式,诱导用户下载,这些

挑战你的IQ 史上最难游戏合辑篇

测量你的反应力<极难游戏2>近日有一款名为<史上最牛的游戏2>的益智游戏是相当的火热,这款游戏是在清明节前期间上架,上架后就受到了很多益智玩家们的追捧,小编坐地铁时都能看到很多朋友在玩.游戏主要是考验玩家的反应时间和分辨力,看来这种具有一定难度的益智游戏相当能勾起玩家们的挑战欲望.今天小编就给朋友们推荐几款益智IQ游戏,如果你觉得<史上最牛的游戏2>还不够牛的话,不妨都挑战下吧! 游戏名称:<史上最牛的游戏2>价格:免费点击下载更新日期:2013年4月23日

史上最难开发软件54年终发布 曾能取代WEB

6月8日消息在软件行业,软件的延期跳票不算新闻,但是最近,美国的一个软件创造了产品跳票的新纪录--这款1960年开发的软件,开发了54年才最终发布,开发者发明了超文本概念,他也错过了取代互联网WEB的大好机会.这款软件的名称叫做OpenXanadu,其实也是一种文档形式,用户可以看到最终的文档,以及所有文字来源的原始文档.文档保存和呈现的原理,类似于互联网万维网WEB的工作模式,只不过在WEB中,其他的HTML文档分布在不同的服务器上,只需要通过URL链接,标注出位置.今年四月份,在美国Chap

史上最难游戏第16到20关攻略

[第16关] 点击下图3个红色框中的船杆,折断船帆即可过关. [第17关] 点击两次左下角的转盘,然后点击滑雪车即可过关. [第18关] 按照下图标注的顺序去点击"Ⅰ",然后小人物就会变成第一名了,这样就过关了. [第19关] 1.如下图,把右边山上的木棍拖动到火盘上点燃: 2.把点燃的木棍拖动到人物的屁股上,然后再点击一下人物的屁股,这样他的屁股就着火了. [第20关] 如下图,点击右边人物头上的叶子即可过关.