Microsoft的應聘測試題整理

轉貼自http://www.frontfree.net

一.最基本題型(說明:此類題型比較簡單)

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小時之中,時鐘的時針、分針和秒針完全重合在一起的時候有幾次?都分別是什麼時間?你怎樣算出來的?(5分鐘-15分鐘)

 

二.沒有答案型(說明:這些題顯然不是考你智力。而考的是你的反應能力。這種題大多數沒有答案,但是要看你的反應嘍!)

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個藍色彈球,隨機選出一個罐子, 隨機選出一個彈球放入罐子,怎麼給出紅色彈球最大的選中機會?在你的計劃裏,得到紅球的機率是多少?

 

四.超難題(說明:如果你是第一次看到這種題,並且以前從來沒有見過類似的題型,並且能夠在半個小時之內做出答案。只能說明你的智力超常……)

第一題 . 五個海盜搶到了100顆寶石,每一顆都一樣大小和價值連城。他們決定這麼分:
  抽籤決定自己的號碼(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.怎樣把一個鏈表掉個順序(也就是反序,注意鏈表的邊界條件並考慮空鏈表)?
---------------------------------------------------------------------------------------
解答與提示:


說明:答案都是自己想出來的,並不代表是最正確的答案。如果有朋友發現錯誤,或知道更好的答案。不忘賜教:[email protected]


一.最基本題型

1.一根從兩頭燒 ,並且同是從中間任何一處開始燒。燒完後即爲十五分鐘。然後再燒一根就是一個小時。
2.4個。
3.略......
4.如果參加過類似於奧林匹克數學班的,都應做過這些題。問他你的國家怎麼走,他肯定指向的是誠實國。
5.略......
6. 
7.11次(我想是這樣的)

 

二.沒有答案型

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.至今不知道應如何解答。
3.依次從四個罐子中取出1、2、3、4個藥丸,結果不用說了吧!
4.先開一個,開很長時間。然後關掉,再開另一個。出去看,亮着的那個不用說。剩下的兩個不亮的,按照燈泡的溫度來進行判斷。
5.至今不知道應如何解答。
6.不清楚。可能是50%。

 

四.超難題

可以去放飛技術網www.frontfree.net中的論壇看看,有不少高手仍在討論這個問題......
曾經問過很多人。沒有一個人的答案非常令人滿意。期待高手的出現.......

 

五.主觀題

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個球的稱法,至今本人仍沒想出來。望高手賜教。[email protected]

總結:(轉載)
天平稱重,有兩個托盤比較輕重,加上托盤外面,也就是每次稱重有3個結果,就是ln3/ln2比特信息。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個球中找出不同的球出來。
第二題 . 一道關於飛機加油的問題,已知:
  每個飛機只有一個油箱, 
  飛機之間可以相互加油(注意是相互,沒有加油機) 
  一箱油可供一架飛機繞地球飛半圈, 
問題:
爲使至少一架飛機繞地球一圈回到起飛時的飛機場,至少需要出動幾架飛機?(所有飛機從同一機場起飛,而且必須安全返回機場,不允許中途降落,中間沒有飛機場) 
----------------------------------------------------------------
我做出來的答案是:14架,加上第一架總共需要15架就可以了.這個我只化了二十分鐘,不知道結果對不對.
3:
  (1)用3公斤的桶盛水----->給5公斤的桶
  (2)用3公斤的桶盛水----->給5公斤的桶    //3公斤桶剩1公斤水
  (3)5公斤的桶倒掉水
  (4)3公斤桶的一公斤----->給5公斤的桶    //5公斤桶有1公斤水
  (5)3公斤桶再盛滿水                    //3公斤桶剩3公斤水
   (6) 3+1=4

 

發佈了59 篇原創文章 · 獲贊 5 · 訪問量 13萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章