风歌的blog

已搬家到 blog.imxjf.top
  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

微软的应试题完整版(附答案)

Posted on 2005-06-27 18:40  风歌  阅读(2445)  评论(4编辑  收藏  举报
微软的应试题完整版(附答案) 
                                  微软的应试题

【转载自 西安电子科技大学 bbs 雁塔晨钟   研版】

【说明:1. 转载此贴只为共同探讨和娱乐,本人不负任何责任

             2. 如果有高手或者知道答案,或者对某些题答案有更新见解者,欢迎共同讨论

             3. 感谢原贴主:Maldini  

 】

一.最基本题型(说明:此类题型比较简单) 

1.烧一根不均匀的绳,从头烧到尾总共需要1个小时。现在有若干条材质相同的绳子,问如 
何用烧绳的方法来计时一个小时十五分钟呢? 

2.你有一桶果冻,其中有黄色、绿色、红色三种,闭上眼睛抓取同种颜色的两个。抓取多少 
个就可以确定你肯定有两个同一颜色的果冻?(5秒-1分钟) 

3.如果你有无穷多的水,一个3公升的提捅,一个5公升的提捅,两只提捅形状上下都不均匀 
,问你如何才能准确称出4公升的水?(40秒-3分钟) 

4.一个岔路口分别通向诚实国和说谎国。来了两个人,已知一个是诚实国的,另一个是说谎 
国的。诚实国永远说实话,说谎国永远说谎话。现在你要去说谎国,但不知道应该走哪条路 
,需要问这两个人。请问应该怎么问?(20秒-2分钟) 

5.12个球一个天平,现知道只有一个和其它的重量不同,问怎样称才能用三次就找到那个球 
。13个呢?(注意此题并未说明那个球的重量是轻是重,所以需要仔细考虑)(5分钟-1小 
时) 

6.在9个点上画10条直线,要求每条直线上至少有三个点?(3分钟-20分钟) 

7.在一天的24小时之中,时钟的时针、分针和秒针完全重合在一起的时候有几次?都分别是 
什么时间?你怎样算出来的? 

二.没有答案型(说明:这些题显然不是考你智力。而考的是你的反应能力。这种题大多数 
没有答案,但是要看你的反应喽!) 

1.为什么下水道的盖子是圆的? 

2.中国有多少辆汽车? 

3.将汽车钥匙插入车门,向哪个方向旋转就可以打开车锁? 

4.如果你要去掉中国的34个省(含自治区、直辖市和港澳特区及台湾省)中的任何一个,你 
会去掉哪一个,为什么? 

5.多少个加油站才能满足中国的所有汽车? 

6.想象你站在镜子前,请问,为什么镜子中的影象可以颠倒左右,却不能颠倒上下? 

7.为什么在任何旅馆里,你打开热水,热水都会瞬间倾泻而出? 

8.你怎样将Excel的用法解释给你的奶奶听?   

9.你怎样重新改进和设计一个ATM银行自动取款机? 

10.如果你不得不重新学习一种新的计算机语言,你打算怎样着手来开始? 

11.如果你的生涯规划中打算在5年内受到奖励,那获取该项奖励的动机是什么?观众是谁? 


12.如果微软告诉你,我们打算投资五百万美元来启动你的投资计划,你将开始什么样商业 
计划?为什么? 

13.如果你能够将全世界的电脑厂商集合在一个办公室里,然后告诉他们将被强迫做一件事 
,那件事将是什么?   

三.难题(说明:这类题有一定难度,如果得不到答案,也不能说明什么。如果你想到了解 
题思路,那么答案马上就能出来。如果想不到思路,那么……就别想解出来了。) 

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

2.有一辆火车以每小时15公里的速度离开北京直奔广州,同时另一辆火车每小时20公里的速 
度从广州开往北京。如果有一只鸟,以30公里每小时的速度和两辆火车同时启动,从北京出 
发,碰到另一辆车后就向相反的方向返回去飞,就这样依次在两辆火车之间来回地飞,直到 
两辆火车相遇。请问,这只鸟共飞行了多长的距离? 

3.你有四个装药丸的罐子,每个药丸都有一定的重量,被污染的药丸是没被污染的药丸的重 
量+1。只称量一次,如何判断哪个罐子的药被污染了? 

4.门外三个开关分别对应室内三盏灯,线路良好,在门外控制开关时候不能看到室内灯的情 
况,现在只允许进门一次,确定开关和灯的对应关系? 

5.人民币为什么只有1、2、5、10的面值? 

6.你有两个罐子以及50个红色弹球和50个蓝色弹球,随机选出一个罐子, 随机选出一个弹 
球放入罐子,怎么给出红色弹球最大的选中机会?在你的计划里,得到红球的几率是多少? 
  

四.超难题(说明:如果你是第一次看到这种题,并且以前从来没有见过类似的题型,并且 
能够在半个小时之内做出答案。只能说明你的智力超常……) 

第一题 . 五个海盗抢到?00颗宝石,每一颗都一样大小和价值连城。他们决定这么分: 

  抽签决定自己的号码(1、2、3、4、5) 

  首先,由1号提出分配方案,然后大家表决,当且仅当超过半数的人同意时,按照他的方 
案进行分配,否则将被扔进大海喂鲨鱼 

  如果1号死后,再由2号提出分配方案,然后剩下的4人进行表决,当且仅当超过半数的人 
同意时,按照他的方案进行分配,否则将被扔入大海喂鲨鱼 

  依此类推 

条件:每个海盗都是很聪明的人,都能很理智地做出判断,从而做出选择。 

问题:第一个海盗提出怎样的分配方案才能使自己的收益最大化? 

第二题 . 一道关于飞机加油的问题,已知: 

  每个飞机只有一个油箱,   

  飞机之间可以相互加油(注意是相互,没有加油机)   

  一箱油可供一架飞机绕地球飞半圈,   

问题: 

为使至少一架飞机绕地球一圈回到起飞时的飞机场,至少需要出动几架飞机?(所有飞机从 
同一机场起飞,而且必须安全返回机场,不允许中途降落,中间没有飞机场)   

五.主观题(说明:在以后的工作过程中,我们可定会犯这样那样的错误。既然错误已经酿 
成,损失在所难免,我们只能想办法把损失减少到最小。如果能巧妙地回答出这些问题,再 
发生错误的情况下。能让客户有最少的抱怨,公司有最少的损失。) 

1.某手机厂家由于设计失误,有可能造成电池寿命比原来设计的寿命短一半(不是冲放电时 
间),解决方案就是免费更换电池或给50元购买该厂家新手机的折换券。请给所有已购买的 
用户写信告诉解决方案。 

2.一高层领导在参观某博物馆时,向博物馆馆员小王要了一块明代的城砖作为纪念,按国家 
规定,任何人不得将博物馆收藏品变为私有。博物馆馆长需要如何写信给这位领导,将城砖 
取回。 

3.营业员小姐由于工作失误,将2万元的笔记本电脑以1.2万元错卖给李先生,王小姐的经理 
怎么写信给李先生试图将钱要回来? 

六.算法题(说明:这些题就不是什么花样了,考的是你的基础知识怎么样。再聪明而没有 
实学的人都将会被这些题所淘汰。) 

1.链表和数组的区别在哪里? 

2.编写实现链表排序的一种算法。说明为什么你会选择用这样的方法? 

3.编写实现数组排序的一种算法。说明为什么你会选择用这样的方法? 

4.请编写能直接实现strstr()函数功能的代码。 

5.编写反转字符串的程序,要求优化速度、优化空间。 

6.在链表里如何发现循环链接? 

7.给出洗牌的一个算法,并将洗好的牌存储在一个整形数组里。 

8.写一个函数,检查字符是否是整数,如果是,返回其整数值。(或者:怎样只用4行代码 
编写出一个从字符串到长整形的函数?) 

9.给出一个函数来输出一个字符串的所有排列。 

10.请编写实现malloc()内存分配函数功能一样的代码。 

11.给出一个函数来复制两个字符串A和B。字符串A的后几个字节和字符串B的前几个字节重 
叠。 

12.怎样编写一个程序,把一个有序整数数组放到二叉树中? 

13.怎样从顶部开始逐层打印二叉树结点数据?请编程。 

14.怎样把一个链表掉个顺序(也就是反序,注意链表的边界条件并考虑空链表)? 

[解答与提示] 

一.最基本题型 

1.取3根绳子。先拿任2根,总共有4个绳头,同时点燃3个。当第一根绳子烧完(30分钟)同 
时点燃第4个绳头(也就是第二根绳子的剩下一个绳头)。当第二根绳子烧完(30分钟+15分 
钟),立刻点燃第三根绳子的两头。当第三根绳子烧完正好是1个小时15分钟(30分钟+15分 
钟+30分钟)。 

2.4个。 

3.略...... 

4.如果参加过类似于奥林匹克数学班的,都应做过这些题。问他你的国家怎么走,他肯定指 
向的是诚实国。 

5.略...... 

6.   

7.目前为止答案有三种:11、22、24。不知道哪个才是正确的! 

二.没有答案型 

1.圆井盖掉不下去 

2.一千万(我这么认为) 

3.我会回答顺时针方向。 

4.北京。(原因是我生在北京长在北京,想让北京脱离是因为想去看看外面的世界,既然美 
国人问咱们这种政治问题,咱们也就回应一个政治玩笑罢了) 

5.十万个(可以创造将近一百万的就业岗位呢) 

6.答案是“This feature is by design.” 如果考官要求给出更加合理的解释,就对他说 
:“如果您对此问题有更多疑问,请与它的供应商(或者与它的发明人)联系”。 

7.如果不倾泻而出,这家旅馆将没有人去住。(所以这个问题最好去问旅馆的老板。) 

8.告诉她这是最先进的东西,她不需要动手,我来帮她做就可以。 

9.我想斯皮尔伯格来回答这道题是在合适不过得了。 

10.我觉得回放飞网呆上半个月比较合适。 

11.这题我没有任何想法,因为没有工作经验,所以完全没听明白他问的是什么! 

12.做微软的OEM,这样能够更好的服务微软。 

13.把主机箱集成在一个液晶显示器中! 

三.难题 

1.切两刀,分为1/7、2/7、4/7三段。第一天给1/7;第二天给2/7,要回1/7;第三天给1/7 
 ;第四天给4/7 要回1/7+2/7;第五天给1/7;第六天给2/7,要会1/7;第七天给1/7 

2.[Johnson提供]北京到广州的铁路线全长2295千米,不管鸟怎么飞,它飞行的时间就是两 
列火车相遇的时间,两列火车相遇时间是(15t+20t)=2295,t近似等于65小时,65乘以鸟 
飞行的速度30,1950千米。总之答案就是30*两列火车相遇的时间。 

3.依次从四个罐子中取出1、2、3、4个药丸,结果不用说了吧! 

4.先开一个,开很长时间。然后关掉,再开另一个。出去看,亮着的那个不用说。剩下的两 
个不亮的,按照灯泡的温度来进行判断。 

5.至今不知道应如何解答。 

6.不清楚。可能是50%。 

四.超难题 

第一题:期待高手 

第二题:[johnson提供]前提是理想状态的油必须瞬间加满。我的答案是六架飞机。 
 
说明: 

1、飞机1、飞机2等飞机n为飞机的个数 

2、把整个圆(飞行轨道)周等分为8份,分别定为O点(起飞点),依次为A、B、C、D、E、 
F、G 

设想一下,按题目要求一架飞机要想不加油安全的飞并且安全返回,能飞行最远距离是一个 
圆周的1/4,既飞行度距离是OB;如果给另外一架飞机加油的话它只能飞行1/8的距离OA。这 
些前提的存在,再根据题意就可推出如下的飞行放案: 

1、首先同时从O点起飞三架飞机,当他们飞到A点时,飞机1、飞机2将继续飞行,飞机三给 
飞机1、飞机2加油,各加1/4的油,这样飞机1和飞机2就满油了;飞机3用剩下的1/4(飞到 
A点已经用去了1/4的油)的油刚好能飞回起点。 

2、飞机1、飞机2继续飞行。飞到B点时,飞机1将继续飞行,飞机2给飞机1加油,加1/4的油 
,这样飞机1的油箱又会加满油;飞机2用剩下的2/4(飞到B点又用去了1/4的油再加上给飞 
机1加的1/4油)的油刚好飞回起点。 

3、飞机1继续飞行,因为满油,所以可以飞半圈飞到F点。 

4、当飞机1飞到D点的时刻,同时从O点反方向派出三架飞机,飞机4、飞机5、飞机6。这样 
能保证飞机1飞到F点时刚好有两架飞机到达F点。(飞机4、飞机5、飞机6是沿着OG的方向飞 
行) 

5、当飞机4、飞机5、飞机6飞到G点时,飞机6同时给飞机4、飞机5加油。飞机4、飞机5满油 
继续飞,飞机6安全飞回O点。 

6、飞机1、飞机4、飞机5同时飞到F点,此时刻各加飞机的油料为 

     飞机1——0        飞机4——3/4        飞机5——3/4 

这下就方便了,飞机4和飞机5分别给飞机1一点点1/4的油料,三架飞机就安全的飞回O点了 
。 

至此,飞机1完成了环球飞行,并且其他飞机也都安全到达起飞点,总共派出了6架飞机。 

javascript:DrawImage(this); border=0> 

五.主观题 

1.告诉用户我公司为答谢广大顾客长时间以来的厚爱,顾客可以持原电池免费更换使用寿命 
为原电池一倍的新型电池。或者可以持购买发票,获得50元购买该厂家新手机的折换券。 


2.信件如下: 

“xxx领导:您好! 

我馆近期将展出一批珍贵文物,让更多的人能够真正的体会到中华民族文明的悠久、灿烂。 
我们希望能将您所拥有的明代的城砖展出。并且我们将在博物馆内设置专栏,宣传您对中华 
民族悠久文化的保存所作出的巨大贡献,让更多的华夏子孙看到,并且亲身体验到华夏文明 
的悠久历史,从而加强中华民族的凝聚力!” 

解释: 

领导看过这封信以后,如果不拿出城砖。那么也就说明他不想让更多的人看到中华民族的灿 
烂文明,不想让中华民族有更强的凝聚力。自然也就会拿出城砖。如果领导问到何时展出完 
毕,可以告诉他博物馆希望永久展出这些物品,领导自然也就无话可说了。 

  

3.信件如下: 

“ 尊敬的顾客,您好! 

由于工作人员的失误,误将一台样品机卖给您。为了您能够更好的使用我公司的产品,我公 
司决定为您免费更换同等价位的笔记本一台。并且我们有性价比更加优越的xxxII 型笔记本 
电脑,售价20000元人民币。如果您此时购买,我们将会以19000元的优惠价格售出。” 

  

六.算法题 

请参考数据结构和计算机算法类书籍,作者就不再抄书了。 

附(1):烧绳子类问题总结: 

一般给出的绳子都是不均匀的。如果一根为一小时,那么半个小时的计算方法是从两头烧。 
十五分钟的计算方法是从两头烧,同时从中间任何一个地方开始烧,这样这根绳子就有四个 
燃烧点,时间自然是一个燃烧点的四分之一。如果计算十分钟的时间,那么就让绳子有六个 
燃烧点,方法就不用说了吧! 

附(2):天平称球问题解答以及总结: 

将球分为a b c d; e f g h; i j k l 三组。 

第一次称量,比较 abcd efgh 

情形一: 

两者重量相等,此时说明答案在ijkl中。 

称量ij, 

如果相等,说明答案在kl中。拿k与a比较,如果相等,答案为l;如果不等,答案为k。 

如果不等,说明答案在ij中。拿i与a比较,如果相等,答案为j;如果不等,答案为i。 

情形二: 

abcd轻。 

在efgh中取出fgh,替换掉abcd中的bcd。 在ijkl中取出jkl,补充到原来fgh的位置。 

如果afgh轻,说明答案为a或e。称量ab,如果相等,答案为e;如果不等,答案为a。 

如果afgh重,说明答案在fgh中。称量fg,如果相等,答案为h;如果不等,重者为答案。 

如果一样重,答案在bcd中。称量bc,如果相等,答案为d;如果不等,轻者为答案。 

情形三: 

abcd重。 

在efgh中取出fgh,替换掉abcd中的bcd。 在ijkl中取出jkl,补充到原来fgh的位置。 

如果afgh重,答案为a或e。称量ab,如果相等,答案为e;如果不等,答案为a。 

如果afgh轻,答案在fgh中。称量fg,如果相等,答案为h;如果不等,轻者为所求。 

如果一样重,答案在bcd中。称量bc,如果相等,答案为d;如果不等,重者为答案。 

至于13个球的称法,至今本人仍没想出来。望高手赐教。onefi@frontfree.net 

总结:(转载) 

天平称重,有两个托盘比较轻重,加上托盘外面,也就是每次称重有3个结果,就是ln3/ln 
2比特信息。n个球要知道其中一个不同的球,如果知道那个不同重量的球是轻还是重,找出 
来的话那就是n个结果中的一种,就是有ln(n)/ln2比特信息,如果不知道轻重,找出来就 
是2n(n个球中的一个,轻或者重,所以是2n)个结果中的一种,那就是ln(2n)/ln2比特 
信息。 

假设我们要称k次,根据信息理论,那显然两种情况就分别有: 

1. k*ln3/ln2>=ln(n)/ln2 (k>=1) 解得k>=ln(n)/ln3 

2. k*ln3/ln2>=ln(2n)/ln2 (k>1) 解得k>=ln(2n)/ln3 

这是得到下限,可以很轻易证明满足条件的最小正整数k就是所求。比如称3次知道轻重可以 
从3^3=27个球中找出不同的球出来,如果不知道轻重就只能从(3^3-1)/2=13个球中找出不 
同的球出来。