微軟面試的100道題目
微軟面試的100道題目
1、為什么下水道的井蓋是圓的?
2、美國有多少輛車?(一個(gè)常見的類似問題是:美國有多少加油站?)
3、美國有多少個(gè)下水道井蓋?
4、你讓某些人為你工作了七天,你要用一根金條作為報(bào)酬。這根金條要被分成七塊。你必須在每天的活干完后交給他們一塊。如果你只能將這根金條切割兩次,你怎樣給這些工人分?
5、一列火車以每小時(shí)15英里的速度離開洛杉磯,朝紐約進(jìn)發(fā)。另外一列火車以每小時(shí)20英里的速度離開紐約,朝洛杉磯進(jìn)發(fā)。如果一只每小時(shí)飛行25英里的鳥同時(shí)離開洛杉磯,在兩列火車之間往返飛行,請(qǐng)問當(dāng)兩列火車相遇時(shí),鳥飛了多遠(yuǎn)?
6、假設(shè)一張圓盤像唱機(jī)上的唱盤那樣轉(zhuǎn)動(dòng)。這張盤一半是黑色,一半是白色。假設(shè)你有數(shù)量不限的一些顏色傳感器。要想確定圓盤轉(zhuǎn)動(dòng)的方向,你需要在它周圍擺多少個(gè)顏色傳感器?它們應(yīng)該被擺放在什么位置?
7、假設(shè)時(shí)鐘到了12點(diǎn)。注意時(shí)針和分針重疊在一起。在一天之中,時(shí)針和分針共重疊多少次?你知道它們重疊時(shí)的具體時(shí)間嗎?
8、你有兩個(gè)罐子,分別裝著50個(gè)紅色的玻璃球和50個(gè)藍(lán)色的玻璃球。隨意拿起一個(gè)罐子,然后從里面拿出一個(gè)玻璃球。怎樣最大程度地增加讓自己拿到紅球的機(jī)會(huì)?利用這種方法,拿到紅球的幾率有多大?
9、中間只隔一個(gè)數(shù)字的兩個(gè)奇數(shù)被稱為奇數(shù)對(duì),比如17和19。證明奇數(shù)對(duì)之間的數(shù)字總能被6整除(假設(shè)這兩個(gè)奇數(shù)都大于6)。現(xiàn)在證明沒有由三個(gè)奇數(shù)組成的奇數(shù)對(duì)。
10、一個(gè)屋子有一個(gè)門(門是關(guān)閉的)和3盞電燈。屋外有3個(gè)開關(guān),分別與這3盞燈相連。你可以隨意操縱這些開關(guān),可一旦你將門打開,就不能變換開關(guān)了。確定每個(gè)開關(guān)具體管哪盞燈。
11、假設(shè)你有8個(gè)球,其中一個(gè)略微重一些,但是找出這個(gè)球的惟一方法是將兩個(gè)球放在天平上對(duì)比。最少要稱多少次才能找出這個(gè)較重的球?
12、假設(shè)你站在鏡子前,抬起左手,抬起右手,看看鏡中的自己。當(dāng)你抬起左手時(shí),鏡中的自己抬起的似乎是右手??墒钱?dāng)你仰頭時(shí),鏡中的自己也在仰頭,而不是低頭。為什么鏡子中的影像似乎顛倒了左右,卻沒有顛倒上下?
13、你有4瓶藥。每粒藥丸的重量是固定的,不過其中有一瓶藥受到了污染,藥丸的重量發(fā)生了變化,每個(gè)藥丸增加了一點(diǎn)重量。你怎樣一下子測(cè)出哪瓶藥是遭到污染的呢?
14、下面玩一個(gè)拆字游戲,所有字母的順序都被打亂。你要判斷這個(gè)字是什么。假設(shè)這個(gè)被拆開的字由5個(gè)字母組成:共有多少種可能的組合方式;如果我們知道是哪5個(gè)字母,那會(huì)怎么樣;找出一種解決這個(gè)問題的方法。
15 、有4個(gè)女人要過一座橋。她們都站在橋的某一邊,要讓她們?cè)?7分鐘內(nèi)全部通過這座橋。這時(shí)是晚上。她們只有一個(gè)手電筒。最多只能讓兩個(gè)人同時(shí)過橋。不管 是誰過橋,不管是一個(gè)人還是兩個(gè)人,必須要帶著手電筒。手電筒必須要傳來傳去,不能扔過去。每個(gè)女人過橋的速度不同,兩個(gè)人的速度必須以較慢的那個(gè)人的速 度過橋。
第一個(gè)女人:過橋需要1分鐘; 第二個(gè)女人:過橋需要2分鐘;第三個(gè)女人:過橋需要5分鐘;第四個(gè)女人:過橋需要10分鐘。
比如,如果第一個(gè)女人與第4個(gè)女人首先過橋,等她們過去時(shí),已經(jīng)過去了10分鐘。如果讓第4個(gè)女人將手電筒送回去,那么等她到達(dá)橋的另一端時(shí),總共用去了20分鐘,行動(dòng)也就失敗了。怎樣讓這4個(gè)女人在17分鐘內(nèi)過橋?還有別的什么方法?
16、如果你有一個(gè)5夸脫的水桶和一個(gè)3夸脫的水桶,如何準(zhǔn)確量出4夸脫的水?
17、你有一袋糖,有紅色的,藍(lán)色的,綠色的。閉上眼睛,拿出兩塊顏色一樣的糖,你需要拿多少次才能確保有兩塊顏色相同的?
18、如果你有兩個(gè)桶,一個(gè)裝的是紅色的顏料,另一個(gè)裝的是藍(lán)色的顏料。你從藍(lán)色顏料桶里舀一杯,倒入紅色顏料桶,再從紅色顏料桶里舀一杯倒入藍(lán)顏料桶。兩個(gè)桶中紅藍(lán)顏料的比例哪個(gè)更高?通過算術(shù)的方式來證明這一點(diǎn)。
19、鏈接表和數(shù)組之間的區(qū)別是什么?
20、做一個(gè)鏈接表,你為什么要選擇這樣的方法?
21、選擇一種算法來整理出一個(gè)鏈接表。你為什么要選擇這種方法?現(xiàn)在用o(n)時(shí)間來做。
22、說說各種股票分類算法的優(yōu)點(diǎn)和缺點(diǎn)。
23、用一種算法來顛倒一個(gè)鏈接表的順序?,F(xiàn)在在不用遞歸式的情況下做一遍。
24、用一種算法在一個(gè)循環(huán)的鏈接表里插入一個(gè)節(jié)點(diǎn),但不得穿越鏈接表。
25、用一種算法整理一個(gè)數(shù)組。你為什么選擇這種方法?
26、用一種算法使通用字符串相匹配。
27、顛倒一個(gè)字符串。優(yōu)化速度。優(yōu)化空間。
28、顛倒一個(gè)句子中的詞的順序,比如將“我叫克麗絲”轉(zhuǎn)換為“克麗絲叫我”,實(shí)現(xiàn)速度最快,移動(dòng)最少。
29、找到一個(gè)子字符串。優(yōu)化速度。優(yōu)化空間。
30、比較兩個(gè)字符串,用o(n)時(shí)間和恒量空間。
31、假設(shè)你有一個(gè)用1001個(gè)整數(shù)組成的數(shù)組,這些整數(shù)是任意排列的,但是你知道所有的整數(shù)都在1到1000(包括1000)之間。此外,除一個(gè)數(shù)字出現(xiàn)兩次外,其他所有數(shù)字只出現(xiàn)一次。假設(shè)你只能對(duì)這個(gè)數(shù)組做一次處理,用一種算法找出重復(fù)的那個(gè)數(shù)字。如果你在運(yùn)算中使用了輔助的存儲(chǔ)方式,那么你能找到不用這種方式的算法嗎?
32、不用乘法或加法增加8倍?,F(xiàn)在用同樣的方法增加7倍。
33、如何將計(jì)算機(jī)技術(shù)應(yīng)用于一幢100層高的辦公大樓的電梯系統(tǒng)上?你怎樣優(yōu)化這種應(yīng)用?工作日時(shí)的交通、樓層或時(shí)間等因素會(huì)對(duì)此產(chǎn)生怎樣的影響?
34、你如何對(duì)一種可以隨時(shí)存在文件中或從因特網(wǎng)上拷貝下來的操作系統(tǒng)實(shí)施保護(hù)措施,
防止被非法復(fù)制?
35、你如何重新設(shè)計(jì)自動(dòng)取款機(jī)?
36、假設(shè)我們想通過電腦來操作一臺(tái)微波爐,你會(huì)開發(fā)什么樣的軟件來完成這個(gè)任務(wù)?
37、你如何為一輛汽車設(shè)計(jì)一臺(tái)咖啡機(jī)?
38、如果你想給微軟的word系統(tǒng)增加點(diǎn)內(nèi)容,你會(huì)增加什么樣的內(nèi)容?
39、你會(huì)給只有一只手的用戶設(shè)計(jì)什么樣的鍵盤?