当前位置 : 首页 » 文章分类 :  开发  »  Java面试准备-(12)智力题

Java面试准备-(12)智力题

面试智力题总结


井盖为什么是圆的?

综合考虑

这个问题要从头说起。此问题最早出现在微软多个国家的面试题中 “Why manhole covers are typically round?” 问题本初是为了考察应聘者的想象力和应对能力,观察应聘者的思维取向。因为这个问题很多人平时不会在意,突然问你,无所谓答案是什么,看的是应聘者如何思考和回答。所以这个问题本没有标准答案,问题的目的是看这个应聘者是哪一种思维方式,从而判断应聘者更适合哪种工作。

  • 有些人会从哲学(philosophical)的角度来考虑,比如:
    井盖是圆的是因为井洞是圆的。-_- !!
    如果你的思维是这个角度,那么你是一个善于辩证、且突破传统思维的人。
  • 有些人会从工程(Engineering)和科学(Science)的角度来考虑问题,比如:
    圆的好制造,井盖铁合金浇注而成,机床加工、打磨也方便
    圆的受力更均匀不容易坍塌,可以参考圆顶建筑
    圆的好运输和施工,滚起来就可以动。城市标准排水井盖重达几十公斤,搬运时起码需要几个成年男子同时动作
    无方向性,所以无需对准和校对位置
    可以旋转锁定(比如法国的井盖,旋转四分之一周可以锁定,不易打开)
    如果你的思维是这个角度,那么你是一个理性的人,有着缜密的思维方式和理性科学的世界观。
  • 有些人会从历史成因(History Learning)的角度分析,比如:
    19世纪最开始工业化时,没有汽车,所以排水管道和矿藏管道先于柏马路的发展。
    建筑学和土木工程学中,井道都是圆形,因为圆形通道最有利于保持土壤的压力(Round tubes are the strongest and most material-efficient shape against the compression of the earth around them)。比如水井,矿井。所以平时看人跳井,没见过井是方的吧?所以圆形的井洞,配合圆形的井盖也就理所当然了。
    如果你的思维是这个角度,那么你是一个喜欢探究事物本质成因的人。
  • 有些人会从设计(Design)的角度来考虑问题,比如:
    圆的好看,更像邮票戳,可以设计上城市Logo
    圆的排水时可以形成好看的漩涡等等
    如果你的思维是这个角度,那么你是一个感性的人,有着独特的美学思维和设计才能。

所以,这个问题的初衷不是为了获取标准答案,而是为了判别应聘者的思维取向,给HR作为员工性格分析的参考,使得HR的本职工作更出色:“如何能最大化的优化公司的人力资源配置”。

理查德·范曼版

以下是理查德·范曼在微软面试时回答这个问题的情况。
面试官:现在我们要问一个问题,看看你的创造性思维能力。不要想得太多,运用日常生活中的常识,描述一下你的想法。这个问题是,下水道的井盖为什么是圆的?
范曼:它们并不都是圆的,有些是方的,的确有些圆井盖,但我也看过方的,长方的。
面试官:不过我们只考虑圆形的井盖,他们为什么是圆的?
范曼:如果我们只考虑圆的,那么它们自然是圆的。
面试官:我的意思是,为什么会存在圆的井盖?把井盖设计成圆形的有什么特殊的意义吗?
范曼:是有特殊意义,当需要覆盖的洞是圆形时,通常盖子也是圆的。用一个圆形的盖子盖一个圆形的洞,这是最简单的办法。
面试官:你能想到一个圆形的井盖比方形的井盖有哪些优点吗?
范曼:在回答这个问题之前,我们先看看盖子下面是什么。盖子下面的洞是圆的,因为圆柱形最能承受周围土地的压力。而且,下水道出孔要留出足够一个人通过的空间,而一个顺着梯子爬下去的人的横截面基本是圆的,所以圆形自然而然地成为下水道出入孔的形状。圆形的井盖只是为了覆盖圆形的洞口。
面试官:你认为存在安全方面的考虑吗?我的意思是,方形的井盖会不会掉进去,因此造成人身伤害?
范曼:不大可能。有时在一些方形洞口上也会看到方形的盖子。这种盖子比入口大,周围有横挡,通常这种盖子是金属质地,非常重。我们可以想象一下,两英尺宽的方形洞口,1到1.5英寸宽的横挡。为了让井盖掉进去,需要抬起一端,然后旋转30度,这样它就不受横挡的妨碍了,然后再将井盖与地平线成45度角,这时转移的重心才足以让井盖掉下去。是的,方形的井盖的确存在掉下去的可能,但可能性很小,只要对负责开井盖的人稍加培训,他就不会犯这样的错误。从工程学来看,井盖的形状完全取决于它要覆盖的洞口的形状。
面试官:(面有难色)我要与管理层谈点事情。(离开了房间) 10分钟后,面试官回来了。
面试官:我们推荐你立刻去推销部工作。

