稀奇古怪面试题三则
在这一周,我的专栏更新的文章《从费米估算,到黑暗森林》中,我仔细向大家介绍了一类特殊的面试问题 —— 估算问题的思考思路。如果对我在慕课网上的专栏不了解的同学,可以参考这里:《正式邀请你,和我一起,用技术人的眼光,探索世界》。
那么在这一周的公众号推文中,我就再给大家分享3道“非典型”的面试问题:)
1.
先来一个不是太怪的问题,相信很多人都听过。
在一天的时间里,钟表的时针和分针会重合多少次?
解析:
答案是22次。
这个问题可以使用编程的方式,具体地求出这22个时针和分针重合的时间都在几点几分。不过,其实只需要稍微想一想,就能想出这个答案:)
大家可以思考一下,在午夜零点的时候,是一天里第一次时针和分针发生重合的时候。下一次在什么时候呢?因为第一分钟,分针就会直接越过时针,所以,在0:00-1:00之间,不可能再发生时针和分针重合的时候了。
下一次时针和分针发生重合的时候,一定是在1点多。具体多少我们可以不求了,但我们知道,1点多一定有一次时针和分针重合的时候。
那么再下一次呢?相信聪明的同学们很快就能想明白,在两点多的位置。
再下一次呢?是三点多。
依此类推。
大家可以思考一下,在时针走回12点之前,最后一次时针和分针重合的时候是什么时候?答案是在十点多,而不是11点多。11:00-11:59这段时间里,时针和分针不会再重合了。分针走过11:00-11:59这一圈的过程中,时针总会比分针更接近12点的位置,直到最后一分钟,时针和分针再次同时指向12点。
因此,在0:00-11:59这12个小时里,时针和分针一共重合了11次。这11次分别是零点;1点多;2点多;3点多;4点多;5点多;6点多;7点多;8点多;9点多;10点多。
那么在一天的时间里,一共24个小时,也就是时针要绕表盘转两圈,所以,一共重合了22次:)
有兴趣的同学可以尝试一下,具体用编程的方式(甚至用数学的方式?)求解一下这22次分别是什么时间:)
2.
你想要检验你的好朋友,同时也是计算机大牛的bobo老师是否知道你的正确的手机号码。
但是,小慕同学不让你接近bobo老师,只给你一张卡片,让你写一个问题给bobo老师。小慕会将这张卡片传给bobo老师,然后再将bobo老师的回答用这个卡片传回来。这一问一答的过程,你就需要判断出:bobo老师是否知道你的正确的电话号码。
但是,你并不希望小慕同学知道你的电话号码。可是,小慕同学一定会偷看你和bobo老师写在卡片上的内容的。
请问,你要怎么写这张卡片?
解析:
最中规中矩的方法,是使用校验算法(或者摘要算法,哈希算法,不可逆的加密算法,但不管怎样,核心是做校验。)你可以在卡片上写上任意校验算法名称,根据正确的手机号码得到的校验码,以及其他必须的校验信息(如果有的话)。由于bobo老师是计算机大牛,所以可以假设bobo老师可以看懂你写的任何校验算法,然后将他知道的手机号码相应地转换成校验码,和你提供的校验码作比较,之后回答校验成功或者失败就好了。
整个过程,小慕只能看到校验算法相关的信息和校验码,是不能反推出原始信息的。
但是,对于这个问题,其实可以直接在卡片上要求bobo老师根据他所知道的号码给你打一个电话,就能知道bobo老师手上的电话号码是否正确啦!
是不是发现,有些时候,跳出程序员思维,事情会更简单:)
3.
设计一个疏散旧金山市民的方案
(如果对旧金山不熟悉,可以把问题改变成:设计一个疏散北京城市民的方案,或者疏散你所在的城市市民的方案。)
解析:
面对这个问题,面试官希望听到你反问:具体是因为什么灾难,要疏散城市的市民?因为具体原因不同,灾难的情况不同,就可能对疏散计划有细节上,甚至是整体上的影响。在问清楚具体情况之前,任何设计方案都一定是不对的。
实际上,这种把问题搞清楚的能力,是职场的基本素质。很多时候,人和人的差距并不在具体的技术水平上,而是在这类“软”技能上。沟通是否有效?任务是否明确?目标是否清晰?很多时候,都将直接直接影响你的工作效率。之前,我写过一篇文章,《如何把技术做深?可能,这是一个错误的问题》,说的也是这个问题:)
最后,我必须要说:这些面试问题都是“非典型的”,这意味着其实你去外面找工作,遇到这样的问题,概率是很低的。在这里和大家分享,好玩为主。对于面试,关键还是要基础扎实。所以,大家在准备面试的时候,切不要把精力放在这些偏题怪题上,踏踏实实学好基础,真的是最快的捷径。
不信的话,我的公众号之前发送过一批“福利”,是一个HR小姐姐的团队整理的2019年今日头条Java后端的面试真题。在我的公众号后台输入“头条面试”即可领取。大家可以看一看,今日头条的面试真题,是不是没有偏题怪题?全都是稳扎稳打的“基础题”?
大家加油!:)
本文相关阅读推荐:
答读者问 | 这个年代,还有必要学英语吗?非说没必要,也没毛病
《是不是很酷》虽然只是一个个人公众号,但在用心做技术原创。每周至少一更,争取双更。希望一起陪你,用技术人的眼光,观察这个世界,探索这个世界。
这篇文章的“阅读原文”,将链接到我在慕课网的专栏《用技术人的眼光看世界》。对费米估算感兴趣的同学,不要错过这一周的更新哦:)