分享

程序员面试中的智力题 | 日志 | 果壳网 科技有意思

 jnstyle 2016-03-21

智力题当属最有争议的面试题之列,很多公司甚至明文规定面试中不得出现智力题。尽管如此,你还是会时不时地碰到它。为什么呢?因为人们对于智力题尚无明确的定义。

不过,好在哪怕你碰到了这类问题,一般来说它们也不会太难。你不需要做脑筋急转弯,并且几乎总有办法通过逻辑推理得出答案。很多智力题甚至还涉及数学或计算机科学的基础知识。

大声说出你的思路


遇到智力题时,切忌惊慌。就像算法题一样,面试官只不过想看看你会如何处理难题;他们并不期待你立即给出正确答案。只管大声说出解题思路,让面试官了解你的应对之道。

触类旁通


剔除技术层面的因素,智力题不外乎就是些算法题。其中,举例法、简化推广法、模式匹配法,以及简单构造法可能会特别有用。

面试题目


1. 有20瓶药丸,其中19瓶装有1克/粒的药丸,余下一瓶装有1.1克/粒的药丸。给你一台称重精准的天平,怎么找出比较重的那瓶药丸?天平只能用一次。

2. 有个8×8棋盘,其中对角的角落上,两个方格被切掉了。给定31块多米诺骨牌,一块骨牌恰好可以覆盖两个方格。用这31块骨牌能否盖住整个棋盘?请证明你的答案(提供范例,或证明为什么不可能)。

3. 有两个水壶,容量分别为5夸脱(美制:1夸脱=0.946升,英制:1夸脱=1.136升)和3夸脱,若水的供应不限量(但没有量杯),怎么用这两个水壶得到刚好4夸脱的水?注意,这两个水壶呈不规则形状,无法精准地装满“半壶”水。

4. 有个岛上住着一群人,有一天来了个游客,定了一条奇怪的规矩:所有蓝眼睛的人都必须尽快离开这个岛。每晚8点会有一个航班离岛。每个人都看得见别人眼睛的颜色,但不知道自己的(别人也不可以告知)。此外,他们不知道岛上到底有多少人是蓝眼睛的,只知道至少有一个人的眼睛是蓝色的。所有蓝眼睛的人要花几天才能离开这个岛?

5. 有栋建筑物高100层。若从第N层或更高的楼层扔下来,鸡蛋就会破掉。若从第N层以下的楼层扔下来则不会破掉。给你2个鸡蛋,请找出N,并要求最差情况下扔鸡蛋的次数为最少。

6. 走廊上有100个关上的储物柜。有个人先是将100个柜子全都打开。接着,每数两个柜子关上一个。然后,在第三轮时,再每隔两个就切换第三个柜子的开关状态(也就是将关上的柜子打开,将打开的关上)。照此规律反复操作100次,在第i轮,这个人会每数i个就切换第i个柜子的状态。当第100轮经过走廊时,只切换第100个柜子的开关状态,此时有几个柜子是开着的?

更多程序员面试技巧请参阅《程序员面试金典(第5版)》

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多