2012.11.16 17:03

傳說中 Google 面試的 15 道題目解答篇,來挑戰一下吧!

ADVERTISEMENT

問題8:請解釋「dead beef」的意思。

答:

「DEADBEEF」是一個十六進位數字,在大型主機和組合語言的時代用來除錯時使用,以便從記憶體中取出資料時,標示與找出特定的記憶體區域資料。在美國學習電腦資訊工程相關的大學畢業生,應該曾在組合語言課程中學習過,因此軟體工程師需具備這項基礎的觀念。

問題9:有一個人把車停在旅館外,然後發現他失去所有財物,接下來他會怎麼做?

ADVERTISEMENT

答:

他會先下車,然後站在人行道上。

問題10:你需要確認朋友鮑勃是否有你正確的電話號碼,但你不可以直接問他。你需在卡片上寫下這個問題,然後交給艾娃,由艾娃把卡片交給鮑勃,再轉告你答案。 除了在卡片上寫下這個問題外,你還必須怎樣寫,才能確保鮑勃在給出答案的同時,不讓艾娃知道你的電話號碼?

答:

如果只是需要確定鮑勃手中的號碼是否正確,只需要讓他在某個特定時刻打電話來,如果他沒打過來的話,就能確認他沒有你的號碼了。

ADVERTISEMENT

問題11:假設你是海盜船的船長,船員們將舉行黃金分配方案的投票。但如果贊成票數不到一半的話,船長就會被殺死。你要如何確保自己可以存活,並且拿到最多的黃金?

答:

將黃金平均分給最有權勢的51%的船員(包括船長自己)。

問題12:有八個一樣大小的球,其中有一顆球的重量比其他球重一點。請問,如何只用天秤測量兩次後,找出那顆比較重的球?

ADVERTISEMENT

答:

從中取出六顆球,在天秤兩邊各放三個。如果平衡,把剩下的兩顆球分別放在天秤兩邊,就能找出較重的球。如果不平衡,較重的一邊就會向下沉,再從這三顆球當中取出兩個來量,若不平衡就表示較重的球在下沉那邊,若平衡,那麼剩下的就是較重的球。

問題13:你位於有 100 層的大樓裡面,並有一些雞蛋,它們可能很易碎、也可能很難破掉(可能從100樓往外丟還是不會破),但外觀都一樣。請問要丟幾次?才可以找出最高在那一層樓往外丟,雞蛋還是不會摔破。(在過程中,你總共可以摔破2顆蛋)

答:

以下的參考答案,最多為14 次。

ADVERTISEMENT

  • 從 14 樓開始,往外丟下一顆雞蛋,如果沒有破的話,就每次往上增加13、12、11…個樓層,一直到99樓為止。這中間丟雞蛋的樓層為14、27、39、50、60、69、77、84、90、95、99。
  • 假設到了99樓還是沒破,那就要往上到100樓丟,不管蛋有沒有破,都表示總共要丟12次。
  • 如果在上述樓層的其中一層讓蛋破了,例如是50樓好了,那就要到40樓繼續丟(因為39樓時還是沒破),每次往上增加一樓,直到蛋破了為止,最多需要14次。
  • 以此類推。不管是在「14、27、39、50、60、69、77、84、90、95、99」樓那一層破了,就回到低樓層去逐樓實驗,最多都需要14次。

問題14:用三句話向你的 8 歲侄子解釋什麼叫資料庫

答:

這一題考察的是求職者用簡單的語言闡述複雜概念的能力。我們的答案是:「資料庫是一個能夠記住很多東西、很多資料的機器。人們用它來幫忙記住這些資料。好了,你現在可以出去玩了。」

問題15:如果你被縮小到只剩硬幣那麼高,接著被扔到一台果汁機中,刀片一分鐘後就會開始轉動。你會怎麼做?

答:

這一題考察的是求職者的創造性。我們會嘗試把電動馬達給弄壞。

ADVERTISEMENT