搞笑版

A:为什么井盖是圆的?
B:艹,如果是方的,你tm肯定又要问为什么是方的,那它总得有个形状吧


计算平均工资问题

五个同事决定计算他们的平均工资。在大家互相不告诉薪水的情况下,如何才能做到这一点?

方法一:
每个人把自己的工资随意拆成四个数的和,分别把四个数字告诉自己以外的四个人;
每个人手里收到四个数字,加起来,报出;
五个人的数字相加,即可得到五个人的总收入,除以5得到平均工资。
这个解法其实将工资拆分成2–5个数都行得通,不一定为4,而如果要去除报团因素,那么其实拆为五份才是最优解。这里要加一个条件,就是每人将工资值分为五份后,写在同样的纸上,各自均是通过抓阄的方式抽取一份数值,这样抽到的数值都是随机的,就算是有四个人想要抱团,也无法区分数值是属于谁,而他们如果互相通报,则是他们四个人的工资数额也都能得出,不可行。

方法二:
找个计算器,叫第一个人输入一个巨大的不规则的数,然后把自己的收入加上去,之后依次传给其他人,每人都把自己的收入加上之前的数。最后传回第一个人。第一个人再把最后的总和减去Ta选中的那个不规则数,然后除以人数,即可得到大家的平均。

报团漏洞:
可以用同样的方法求四人的工资平均值,以此推算第五人,这种方法同样可以三人报团,导致四人中有一人工资被暴露,以此类推。


三门问题

蒙提霍尔问题/三门问题(Monty Hall problem)

在某个电视节目比赛环节中,参赛者会看见三扇关闭了的门,其中一扇的后面有一辆汽车,选中后面有车的那扇门可赢得该汽车,另外两扇门后面则各藏有一只山羊。参赛者选定了一扇门,但未开启它,随后节目主持人蒙提霍尔(Monty Hall)开启了剩下的两扇门中的一扇并且发现后面是一只山羊,此时主持人会给予选手重新选择的机会。问题是:此时参赛者换另一扇门会否增加赢得汽车的机率?

假设你在参加一个抽奖游戏,主持人在三个小碗分下面放了1块钱、1块钱和10000块钱的筹码。你选中哪一个,你就可以领到对应的钱。当你选定一个碗之后,主持人翻开剩下两个碗里,下面有一块钱筹码的碗给你看。并且,给你一次机会选另外一只碗。请问:应不应该换?为什么?

涉及到概率的问题,如果想解释得通俗易懂,让非专业人士也能很容易明白,那就不适合引入太多的专业术语和概念。为了方便大家的理解,我的回答不会涉及任何特别专业的词汇。
我们先玩三个游戏吧。
游戏1.
有三个盒子,一个盒子里有钻石,其它两个什么都没有。你先选了一个盒子,放在你的书包里。主持人把另外两个放在他的书包里。这时候问你,要不要用你的书包换主持人的书包?
分析:你的书包只有一个盒子,主持人的书包有两个,很显然,主持人的书包里有钻石的可能性更大。所以应该选择换!
游戏2.
有三个盒子,一个盒子里有钻石,其它两个什么都没有。你先选了一个盒子,放在你的书包里。主持人把另外两个放在他的书包里。然后主持人从他的书包里扔掉一个没有钻石的盒子。这时候问你,要不要用你的书包换主持人的书包?
分析:主持人从他的书包里扔掉一个没有钻石的盒子,这个行为并不会改变书包里有钻石的概率。所以既然游戏1要换,那么游戏2同样要换。
游戏3.
有三个盒子,一个盒子里有钻石,其它两个什么都没有。你先选了一个盒子。然后主持人从另外两个盒子中扔掉一个没有钻石的盒子。这时候问你,要不要用你的盒子换剩下的那个盒子?
分析:游戏2相对于游戏3,唯一的不同是增加了“书包”这个概念,但其实有没有把盒子装入书包,并不会对结论产生影响,本质上游戏3和游戏2是同一个游戏。所以游戏3同样要换。 而游戏3就是题目中所描述的蒙提霍尔问题。
因此结论只有一个字:换。


