没一题会的
作者: 布雷尔‧沃森
以下是微软公司的员工在面试时所遇到的问题。微软的顾问有时会得到一些特殊待遇,因此在面试时询问他们的问题并不真的算數,所以没有列在下面。
这些问题往往遵循以下一些基本主题︰难题、运算、应用、头脑。
【难题】
★为什么下水道的井盖是圆的?
★美国有多少辆車?(一个常見的類似问题是︰美国有多少家加油站?)
★美国有多少个下水道井盖?
★你让某些人为你工作了七天,你要用一根金条作为报酬。这根金条要被分成七块。你必须在每天的活干完后交给他们一块。如果你只能将这根金条切割兩次,你怎样给这些工人分?
★一列火車以每小时15英里的速度離开洛杉矶,朝紐约进发。另外一列火車以每小时20英里的速度離开紐约,朝洛杉矶进发。如果一只每小时飞行25英里的鸟同时離开洛杉矶,在兩列火車之间往返飞行,请问当兩列火車相遇时,鸟飞了多远?
★假设一张圆盘像唱机上的唱盘那样转动。这张盘一半是黑色,一半是白色。假设你有數量不限的一些颜色传感器。要想确定圆盘转动的方向,你需要在它周遭摆多少个颜色传感器?它们应该被摆放在什么位置?
★假设时钟到了12点。注意时针和分针重叠在一起。在一天之中,时针和分针共重叠多少次?你知道它们重叠时的具体时间吗?
★你有兩个罐子,分别装着50个红色的玻璃球和50个藍色的玻璃球。随意拿起一个罐子,然后从裡面拿出一个玻璃球。怎样最大程度地增加让自己拿到红球的机会?利用这种方法,拿到红球的几率有多大?
★中间只隔一个數字的兩个奇數被称为奇數对,比如17和19。证明奇數对之间的數字总能被6整除(假设这兩个奇數都大于6)。现下证明没有由三个奇數组成的奇數对。
★一个屋子有一个门(门是关闭的)和3盏电灯。屋外有3个开关,分别与这3盏灯相連。你可以随意操纵这些开关,可一旦你将门打开,就不能变换开关了。确定每个开关具体管哪盏灯。
★假设你有8个球,其中一个略微重一些,但是找出这个球的惟一方法是将兩个球放在天平上对比。最少要称多少次才能找出这个较重的球?
★假设你站在镜子前,抬起左手,抬起右手,看看镜中的自己。当你抬起左手时,镜中的自己抬起的似乎是右手。可是当你仰头时,镜中的自己也在仰头,而不是低头。为什么镜子中的影像似乎颠倒了左右,却没有颠倒上下?
★ 你有4瓶药。每粒药丸的重量是固定的,不过其中有一瓶药受到了污染,药丸的重量发生了变化,每个药丸增加了一点重量。你怎样一下子测出哪瓶药是遭到污染的呢?
★下面玩一个拆字游戏,所有字母的顺序都被打亂。你要判断这个字是什么。假设这个被拆开的字由5个字母组成︰
1. 共有多少种可能的组合模式?
2. 如果我们知道是哪5个字母,那会怎么样?
3. 找出一种解决这个问题的方法。
★有4个女人要过一座桥。她们都站在桥的某一边,要让她们在17分钟内全部透过这座桥。这时是晚上。她们只有一个手电筒。最多只能让兩个人同时过桥。不管是谁过桥,不管是一个人还是兩个人,必须要带着手电筒。手电筒必须要传來传去,不能扔过去。每个女人过桥的速度不同,兩个人的速度必须以较慢的那个人的速度过桥。
第一个女人︰过桥需要1分钟;
第二个女人︰过桥需要2分钟;
第三个女人︰过桥需要5分钟;
第四个女人︰过桥需要10分钟。
比如,如果第一个女人与第4个女人首先过桥,等她们过去时,已经过去了10分钟。如果让第4个女人将手电筒送回去,那么等她到达桥的另一端时,总共用去了20分钟,行动也就失败了。怎样让这4个女人在17分钟内过桥?还有别的什么方法?
★如果你有一个5夸脱的水桶和一个3夸脱的水桶,如何准确量出4夸脱的水?
★你有一袋糖,有红色的,藍色的,綠色的。闭上眼睛,拿出兩块颜色一样的糖,你需要拿多少次才能确保有兩块颜色相同的?
★如果你有兩个桶,一个装的是红色的颜料,另一个装的是藍色的颜料。你从藍色颜料桶裡舀一杯,倒入红色颜料桶,再从红色颜料桶裡舀一杯倒入藍颜料桶。兩个桶中红藍颜料的比例哪个更高?透过算术的模式來证明这一点。
【运算】
★链接表和數组之间的区别是什么?
★做一个链接表,你为什么要选择这样的方法?
★选择一种算法來整理出一个链接表。你为什么要选择这种方法?现下用O(n)时间來做。
★說說各种股票分類算法的优点和缺点。
★用一种算法來颠倒一个链接表的顺序。现下在不用递归式的情况下做一遍。
★用一种算法在一个循环的链接表裡插入一个节点,但不得穿越链接表。
★用一种算法整理一个數组。你为什么选择这种方法?
★用一种算法使通用字元串相匹配。
★颠倒一个字元串。优化速度。优化空间。
★颠倒一个句子中的词的顺序,比如将“我叫克麗丝"转换为“克麗丝叫我",实现速度最快,移动最少。
★找到一个子字元串。优化速度。优化空间。
★比较兩个字元串,用O(n)时间和恒量空间。
★假设你有一个用1001个整數组成的數组,这些整數是任意排列的,但是你知道所有的整數都在1到1000(包括1000)之间。此外,除一个數字出现兩次外,其他所有數字只出现一次。假设你只能对这个數组做一次处理,用一种算法找出重复的那个數字。如果你在运算中使用了辅助的存储模式,那么你能找到不用这种模式的算法吗?
★不用乘法或加法增加8倍。现下用同样的方法增加7倍。
【应用】
★如何将计算机技术应用于一幢100层高的办公大樓的电梯系统上?你怎样优化这种应用?工作日时的交通、樓层或时间等原素会对此产生怎样的影响?
★你如何对一种可以随时存在文件中或从网际网路上拷贝下來的作业系统实施保护措施,防止被非法复制?
★你如何重新设计自动取款机?
★假设我们想透过电脑來操作一台微波爐,你会开发什么样的软体來完成这个任务?
★你如何为一辆汽車设计一台咖啡机?
★ 如果你想给微软的Word系统增加点内容,你会增加什么样的内容?
★你会给只有一只手的用户设计什么样的键盘?
★你会给失聪的人设计什么样的闹钟?
【头脑】
★如果你有一个许多部件可以拆卸的时钟,你将它一块块拆开,但是没有记住是怎样拆的。然后你将各个零件重新组装起來,最后发现有三个重要零件没有放进去。这时你如何重新组装这个时钟?
★如果你需要学习一门新的计算机语言,你会怎样做?
★假设由你负责设计比尔‧盖茨的卫生间。当然,钱不成问题,但是你不可以和比尔谈。你会怎样做?
★到目前为止,你遇到的最难回答的问题是什么?
★如果微软公司說,我们愿意投资500万美元用來开发你提出的方案。那么你会做什么?为什么?
★如果你将世界上所有的计算机制造商召集起來,告诉他们必须要做一件事,你会让他们做什么事?
★如果你在五年内会得到一笔加菜金,你认为会是因为什么?关注你的成绩的人会是谁?
★你如何教自己的奶奶使用微软Excel表格系统?
★为什么当我们在任何一家宾馆打开热水龍头时,热水会马上流出來?
★你为什么想在微软工作?
★假设你回到家,进入自己的房间,打开电灯开关,可是一点回应都没有──灯没有亮。这时,你在判断问题出在那裡时,会依次采取怎样的做法? Loading...