现在,想在分析行业里分得一杯羹是非常不容易的事情。约三成的分析公司(特别是顶尖公司)会要求应聘者解决谜题,并借此评估他们的能力。从中他们能够观察出你是否逻辑清晰,思维活跃,且精通数字处理。
如果你能通过独特视角看待并解决商业难题,那么你就能从众多应聘者中脱颖而出。但是这种解决问题的能力不是一朝一夕得来的,需要有计划地训练和长期的坚持。
对我来说,解决谜题就像是脑力训练。我每天都会做,长期下来我觉得效果显著。为了帮助你也达到这种效果,我和你们分享一些我遇到过的最复杂最费解的问题。这些问题在一些大公司的面试中也出现过,如高盛投资、亚马逊、谷歌和摩根大通公司等。
解题之前不要偷瞄答案哦!
20个面试谜题
#1硬币口袋问题
你手里有10枚装满硬币的口袋。每个袋子里硬币的数量是无限的。但是其中一袋硬币全是假的,而你记不起来具体哪一袋是假的了。已知真硬币每个重量为1克,假硬币每个重量为1.1克。如何在尽可能少称重的情况下找出这袋假硬币呢?(提供一台电子秤)
答案:称1次
将10个袋子编号1-10,从1号袋子取出1枚硬币,2号袋子取出2枚硬币,3号袋子取出3枚硬币……最后,你的手里会有55枚硬币(1 2 3 … 9 10)。现在,将这55枚硬币全部放到秤上称重。读取电子秤读数来判断哪一袋是假硬币。如读数的小数位是4,则第4袋是假的,如读数的小数位是7,则第7袋是假硬币
#2囚犯与帽子
有100个死刑犯。在执行死刑的前一天晚上,典狱官告诉他们如果他们能合力解决一个难题,那么就免除他们死刑。执行死刑的方案如下:
在执行死刑的那天,所有的罪犯都会站着排成一列纵队。每个人都会带上一顶帽子,要么蓝色要么红色。他们都不知道自己头上戴的是什么颜色的帽子。站在最后的罪犯会看到前面所有人帽子的颜色,同样,每一个罪犯都能看到站在自己前面所有人帽子的颜色。而站在最前面的人什么都看不到。
刽子手会挨个问罪犯他们头上的帽子是什么颜色,从队伍最末位开始问起。每个罪犯只能说“红色”或者“蓝色”,除此之外什么都不能说。如果他说对了,则免除死刑,说错了就会被立刻枪决。所有的罪犯都能听到站在自己后面的人回答的答案,也能听到他们是否被枪决。
假设所有的罪犯都非常机智,并愿意按计划行事,他们能在一夜之间做出怎样的计划来尽可能让更多人活下来呢?
答案:
方法就是,站在最后的人看前面所有人帽子的颜色,如果红色帽子数量为奇数,他就说“红色”,如果蓝色帽子为奇数,他就说“蓝色”。同样,站在倒数第二位的人看他前面的帽子颜色,如果红色帽子数量为奇数,则他戴的就是蓝色,如果蓝色帽子数量为奇数,则他戴的就是红色。后面的以此类推。
#3盲人游戏
假设你在一个黑暗的房间里,屋里有个桌子。桌子上有50枚硬币,其中10枚背面朝上,40枚正面朝上。请将这50枚硬币分成两堆(不一定是两等分),使得每一堆硬币中有相同数量的硬币背面朝上。
答案:
将硬币分为两堆,一堆40枚,一堆10枚。把10枚硬币的那一堆每一枚硬币都翻一面。
#4沙漏问题
你的手里有两个沙漏,一个计时4分钟的,一个计时7分钟的。运用这两个沙漏(两个一起用或一次一个或其他组合方式),计出9分钟的时间
答案:
同时开始7分钟和4分钟沙漏的计时
当4分钟沙漏计时结束之后马上翻转过来继续计时
当7分钟沙漏计时结束之后马上翻转过来继续计时
当4分钟沙漏计时再次结束之后将7分钟沙漏翻转过来(现在7分钟沙漏中只有一分钟的沙量了)
所以可以得出4 4 1=9
#5巴士难题
一辆巴士上有1-100标号的座位,同时,有100个人排队等候上车,同样标号1-100。
这些人按序上车,从1到n。规则如下:序号为i的人上车,如果座位号为i的座位是空的,他就可以坐在那,如果不是空的,则他随机挑选座位就坐。假设第1个上车的人随机挑选座位就坐,那么第100个人上车坐第100号座位的概率是多少?
答案:
最终的答案是1/2。原因如下:
首先,最后一个人的座位取决于1号座和100号座是否被占了。因为最后一个人坐的位置不是1号就是100号座。其他的座位都会在最后一个人上车之前被占掉。
因为每一个人选择的时候,1号座和100号座都同样可能被占,最后一个人坐上1号和100号座的概率相等,都是1/2 。
#6痴汉怪圈
有N个人围成一个圆圈,按顺时针顺序将他们排成1号到N号。每个人手里有一把枪,可以用来射击左手边的那个人。从1号开始,他们开始按顺序射击。例如:设N=100, 1号开枪打死2号,3号打死4号,5号打死6号……99号打死100号,然后1号打死3号,5号打死7号……一直进行到只有一个人活着。那么这个人的编号是多少?
答案:
设N=100,将100用二进制表示出来,即1100100,取其补码,即11011,换算成十进制就是27。用100减去补码的27,得到73. 那么最后活下来的人编号为73
再设N=50,50的二进制为110010
其补码为1101,即13,因此最后一个人的编号为50 – 13 = 37
若N=2^n,那么最后一个人的编号就是1. 例如:N=64,64 = 1000000,其补码为111111 = 63,所以64-63 = 1. N可以是任意非负整数。
#7旋转餐桌难题
在一张方形的旋转餐桌的四个角上分别摆放了4个玻璃杯。一些杯子底朝上,一些底朝下。
一个被蒙住眼睛的人坐在这张旋转餐桌便,他要重新摆放这些杯子,使它们通通底朝上,或全部底朝下。(当所有杯子朝向一致时,摇铃示意)
他可以根据以下规则重新摆放这些杯子:一次只能看两个杯子,在摸清楚这两只杯子的朝向只有,可以选择动1个,或2个,或者2个都不动。每一轮结束后,旋转餐桌都会随机转动。
这道谜题就是要你设计出一种算法,可以使这个被蒙住眼睛的人在有限的游戏轮数内将所有的杯子转成同一朝向(要么都朝上,要么都朝下)。要求得出确定性算法,而非概率性算法。
答案:
这个算法要保证在5轮之内摇铃,即达成任务。
第一轮翻杯子,选择对角线上的2个杯子并将它们都底朝下摆放。
第二轮,选择同一条边上相邻的2个杯子。根据上一步的动作,这2个杯子至少有一个是底朝下的。如果有一个是底朝上的,则将其翻转过来,使底朝上。如果这时没有响铃,那么现在肯定有3个杯子底朝下,1个底朝上。
第三轮,选择对角线上的2个杯子,如果其中一个是底朝上的,将其翻转过来,这时铃就会响。如果2个都是底朝下,将其中一个翻转过来。现在就有2个杯子底朝上,而且它们肯定是一条边上相邻的2个杯子。
第四轮,选择同一条边上相邻的2个杯子,将它们全部翻转。如果翻转后它们的朝向相同,此时就会响铃。如果没有响铃,说明还有2个杯子底朝上,而且它们一定在对角线上。
第五轮,选择对角线上的2个杯子,并将它们全部翻转过来,此时一定响铃。
翻译:灯塔大数据