村里病狗问题

一个村子里,有50户人家,每家都养了一条狗。现在,发现村子里面出现了n只疯狗,村里规定,谁要是发现了自己的狗是疯狗,就要在晚上将自己的狗枪毙。 但问题是,村子里面的人只能看出别人家的狗是不是疯狗,而不能看出自己的狗是不是疯的,如果看出别人家的狗是疯狗,也不能告诉别人。于是大家开始观察,第一天晚上,没有枪声,第二天晚上,没有枪声,第三天晚上,枪声响起(具体几枪不清楚),问村子里有几只疯狗?
(1)必须确定是疯狗才能杀
(2)杀狗用猎枪,开枪杀狗人人都听的见,没聋子.
(3)只能观察其他人家的狗是否得了疯狗病,不能观察自己的狗是否有疯狗病
(4)只能杀自己家的狗,别人家的狗你就是知道有疯狗病也不能杀.
(5)任何观察到了其他人家的狗有疯狗病都不能告诉任何人.
(6)每人每天去观察一遍其他人家的狗是否疯狗
现在现象是:第一天没有枪声,第二天没有枪声,第三天响起一片枪声.

答案:3条
分析:
第一天,如果每个人看到其他49只狗都活蹦乱跳,那么他都不用看自己的狗,根据前提1,每个人都明白,院子里至少有一只病狗,必然是自己的狗病了,那么根据条件2,第一天就会响枪。由于第一天没有枪声,说明假设不对,即:每个人看到其他49只狗都活蹦乱跳是不对的,反过来说每个人至少能够看到一只病狗。
现在的问题是:每个人都看到了至少一只病狗,可为什么没有响枪呢?因为病狗的主人看到的是别人家的病狗,如果他看到的病狗的主人枪杀了自己的狗,他会想:谢天谢地,我家的狗没病,在第一天,在他所看到的病狗的主人先枪杀他的狗之前,他是不敢贸然杀死自己的狗的,如果他这样做,反而会误导他所看到的那个病狗的主人,他会认为自己的狗没有病。第一天没有枪声,那么每个人都知道,院子里至少有两只病狗。
到了第二天,如果每个人都看到48只活蹦乱跳的狗和一只病狗,那么不用犹豫,自己的狗病了,杀吧。可第二天还是没有枪声,那么每个人都知道,院子里至少有三只病狗,那只能等到第三天。
到了第三天,如果每个人都看到47只活蹦乱跳的狗和两只病狗,那么不用犹豫,自己的狗也病了,杀吧。第三天传出一阵枪声,说明有三只狗被杀

我的分析:
由于病狗的个数大于等于1,
先假设有1条病狗,第一天白天,有49个人看到1条病狗,他们无法推断自己的狗是否病狗;这条病狗的主人看到49条好狗,根据至少一条病狗的条件,他肯定能推断出自己的狗是病狗,所以会在第一天晚上把自己的狗射杀。但是第一天晚上没枪声,所以至少有2条病狗。
假设有2条病狗,第二天白天,有48个人看到2条病狗,他们无法推断自己的狗是否病狗;这2条病狗的主人只看到1条病狗,由于第一天晚上没枪响,他们知道至少2条病狗,所以肯定能推断出自己的狗也是病狗,所以会在第二天晚上将自己的狗射杀。但第二天晚上没枪声,所以至少有3条病狗。
假设有3条病狗,第三天白天,有47个人看到3条病狗,他们无法推断自己的狗是否病狗;这3条病狗的主人只看到2条病狗,由于前两天晚上没枪响,他们知道至少3条病狗,所以肯定能推断出自己的狗也是病狗,所以会在第三天晚上将自己的狗射杀,符合题目中描述的第三天晚上枪响,响声为3声,也就是村里有3条病狗。


