专栏名称: 程序员之家
程序员第一自媒体,与你探讨码农人生路上遇到的各类泛技术话题,定期为你推荐码农人生思考、感悟以及启迪!
目录
相关文章推荐
程序员的那些事  ·  趣图:开发的常见借口之一 ·  6 天前  
程序员的那些事  ·  趣图:在我机器上好好的(Ծ‸Ծ) ·  6 天前  
程序猿  ·  “再见了 ... ·  5 天前  
51好读  ›  专栏  ›  程序员之家

全球顶尖公司的烧脑面试题,普通人一道都答不出来!

程序员之家  · 公众号  · 程序员  · 2017-06-04 21:59

正文

一些世界知名的企业在招聘时,可能会提供面试智力题,来筛选应聘者。那些越是大牌,越是有名的国内500强,乃至世界500强,给出的面试真是一般人都答不出来。

谷歌篇

以下5个问题,据说在谷歌的面试中,都曾用到过。看看你能答对多少?


球的重量


有8个球,其中1个比另外的要略重。在不用砝码的前提下,你最少要称几次,才能找出这个球?



沙漠尸体


一个人被发现死在沙漠里,手中捏着一根火柴,周围没有任何足迹,也没有其他线索。他是怎么死的呢?



罐子和水


你有不限量的水,还有两个罐子,容量分别是5升和3升。请精确的称量出4升水。



熊的颜色


你建造了一座房子,每面都朝南。突然,你发现一只熊。它是什么颜色?



药丸难题


医生给了病人两种药丸,每种两颗,两种药丸的成分不同,但外观一样,医生要求早上和晚上,每种药各吃一颗。现在药丸被混在了一起,难以分辨。如果病人没按照规定吃药或者不吃药,就会死亡。请问他要怎么做才能活下来?


答案如下:

1. 最少称两次:把所有的球分成三组,其中两组每组3个球,另一组2个球;首先,将3个球的两组进行称重,如果其中一组比较重,从这组球当中任选两个,再次称重,如果轻重不等,重的球就是你要找的。如果轻重相等,剩下那个球就是你要找的。如果第一次称重时两组球一样重,那么就把剩下一组的两个球进行称重,就能得到答案。


2. 男子是从飞机上坠落死亡的。可能是因为机械故障之类的原因,有部分乘客必须离开飞机,于是大家用火柴来抽签,而男子的运气不好,只能跳出飞机。


3. 先把5升的罐子装满,然后用罐子里的水来倒满3升的罐子,此时5升罐子中还剩5-3=2升水;倒掉3升罐子里的水,然后把5升罐子里剩下的2升水倒入3升罐子,再次把5升罐子装满水,并用它往3升罐子倒水,由于把3升罐子装满还需要1升水,因此5升罐子里的水量最终变成了5-1=4升水


4. 白色。因为只有在北极,才可能所有的墙都朝南。


5.虽然再去找医生,要求他重新开药,也不能说是错误答案。但聪明的答案是:把所有的4颗药丸都切开成相等的两半,然后早上和晚上,分别吃掉每颗药丸的一半。

微软篇

1. 此题被称为“世上最有心机的面试题”,这种题也只有微软才能想得出来了。


假设有一个直角三角形,斜边长10cm,从顶点到斜边作垂线,垂线长6cm(如下图所示),求直角三角形的面积。

乍一看是不是觉得超级简单,这不就是简单的“面积=(底*高)/2”吗?

注意,这是微软的面试题,这道题可是被称为“世上最有心机的面试题”,一定要知道微软是不会拿一个小学几何难度的题来选拔人才的!

答案揭晓:

根本不存在这么一个直角三角形!


直角三角形斜边所对的角是直角,因此,假设其斜边是一个圆的直径,其顶点就可能在圆周的任何一个点上。如果要作一条垂直于斜边的线,那就一定是垂直于圆的直径的线,也就是说,这条线是圆的半径,长度为5cm。


综上所述,这个直角三角形斜边的垂线最长是5cm,根本不可能是6cm。


2. 你让工人为你工作7天,回报是一根金条,这个金条平分成相连的7段,你必须在每天结束的时候给他们一段金条。如果只允许你两次把金条弄断,你怎样给你的工人付费?


答案如下:


分成比例1:2:4的三段,因为两次弄断就是三段,第一天你给1,第二天你给2,找回你1,你自己就有1和4,第三天再给1,自己剩下4,第四天给4,然后叫他把1.2找给你,第五天给1,第六天给2叫他1找给你,第七天把最后1给他。

IBM



IBM公司向来以高素质人才作为企业持续竞争力的保证。进入IBM公司是差不多每个IT人的梦想,这条IBM公司面试题给大家试试看。


假设村子中有50个人,每人有一条狗。在这50条狗中有病狗(这种病不会传染)。于是人们就要找出病狗。每个人可以观察其他的49条狗,以判断它们是否生病,只有自己的狗不能看。观察后得到的结果不得交流,也不能通知病狗的主人。


主人一旦推算出自己家的是病狗就要枪毙自己的狗,而且每个人只有权利枪毙自己的狗,没有权利打死别人的狗。第一天,第二天都没有枪响。到了第三天传来一阵枪声,问有几条病狗,如何推算得出?


答案如下,很烧脑:


第一种推论:


A、假设有1条病狗,病狗的主人会看到其他狗都没有病,那么就知道自己的狗有病,所以第一天晚上就会有枪响。因为没有枪响,说明病狗数大于1。


B、假设有2条病狗,病狗的主人会看到有1条病狗,因为第一天没有听到枪响,是病狗数大于1,所以病狗的主人会知道自己的狗是病狗,因而第二天会有枪响。既然第二天无枪响,说明病狗数大于2。


由此推理,如果第三天枪响,则有3条病狗。


第二种推论:


如果为1,第一天那条狗必死,因为狗主人没看到病狗,但病狗存在。

若为2,令病狗主人为a,b。 a看到一条病狗,b也看到一条病狗,但a看到b的病狗没死故知狗数不为1,而其他人没病狗,所以自己的狗必为病狗,故开枪;而b的想法与a一样,故也开枪。 由此,为2时,第一天看后2条狗必死。


若为3条,令狗主人为a,b,c。 a第一天看到2条病狗,若a设自己的不是病狗,由推理2,第二天看时,那2条狗没死,故狗数肯定不是2,而其他人没病狗,所以自己的狗必为病狗,故开枪;而b和c的想法与a一样,故也开枪。 


由此,为3时,第二天看后3条狗必死。


若为4条,令狗主人为a,b,c,d。a第一天看到3条病狗,若a设自己的不是病狗,由推理3,第三天看时,那3条狗没死,故狗数肯定不是3,而其他人没病狗,所以自己的狗必为病狗,故开枪;而b和c,d的想法与a一样,故也开枪。 


由此,为4时,第三天看后4条狗必死。


余下即为递推了,由年n-1推出n。 


第四天看时,狗已死了,但是在第三天死的,故答案是3条。

 



微信公众号内回复数字“1”

小编拉你进粉丝微信群

不是在文章评论里回