1、哈佛面试题及答案一最基本题型(说明:此类题型比较简单)1.烧一根不均匀的绳,从头烧到尾总共需要 1 个小时。现在有若干条材质相同的绳子,问如何用烧绳的方法来计时一个小时十五分钟呢?2.你有一桶果冻,其中有黄色、绿色、红色三种,闭上眼睛抓取同种颜色的两个。抓取多少个就可以确定你肯定有两个同一颜色的果冻?3.如果你有无穷多的水,一个 3 公升的提捅,一个 5 公升的提捅,两只提捅形状上下都不均匀,问你如何才能准确称出 4 公升的水?4.一个岔路口分别通向诚实国和说谎国。来了两个人,已知一个是诚实国的,另一个是说谎国的。诚实国永远说实话,说谎国永远说谎话。现在你要去说谎国,但不知道应该走哪条路,需要
2、问这两个人。请问应该怎么问?5.12 个球一个天平,现知道只有一个和其它的重量不同,问怎样称才能用三次就找到那个球。13 个呢?(注意此题并未说明那个球的重量是轻是重,所以需要仔细考虑)6.在 9 个点上画 10 条直线,要求每条直线上至少有三个点?7.在一天的 24 小时之中,时钟的时针、分针和秒针完全重合在一起的时候有几次?都分别是什么时间?你怎样算出来的?二没有答案型(说明:这些题显然不是考你智力。而考的是你的反应能力。这种题大多数没有答案,但是要看你的反应喽!)1.为什么下水道的盖子是圆的?2.中国有多少辆汽车?3.将汽车钥匙插入车门,向哪个方向旋转就可以打开车锁?4.如果你要去掉中国
3、的 34 个省(含自治区、直辖市和港澳特区及台湾省)中的任何一个,你会去掉哪一个,为什么?5.多少个加油站才能满足中国的所有汽车?6.想象你站在镜子前,请问,为什么镜子中的影象可以颠倒左右,却不能颠倒上下?7.为什么在任何旅馆里,你打开热水,热水都会瞬间倾泻而出?8.你怎样将 Excel 的用法解释给你的奶奶听?9.你怎样重新改进和设计一个 ATM 银行自动取款机?10.如果你不得不重新学习一种新的计算机语言,你打算怎样着手来开始?11.如果你的生涯规划中打算在 5 年内受到奖励,那获取该项奖励的动机是什么?观众是谁? 12.如果微软告诉你,我们打算投资五百万美元来启动你的投资计划,你将开始什
4、么样商业计划?为什么?13.如果你能够将全世界的电脑厂商集合在一个办公室里,然后告诉他们将被强迫做一件事,那件事将是什么?三难题(说明:这类题有一定难度,如果得不到答案,也不能说明什么。如果你想到了解题思路,那么答案马上就能出来。如果想不到思路,那么就别想解出来了。 )1.你让工人为你工作 7 天,回报是一根金条,这个金条平分成相连的 7 段,你必须在每天结束的时候给他们一段金条。如果只允许你两次把金条弄断,你如何给你的工人付费?2.有一辆火车以每小时 15 公里的速度离开北京直奔广州,同时另一辆火车每小时 20 公里的速度从广州开往北京。如果有一只鸟,以30 公里每小时的速度和两辆火车同时启
5、动,从北京出发,碰到另一辆车后就向相反的方向返回去飞,就这样依次在两辆火车之间来回地飞,直到两辆火车相遇。请问,这只鸟共飞行了多长的距离?3.你有四个装药丸的罐子,每个药丸都有一定的重量,被污染的药丸是没被污染的药丸的重量+1。只称量一次,如何判断哪个罐子的药被污染了?4.门外三个开关分别对应室内三盏灯,线路良好,在门外控制开关时候不能看到室内灯的情况,现在只允许进门一次,确定开关和灯的对应关系?5.人民币为什么只有 1、2 、5、10 的面值?6.你有两个罐子以及 50 个红色弹球和 50 个蓝色弹球,随机选出一个罐子, 随机选出一个弹球放入罐子,怎么给出红色弹球最大的选中机会?在你的计划里
6、,得到红球的几率是多少? 四超难题(说明:如果你是第一次看到这种题,并且以前从来没有见过类似的题型,并且能够在半个小时之内做出答案。只能说明你的智力超常)四第一题 . 五个海盗抢到了 100 颗宝石,每一颗都一样大小和价值连城。他们决定这么分: 抽签决定自己的号码(1、2 、3、4、5) 首先,由 1 号提出分配方案,然后大家表决,当且仅当超过半数的人同意时,按照他的方案进行分配,否则将被扔进大海喂鲨鱼 如果 1号死后,再由 2 号提出分配方案,然后剩下的 4 人进行表决,当且仅当超过半数的人同意时,按照他的方案进行分配,否则将被扔入大海喂鲨鱼 依此类推 条件:每个海盗都是很聪明的人,都能很理
7、智地做出判断,从而做出选择。 问题:第一个海盗提出怎样的分配方案才能使自己的收益最大化?第二题 . 一道关于飞机加油的问题,已知: 每个飞机只有一个油箱, 飞机之间可以相互加油(注意是相互,没有加油机) 一箱油可供一架飞机绕地球飞半圈, 问题: 为使至少一架飞机绕地球一圈回到起飞时的飞机场,至少需要出动几架飞机?(所有飞机从同一机场起飞,而且必须安全返回机场,不允许中途降落,中间没有飞机场)五主观题(说明:在以后的工作过程中,我们可定会犯这样那样的错误。既然错误已经酿成,损失在所难免,我们只能想办法把损失减少到最小。如果能巧妙地回答出这些问题,再发生错误的情况下。能让客户有最少的抱怨,公司有最
8、少的损失。 )1.某手机厂家由于设计失误,有可能造成电池寿命比原来设计的寿命短一半(不是冲放电时间) ,解决方案就是免费更换电池或给 50 元购买该厂家新手机的折换券。请给所有已购买的用户写信告诉解决方案。2.一高层领导在参观某博物馆时,向博物馆馆员小王要了一块明代的城砖作为纪念,按国家规定,任何人不得将博物馆收藏品变为私有。博物馆馆长需要如何写信给这位领导,将城砖取回。3.营业员小姐由于工作失误,将 2 万元的笔记本电脑以 1.2 万元错卖给李先生,王小姐的经理怎么写信给李先生试图将钱要回来?六.算法题(说明:这些题就不是什么花样了,考的是你的基础知识怎么样。再聪明而没有实学的人都将会被这些
9、题所淘汰。 )1.链表和数组的区别在哪里?2.编写实现链表排序的一种算法。说明为什么你会选择用这样的方法?3.编写实现数组排序的一种算法。说明为什么你会选择用这样的方法? 4.请编写能直接实现 strstr()函数功能的代码。5.编写反转字符串的程序,要求优化速度、优化空间。6.在链表里如何发现循环链接?7.给出洗牌的一个算法,并将洗好的牌存储在一个整形数组里。8.写一个函数,检查字符是否是整数,如果是,返回其整数值。 (或者:怎样只用 4 行代码编写出一个从字符串到长整形的函数?)9.给出一个函数来输出一个字符串的所有排列。10.请编写实现 malloc()内存分配函数功能一样的代码。11.
10、给出一个函数来复制两个字符串 A 和 B。字符串 A 的后几个字节和字符串 B 的前几个字节重叠。12.怎样编写一个程序,把一个有序整数数组放到二叉树中?13.怎样从顶部开始逐层打印二叉树结点数据?请编程。14.怎样把一个链表掉个顺序(也就是反序,注意链表的边界条件并考虑空链表)?解答与提示一最基本题型1.一要一头烧,一根从两头烧,再有一根做参照,两头烧完的记下位置(即烧到这里要半小时) ,把参照的那根从标记位置处剪开,取其中一段 A。 一头烧的那根烧完后(就是一个小时后) ,把 A 从两头开始烧,烧完后即为十五分钟,加起来共一小时十五分钟。2.4 个。3.大桶装满水,倒入小桶,大桶剩下 2
11、公升水。小桶水倒掉,大桶剩 2 公升水倒入小桶中,大桶再装满后,倒入小桶至小桶满,大桶即剩公升4.如果参加过类似于奥林匹克数学班的,都应做过这些题。问他你的国家怎么走,他肯定指向的是诚实国。5.12 个时可以找出那个是重还是轻,13 个时只能找出是哪个球,轻重不知。 把球编为 。 (13 个时编号为) 第一次称:先把与放天平两边, 一如相等,说明特别球在剩下 4 个球中。 把与作第二次称量, 如相等,说明特别,把与作第三次称量即可判断是是重还是轻 如说明要么是中有一个重的,要么是轻的。 把与作第三次称量,如相等说明轻,不等可找出谁是重球。 如说明要么是中有一个轻的,要么是重的。 把与作第三次称
12、量,如相等说明重,不等可找出谁是轻球。 二如左边右边,说明左边有轻的或右边有重的 把与做第二次称量 如相等,说明中有一个重,把与作第三次称量即可判断是与中谁是重球 如说明要么是中有一个轻的,要么是重的。把与作第三次称量,如相等说明重,不等可找出谁是轻球。 如说明要么是是轻的,要么中有一个是重的。 把与作第三次称量,如相等说明轻,不等可找出谁是重球。 三如左边右边,参照二相反进行。 当 13 个球时,第一步以后如下进行。 把与作第二次称量, 如相等,说明特别,把与作第三次称量即可判断是还是特别,但判断不了轻重了。 不等的情况参见第一步的6. 见下面的点 10 条线的情况是 123 456 789 148 159 247 258 269 357 368 7.注意是 24 小时不是小时。 首先考察时针与分针的情况,很容易看出分针转一圈与时针只重合一次,就是一小时一次。但 11 时与 0 时的分钟区内共享一个重合点,所只 24二没有答案型1.圆井盖掉不下去2.一千万3.顺时针方向。4. 5.十万个