桶量水问题

一个7升的桶,一个11升的桶,如何称出2升水?
7升桶装满,导入11升桶,7升桶再装满,倒满11升桶,此时7升桶中剩余3升水。
清空11升桶,将7升桶中剩余的3升倒入11升桶,再将7升桶装满,倒入11升桶,此时11升桶中有10升水,有1升空余空间,再将7升桶装满,倒满11升桶,此时7升桶中剩余6升。
清空11升桶,将7升桶中剩余的6升倒入11升桶,此时11升桶中有5升空余空间,再将7升桶装满,倒满11升桶,则7升桶中剩余2升。


猜生日问题

小明和小强都是张老师的学生,假设张老师的生日是M月N日,2人都只知道张老师的生日是下列10组中一天:
3月4日 3月5日 3月8日
6月4日 6月7日
9月1日 9月5日
12月1日 12月2日 12月8日
但不知道具体是其中的哪个,张老师把月份M告诉了小明,把日子N告诉了小强,张老师问他们知道他的生日是哪一天吗?
小明说:如果我不知道的话,小强肯定也不知道。
小强说:本来我也不知道,但是现在我知道了。
小明说:哦,那我也知道了!
请根据以上对话推断出张老师生日是哪一天?
(假设小明和小强推理能力都超强)

0、首先分析这10组日期,经观察不难发现,只有6月7日和12月2日这两组日期的日数是唯一的。由此可知,如果小强得知的N是7或者2,那么他必定知道了老师的生日

1、小明说:“如果我不知道的话,小强肯定也不知道”。
小明能肯定小强不知道,那就说明N肯定不是7和2(因为7和2直接可以确定是6月7日和12月2日),所以自然小明拿到的M肯定不是6和12(如果小明拿到的M值(也就是老师生日的月份)是6月或12月,则有可能日期是7或2,那么此时小强肯定直接就知道了老师的生日,那么小明就不能说小强肯定也不知道)。

所以将所有的6月与12月排除,剩下的可能日期是:
3月4日 3月5日 3月8日
9月1日 9月5日

2、小强说:本来我也不知道,但是现在我知道了
当小强知道了小明拿到的是3或者9(小强根据小明的第一句话推理出来的),他马上就知道了准确日期,所以小强拿到的不可能是5(日期为5的话有可能是3月5日或9月5日,小强无法唯一确定),只能是1,4,8中的一个。

所以剩下可能的日期是:
3月4日 3月8日
9月1日

3、小明说:哦,那我也知道了!
小明根据刚才小强的话,也能推断出剩下的可能的日期只有
3月4日 3月8日
9月1日
而此时他直接说:“那我也知道了”,则月份肯定是9,否则月份是3的话,小明无法确定是3月4日还是3月8日。

所以老师的生日是9月1日,小明拿到9,小强拿到1


数星星问题

题目

A和B晚上无聊就开始数星星。每次只能数k个(20<=k<=30)A和B轮流数。最后谁把星星数完谁就获胜,那么当星星数量为多少时候A必胜?

解答

这种类型的题目见得非常多了,每次就换个数字,这次就给个一般化的解法吧。

从最简单的问题入手进行分析。有一堆石头,两个人轮流取,每次可以取1个,2个或3个。最后谁把石头取完谁获胜。问用什么策略来取胜。

假设经过前面在的一阵乱取XD,最后剩几个,你让对方取完,怎么保证你能把剩下的都取走?很直观的,剩下4个。对方无论拿1个,2个还是3个,你都能把剩下的取完。OK,往前推,只要每次石头的个数是4的倍数的时候,轮到对方取,他拿x个,你就拿4-x个,你就一定会获胜。设石头总数为n,必胜的策略如下:

  1. 如果n是4的倍数,让对方先拿。每次他拿x个,你就拿4-x个。
  2. 如果n不是4的倍数,你先拿。拿走一些,使剩下的石头数是4的倍数,然后同上。

