微軟面試題總結版

學識都 人氣:3.25W
微軟面試題總結版
一.最基本題型(說明:此類題型比較簡單)

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

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

  1.五個海盜搶到?00顆寶石,每一顆都一樣大小和價值連城。他們決定這麼分:
  抽籤決定自己的號碼(1、2、3、4、5)
  首先,由1號提出分配方案,然後大家表決,當且僅當超過半數的人同意時,按照他的方案進行分配,否則將被扔進大海喂鯊魚
  如果1號死後,再由2號提出分配方案,然後剩下的4人進行表決,當且僅當超過半數的人同意時,按照他的方案進行分配,否則將被扔入大海喂鯊魚依此類推
  條件:每個海盜都是很聰明的人,都能很理智地做出判斷,從而做出選擇。
  問題:第一個海盜提出怎樣的分配方案才能使自己的收益最大?

  2.一道關於飛機加油的問題,已知:
  每個飛機只有一個油箱, 飛機之間可以相互加油(注意是相互,沒有加油機) 一箱油可供一架飛機繞地球飛半圈,
  問題:
  爲使至少一架飛機繞地球一圈回到起飛時的飛機場,至少需要出動幾架飛機?(所有飛機從同一機場起飛,而且必須安全返回機場,不允許中途降落,中間沒有飛機場)

五.主觀題(說明:在以後的工作過程中,我們可定會犯這樣那樣的錯誤。既然錯誤已經釀成,損失在所難免,我們只能想辦法把損失減少到最小。如果能巧妙地回答出這些問題,再發生錯誤的情況下。能讓客戶有最少的抱怨,公司有最少的損失。)

  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架飛機。

五.主觀題

  1.告訴用戶我公司爲答謝廣大顧客長時間以來的厚愛,顧客可以持原電池免費更換使用壽命爲原電池一倍的新型電池。或者可以持購買發票,獲得50元購買該廠家新手機的折換券。
  2.信件如下:
  "xxx領導:您好!我館近期將展出一批珍貴文物,讓更多的人能夠真正的體會到中華民族文明的悠久、燦爛。我們希望能將您所擁有的明代的城磚展出。並且我們將在博物館內設置專欄,宣傳您對中華民族悠久文化的保存所作出的巨大貢獻,讓更多的華夏子孫看到,
  並且親身體驗到華夏文明的悠久歷史,從而加強中華民族的凝聚力!"
  解釋:   領導看過這封信以後,如果不拿出城磚。那麼也就說明他不想讓更多的人看到中華民族的燦爛文明,不想讓中華民族有更強的凝聚力。自然也就會拿出城磚。如果領導問到何時展出完畢,可以告訴他博物館希望永久展出這些物品,領導自然也就無話可說了。
  3.信件如下:
  " 尊敬的顧客,您好!由於工作人員的失誤,誤將一臺樣品機賣給您。爲了您能夠更好的使用我公司的產品,我公司決定爲您免費更換同等價位的筆記本一臺。並且我們有性價比更加優越的xxxII型筆記本電腦,售價20000元人民幣。如果您此時購買,我們將會以19000元的優惠價格售出。"

六.算法題

  請參考數據結構和計算機算法類書籍,作者就不再抄書了。
  附(1):燒繩子類問題總結:
  一般給出的繩子都是不均勻的。一根要燒一個小時,那麼從兩頭燒就只要30分鐘,這樣就可以確定30分鐘了。這給我們一個提示就是知道某個時間我們可以確定他的一半時間。同樣的道理,15分鐘可以這樣來燒,兩根繩子一起燒,一根一頭燒,一根兩頭燒,待兩頭燒的那根繩子燒完後,點着一頭燒的繩子的另一頭,從此刻開始記時,待到燒完就是15分鐘。這也給我們一個提示就是確定一個時間就可以確定它的一半,這就構成了一個遞推。理論上可以確定任何時間(只是實際中有的是不可能做到的)。
  附(2):天平稱球問題解答以及總結:
  將球分爲a b c d; e f g h; i j k l 三組。
  第一次稱量,比較 abcd efgh
  情形一:
  兩者重量相等,此時說明答案在ijkl中。稱量ij,如果相等,說明答案在kl中。拿k與a比較,如果相等,答案爲l;