|
谷歌15個讓你摸不著頭腦的面試題及答案解析时间:2018-08-15 【转载】 谷歌需要是那些有志改變世界的具有遠大抱負的人才。不僅如此,即便是你達到了它們所有的這些要求,你還必須通過谷歌的面試,而谷歌面試的問題真可謂是五花八門,以下是挑選的15個應聘不同職位所遇到的讓你摸不著頭腦的面試問題。
1) 村子里有100對夫妻,其中每個丈夫都瞞著自己的妻子偷情。村里的每個妻子都能立即發(fā)現(xiàn)除自己丈夫之外的其他男人是否偷情,唯獨不知道她自己的丈夫到底有沒有偷情。村里的規(guī)矩不容忍通奸。任何一個妻子,一旦能證明自己的男人偷情,就必須當天把他殺死。村里的女人全都嚴格照此規(guī)矩辦事。一天,女頭領出來宣布,村里至少有一個丈夫偷情。請問接下來會發(fā)生什么事? 答案:這是一個典型的遞歸問題。一旦所有的妻子都知道至少有一個男人出軌,我們就可以按遞歸方式來看待這個流程。先讓我們假設只有一個丈夫偷情。則他的妻子見不到任何偷情的男人,因此知道這個人就是自己丈夫,她當天就會殺了他。假如有兩個丈夫偷情,則他倆的妻子只知道不是自己丈夫的那一個男人偷情。因此她會等上一天看那個人有沒有被殺死。假如第一天沒人被殺死,她就能確定她自己的丈夫也偷了情。依此類推,假如有100個丈夫偷情,則他們能安全活上99天,直到100天時,所有妻子把他們全都殺死。 應聘職位:產品經理 2)假設在一段高速公路上,30分鐘之內見到汽車經過的概率是。那么,在10分鐘內見到汽車經過的概率是多少?(假設缺省概率固定) 答案:這題的關鍵在于0.95是見到一輛或多輛汽車的概率,而不是僅見到一輛汽車的概率。在30分鐘內,見不到任何車輛的概率為0.05。因此在10分鐘內見不到任何車輛的概率是這個值的立方根,而在10分鐘內見到一輛車的概率則為1減去此立方根,也就是大約63%。 應聘職位:產品經理 3)有四個人要在夜里穿過一條懸索橋回到宿營地?墒撬麄冎挥幸恢蛛,電池只夠再亮17分鐘。過橋必須要有手電,否則太危險。橋最多只能承受兩個人同時通過的重量。這四個人的過橋速度都不一樣:一個需要1分鐘,一個需要2分鐘,一個需要5分鐘,還有一個需要10分鐘。他們如何才能在17分鐘之內全部過橋? 答案:1和2一起過(2分鐘);1返回(3分鐘);5和10一起過(13分鐘);2返回(15分鐘);1和2一起過(17分鐘)。全體安全過橋。 應聘職位:產品經理 4) 你和一個朋友去參加聚會。聚會算上你們一共10人。。。你的朋友想要跟你打個賭:你在這些人每找到一個和你生日相同的,你就贏1塊錢。他在這些人里每找到一個和你生日不同的人,他就贏2塊錢。你該不該打這個賭? 答案:不算閏年的話,別人跟你生日相同的概率是1/365;跟你生日不同的概率是364/365。因此不要打這個賭。 應聘職位:產品經理 5)如果你看到時鐘上面的時間是3:15,那么其時針和分針之間的角度是多少?(答案不是零) 答案:7.5度。時鐘上每一分鐘是6度(360度/60分鐘)。時針每小時從一個數(shù)字走到下一個數(shù)字(此例中為從3點到4點),也就是30度。因為此題中時間剛好走過1/4小時,因此時針走完30度的1/4,也就是7.5度。 應聘職位:產品經理 6)將一根木條折成3段之后,可以形成一個三角形的概率有多大? 答案:因為題目中沒有說要求木條必須首尾相連的做成三角形,因此答案是100%。任何長度的三根木條都可以形成一個三角形。 應聘職位:產品經理 7)南非有個延時問題。請對其加以分析。 答案:這顯然是個非常模糊的問題,因此沒有唯一的正確答案。比較好的回答應該是由被面試者展示自己對“延時”概念的熟悉程度以及發(fā)揮自己的想象力,構想出一個有趣的延時問題并對其提供一個有趣的解決方案。 應聘職位:產品經理 8)在一個兩維平面上有三個不在一條直線上的點。請問能夠作出幾條與這些點距離相同的線? 答案:三條。將兩點之間聯(lián)成一條線段。在這條線段與第三點之間正中的位置,做一條與此線段平行的直線,即為一條距三點等距的線。然后按此方法對其余兩點的組合做出另外兩條來。 應聘職位:軟件工程師 9)2的64次方是多少? 答案:如果你不是因為坐在面試室里,手邊沒有計算器的話,應該可以很容易找到答案,即1.84467441 乘以10的19次方。 應聘職位:軟件工程 10)假設你在衣櫥里掛滿襯衫,很難從中挑出某一件來。請問你打算怎樣整理一下,使得它們容易挑選? 答案:此題沒有固定答案?简灥氖潜幻嬖囌咴诮鉀Q問題方面的想象力和創(chuàng)造性。我們覺得讀者”Dude”的這個答案可能會給Google留下深刻印象:把它們按布料的種類進行哈希(HASH)組合。然后每類再按2-3-4樹或紅黑樹(都是計算機算法)排序。 應聘職位:軟件工程師 11)給你一副井字棋(Tic Tac Toe)。。。你來寫一個程序,以整個游戲和一個玩家的名字為參數(shù)。此函數(shù)需返回游戲結果,即此玩家是否贏了。首先你要決定使用哪種數(shù)據(jù)結構處理游戲。你還要先講出使用哪種算法,然后寫出代碼。注意:這個游戲中的某些格子里可能是空的。你的數(shù)據(jù)結構需要考慮到這個條件。 答案:所需要的數(shù)據(jù)結構應為二元字符數(shù)列。調用此函數(shù)檢查6種條件,判斷是否有贏家。其中第6種條件就是看是否還有空格。如果有贏家,則字符判斷玩家是X還是O。因此你需要一個旗標。如果有贏家則返回此值并結束游戲,如果沒有則繼續(xù)游戲。 應聘職位:軟件工程師 12)為1萬億個數(shù)排序需要多長時間?請說出一個靠譜的估計。 答案:這又是一個沒有標準答案的題目。目的是考察被面試者的創(chuàng)造性。我們傾向于兩位讀者給出的簡單答案:用歸并排序法(Merge Sort)排序。平均情況下為O(1,000,000,000,000 Log 1,000,000,000,000)。最差情況下為O(1,000,000,000,000 Log 1,000,000,000,000),F(xiàn)在可以做到每秒10億次的運算,所以大約應需要3000秒。 應聘職位:軟件工程師 13)請設計一個“蛙跳”游戲的算法,并寫出方案的代碼。。。 答案:這個游戲的目標是引導一個青蛙避開來往車輛,橫穿一條繁忙的公路。你可以用一個數(shù)列來代表一條車道。將方案簡化成一條N車道的公路。我們只找到一個對此問題的解答,它來自Glassdoor.com網站:“一個方法是寫一個遞歸算法來決定何時等待,何時跳進下一個車道。這由下條車道中是否有逐漸接近的障礙物來決定。” 應聘職位:軟件工程師 14)Google每年收到多少份軟件工程師的簡歷?這也是在考察應試者是否有能力把問題簡單明確化,并提出創(chuàng)造性的解決方案。 答案:一個“量化報酬分析師”職位的求職者,應該知道2008年Google雇傭了3400人。估計其中75%,即2550人,應該是工程師,并且Google和哈佛的錄取率類似,即從申請人中取3%。由此可知應該收到大約85000簡歷(85000 x 3% = 2550) 應聘職位:量化報酬分析師 15)給你一個數(shù)字鏈表。。。鏈表到頭之后又會從頭開始(循環(huán)鏈表)。請寫出尋找鏈表中最小數(shù)字的最高效算法。找出此鏈表中的任意給定數(shù)字。鏈表中的數(shù)字總是不斷增大的,但是你不知道循環(huán)鏈表從何處開始。例:38, 40, 55, 89, 6, 13, 20, 23, 36. 答案:我們最喜歡的答案來自讀者”dude”:建立臨時指針并從根上開始。(循環(huán)鏈表大多數(shù)情況下都有向前或向后指針。)判斷是向前更大還是向后更大。如果向前更大則知道已達到鏈表最后,又重新位于鏈表開始位置。如果向前更大,那你可以向后搜尋并進行數(shù)字比較。如果既沒有根也沒有指針指向鏈表,那么你的數(shù)據(jù)就丟失在內存中了。 |