好的,把问题一般化一下。假设我们每次可以拿的石头数量是[a, b],闭区间,表示最少要拿a个,最多只能拿b个。那么,又是一阵乱取,最后剩一点,让对方拿,对方拿完后,你一定能取完剩下石头的条件是:最后剩那一点的数量是a+b个。那么,对方最少拿a个,剩下b个,你可以取完;对方最多拿b个,剩下a个,你可以取完。对方拿x个,剩下的a+b-x你一定是可以取完的。这回必胜的策略如下,和上面略有不同了:

  1. 如果n是a+b的倍数,让对方先拿,每次他拿x个,你就拿a+b-x个。
  2. 如果n不是a+b的倍数,假设n=(a+b)*p + q,那么,你先拿。你要拿走q个,才能使剩下的石头是a+b的倍数,才能保证你赢。因此q要满足你能拿走的数量条件,即:a <= q <= b。

经常会遇到的特例,就是一次可拿1~m(即a=1,b=m)个石头,那么根据上面的策略,无论石头数量是多少,A都有必胜策略。因为对于不能整除(1+m)的数量n,有n=(1+m)*p + q,q是必然满足1 <= q <= m的。

OK,这道数星星的题目已经异常简单了。问的是星星数量为多少时A必胜。从上面的策略可知:当星星数量n可以整除50时,或者当n对50取余落在区间[20, 30]时,A必胜。(当然谁先拿要由A来决定)

让我们扩展一下,换个思路,如果最后取完石头的人输,那又该怎么解?还是老样子,我们每次可拿的石头数量是区间[a, b]。当最后取完石头的人赢,我们已经得出了A取胜的策略,那么要推出最后取完石头的人输其实并不难了。我们只需要留下最后a个石头给对方(B),而他最少又必需拿a个,因此他就输了。
策略如下:

  1. 如果n=a+(a+b)*p,让对方先拿,每次他拿x个,你就拿a+b-x个,最后必然剩下a个留给对方拿。
  2. 如果无法表示成上面的形式,即n=a+(a+b)p+q(q不等于0),那么你先拿,拿走q个,使n=a+(a+b)p,接下来就和1一样了。由于你每次能拿的石头数量是[a, b],因此q要满足:a <= q <= b。

特例:当a=1,b=m时,即每次能拿1到m个石头,无论石头总数n是多少,A都有必胜策略。因为此时n一定可以表示成n=1+(1+m)*p或是n=1+(1+m)p+q(1<=q<=m)。

再总结一下,如果有一堆石头,每次能取1到m个,那么无论石头数量n是多少,也无论最后拿完石头的人判定为赢还是输,只要A能决定谁先拿,他就一定有必胜策略。


先数到21问题

前段时间看了个视频,一个外国小伙在巴黎(为何我总觉得是在巴黎,评论区已指正为伦敦)地铁搭讪妹子,和妹子玩谁先数到21谁就输的游戏,从1开始数,可以数1-3个数字,谁数到21谁就输,妹子输了要 kiss。小伙先后和两个妹子玩都赢了,达成double kill成就。过了两天,公司几个人趁休市的时候一起抽烟,我提议玩这个游戏。有个数学系毕业的玩了两盘略一思索再玩就一直赢了。为了宇宙的和平,为了真实的爱与罪恶,我虚心逼问了数学系。他说:谁先数到16谁就赢,哦,不对,是数到四的倍数的赢,4,8,12,16,嗯,所以谁先数谁输,第一个数的只能数1或者12或者123,而第二人可以数到4,4已经奠定胜局。留下一脸懵逼的我。然后再看那个视频,小伙子每次都若无其事稳稳的数到4的倍数。

作者:潇潇暮雨
链接:https://www.zhihu.com/question/51452831/answer/128560245
来源:知乎
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。


概率题

两个人抛硬币,谁先抛到正面谁赢,先抛的人获胜的概率是?2/3
关于概率的面试题:http://blog.csdn.net/rudyalwayhere/article/details/7349957

1,2,3,…,2000,排成圆圈,从1开始,隔一个拿走一个,问最后剩下的是哪个?答案好像是1024

生男和生女的概率各为0.5,由于中国人重男轻女,生到男孩后就不生了,生到女孩后继续生,直到生出男孩为止,问n年后是男的多还是女的多?答案是男女比例1:1
推导:计算女男比例,如果第一胎是男孩则不需要再生了,这种情况下女男比例为0,该情况概率为1/2,如果第一胎是女孩而第二胎是男孩,则女男比例为1,该情况概率为1/4,以此类推….公式为Sn= 0*(1/2)+1*(1/2)*(1/2)+2*(1/2)*(1/2)*(1/2)+…+(n-1)*(1/2)^n ,n趋向正无穷,得到男女比例为结果为 1:1,其中通项为等差数列与等比数列之和,两边乘以等比数列的公比,利用错位相减法求和后取极限。
问为何现在社会上男多女少?因为通过B超发现是女孩时很多人选择堕胎,所以男多女少。
http://www.zhihu.com/question/19821790


烧香计时问题

不均匀的香,整个烧完要1小时
问如何烧香计时1小时45分钟?
计时1小时45分钟最少用多少只香?
两头同时开始烧


海盗夺宝问题

智力题:5个海盗怎么分100颗宝石? 5个海盗抢到了100颗宝石,每一颗都一样的大小和价值连城。 他们决定这幺分: 1。抽签决定自己的号码(1,2,3,4,5) 2。首先,由1号提出分配方案,然后大家5人进行表决,当且仅当超过半数的人同意时,按照他的提案进行分配,否则将被扔入大海喂鲨鱼。  3。如果1号死后,再由2号提出分配方案,然后大家4人进行表决,当且仅当超过半数的人同意时,按照他的提案进行分配,否则将被扔入大海喂鲨鱼。 4。以次类推。   
条件: 每个海盗都是很聪明的人,都能很理智的判断得失,从而做出选择。   
问题: 第一个海盗提出怎样的分配方案才能够使自己的收益最大化?

1号海盗分给3号1颗宝石,4号或5号海盗2颗,独得97颗。分配方案为:97,0,1,2,0 或 97,0,1,0,2。
推理过程:从后向前推,如果1—3号海盗都喂了鲨鱼,只剩4号和5号的话,5号一定投反对票让4号喂鲨鱼,以独吞全部宝石。所以,4号唯有支持3号才能保命。3号知道这一点,就会提出(100,0,0)的分配方案,对4号、5号一毛不拔而将全部宝石占为己有。因为他知道4号一无所有但还是会投赞成票,再加上自己一票他的方案即可通过。不过,2号推知到3号的方案,就会提出(98,0,1,1)的方案,即放弃3号,而给予4号和5号各一颗宝石。
由于该方案对于4号和5号来说比在3号分配时更为有利,他们将支持他不希望他出局而由3号来分配。
这样,2号将拿走98颗宝石。不过,2号的方案会被1号所洞悉,1号将提出(97,0,1,2,0)或(97,0,1,0,2)的方案,即放弃2号,而给3号一颗宝石,同时给4号(或5号)2颗宝石。由于1号的解决方案对于3号和4号(或5号)来说,相比2号分配时更优,他们将投1号的赞成票,再加上1号自己的票,1号的方案通过,97颗宝石可以轻松落入囊中。这无疑是1号能够获取最大收益的方案了。


天平称球问题

有八个大小相同的球,其中7个重量相等,有一个稍微重一点.如何用天平仅称两次就能确定哪个球更重?
(1)先拿出其中6个球,平均分放到天平两端。
(2)如果天平平衡,则比较剩下两个球即可。
(3)如果天平不平衡,则选重的那边任意两个球做比较。
(4)如果一样重,则剩下的那个求就是最重的,如果天平不平衡,则天平往哪边倾斜就是哪边重。


其他

空瓶换汽水问题,注意换来的汽水喝完后还有空瓶

2468和3579有多少相同点?
有五个,一:都是阿拉伯数字。二:都是四位数。三:都是整数。四:都是正数。五:相邻两数的差相等。

一昼夜内时针分针重合次数为22次


上一篇 Spring-AOP

下一篇 Java面试准备-(11)计算机基础

阅读
7,502
阅读预计26分钟
创建日期 2018-06-01
修改日期 2018-12-13
类别
标签
百度推荐