1. 程式人生 > >15個Google面試題以及答案

15個Google面試題以及答案

1、 村子裡有100對夫妻,其中每個丈夫都瞞著自己的妻子偷情。村裡的每個妻子都能立即發現除自己丈夫之外的其他男人是否偷情,唯獨不知道她自己的丈夫到底有沒有偷情。村裡的規矩不容忍通姦。任何一個妻子,一旦能證明自己的男人偷情,就必須當天把他殺死。村裡的女人全都嚴格照此規矩辦事。一天,女頭領出來宣佈,村裡至少有一個丈夫偷情。請問接下來會發生什麼事?

答案:這是一個典型的遞迴問題。一旦所有的妻子都知道至少有一個男人出軌,我們就可以按遞迴方式來看待這個流程。先讓我們假設只有一個丈夫偷情。則他的妻子見不到任何偷情的男人,因此知道這個人就是自己丈夫,她當天就會殺了他。假如有兩個丈夫偷情,則他倆的妻子只知道不是自己丈夫的那一個男人偷情。因此她會等上一天看那個人有沒有被殺死。假如第一天沒人被殺死,她就能確定她自己的丈夫也偷了情。依此類推,假如有100個丈夫偷情,則他們能安全活上99 天,直到100天時,所有妻子把他們全都殺死。

應聘職位:產品經理

2、假設在一段高速公路上,30分鐘之內見到汽車經過的概率是0.95。那麼,在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分鐘)。時針每小時從一個數字走到下一個數字(此例中為從3點到4點),也就是30度。因為此題中時間剛好走過1/4小時,因此時針走完30度的1/4,也就是7.5度。

應聘職位:產品經理

6、將一根木條折成3段之後,可以形成一個三角形的概率有多大?答案:因為題目中沒有說要求木條必須首尾相連的做成三角形,因此答案是100%。任何長度的三根木條都可以形成一個三角形。

應聘職位:產品經理

7、南非有個延時問題。請對其加以分析。

答案:這顯然是個非常模糊的問題,因此沒有唯一的正確答案。比較好的回答應該是由被面試者展示自己對“延時”概念的熟悉程度以及發揮自己的想象力,構想出一個有趣的延時問題並對其提供一個有趣的解決方案。

應聘職位:產品經理

8、在一個兩維平面上有三個不在一條直線上的點。請問能夠作出幾條與這些點距離相同的線?

答案:三條。將兩點之間聯成一條線段。在這條線段與第三點之間正中的位置,做一條與此線段平行的直線,即為一條距三點等距的線。然後按此方法對其餘兩點的組合做出另外兩條來。

應聘職位:軟體工程師

9、2的64次方是多少?

答案:如果你不是因為坐在面試室裡,手邊沒有計算器的話,應該可以很容易找到答案,即1.84467441 乘以10的19次方。

應聘職位:軟體工程

10、假設你在衣櫥裡掛滿襯衫,很難從中挑出某一件來。請問你打算怎樣整理一下,使得它們容易挑選?

答案:此題沒有固定答案。考驗的是被面試者在解決問題方面的想象力和創造性。我們覺得讀者”Dude”的這個答案可能會給Google留下深刻印象:把它們按布料的種類進行雜湊(HASH)組合。然後每類再按2-3-4樹或紅黑樹(都是計算機演算法)排序。

應聘職位:軟體工程師

11、給你一副井字棋(Tic Tac Toe)。。。你來寫一個程式,以整個遊戲和一個玩家的名字為引數。此函式需返回遊戲結果,即此玩家是否贏了。首先你要決定使用哪種資料結構處理遊戲。你 還要先講出使用哪種演算法,然後寫出程式碼。注意:這個遊戲中的某些格子裡可能是空的。你的資料結構需要考慮到這個條件。

答案:所需要的資料結構應為二元字元數列。呼叫此函式檢查6種條件,判斷是否有贏家。其中第6種條件就是看是否還有空格。如果有贏家,則字元判斷玩家是X還是O。因此你需要一個旗標。如果有贏家則返回此值並結束遊戲,如果沒有則繼續遊戲。

應聘職位:軟體工程師

12、為1萬億個數排序需要多長時間?請說出一個靠譜的估計。

答案:這又是一個沒有標準答案的題目。目的是考察被面試者的創造性。我們傾向於兩位讀者給出的簡單答案:用歸併排序法(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)。現在可以做到每秒10億次的運算,所以大約應需要3000秒。

應聘職位:軟體工程師

13、請設計一個“蛙跳”遊戲的演算法,並寫出方案的程式碼。。。

答案:這個遊戲的目標是引導一個青蛙避開來往車輛,橫穿一條繁忙的公路。你可以用一個數列來代表一條車道。將方案簡化成一條N車道的公路。我們只找到 一個對此問題的解答,它來自Glassdoor.com網站:“一個方法是寫一個遞迴演算法來決定何時等待,何時跳進下一個車道。這由下條車道中是否有逐漸 接近的障礙物來決定。”

應聘職位:軟體工程師

14、Google每年收到多少份軟體工程師的簡歷?這也是在考察應試者是否有能力把問題簡單明確化,並提出創造性的解決方案。

答案:一個“量化報酬分析師”職位的求職者,應該知道2008年Google僱傭了3400人。估計其中75%,即2550人,應該是工程師,並且 Google和哈佛的錄取率類似,即從申請人中取3%。由此可知應該收到大約85000簡歷(85000 x 3% = 2550)

應聘職位:量化報酬分析師

15、給你一個數字連結串列。連結串列到頭之後又會從頭開始(迴圈連結串列)。請寫出尋找連結串列中最小數字的最高效演算法。找出此連結串列中的任意給定數字。連結串列中的 數字總是不斷增大的,但是你不知道迴圈連結串列從何處開始。例:38, 40, 55, 89, 6, 13, 20, 23, 36。

答案:我們最喜歡的答案來自讀者”dude”:建立臨時指標並從根上開始。(迴圈連結串列大多數情況下都有向前或向後指標。)判斷是向前更大還是向後更 大。如果向前更大則知道已達到連結串列最後,又重新位於連結串列開始位置。如果向前更大,那你可以向後搜尋並進行數字比較。如果既沒有根也沒有指標指向連結串列,那麼 你的資料就丟失在記憶體中了。

應聘職位:量化報酬分析師

相關推薦

15Google試題以及答案

1、 村子裡有100對夫妻,其中每個丈夫都瞞著自己的妻子偷情。村裡的每個妻子都能立即發現除自己丈夫之外的其他男人是否偷情,唯獨不知道她自己的丈夫到底有沒有偷情。村裡的規矩不容忍通姦。任何一個妻子,一旦能證明自己的男人偷情,就必須當天把他殺死。村裡的女人全都嚴格照此規矩辦事

Java String 試題以及答案

other dart ole ash 技術 目錄 不同 iter 存在 String是最常使用的Java類之一,整理的了一些重要的String知識分享給大家。 作為一個Java新手程序員,對String進行更深入的了解很有必要。如果你是有幾年Java開發經驗,可以根據目錄選

基於Selenium的Web自動化測試實戰&試題以及答案整理

1.你如何用Selenium測試? Selenium+Maven+TestNG+Jekins   2.你在測試中常遇到哪些問題? 這個常見的比如定位問題,   3.如何解決問題? 先思考,然後百度,考慮網速、電腦配置等原因,這題主要看重解決問題的能力和

Google試題——及答案

分享一下我老師大神的人工智慧教程!零基礎,通俗易懂!http://blog.csdn.net/jiangjunshow 也歡迎大家轉載本篇文章。分享知識,造福人民,實現我們中華民族偉大復興!        

2018年,最經典的26JavaScript試題答案

根據 Stack Overflow 的 2018 年度調查,JavaScript 連續六年成為最常用的程式語言。所以我們必須面對這樣的現實,JavaScript 已經成為全棧開發技能的基石,在全棧開發面試中都會不可避免地涉及到與 JavaScript 有關的問題。FullStack.Cafe 彙編了

115Java試題答案——終極(上)

本文我們將要討論Java面試中的各種不同型別的面試題,它們可以讓僱主測試應聘者的Java和通用的面向物件程式設計的能力。下面的章節分為上下兩篇,第一篇將要討論面向物件程式設計和它的特點,關於Java和它的功能的常見問題,Java的集合類,垃圾收集器,第二篇主要討論異常處理,J

大資料試題以及答案整理(一)

kafka的message包括哪些資訊 一個Kafka的Message由一個固定長度的header和一個變長的訊息體body組成 header部分由一個位元組的magic(檔案格式)和四個位元組的CRC32(用於判斷body訊息體是否正常)構成。當magic的值為

一線網際網路企業必問120道Java試題以及答案

多執行緒、併發及執行緒的基礎問題 1)Java 中能建立 volatile 陣列嗎? 能,Java 中可以建立 volatile 型別陣列,不過只是一個指向陣列的引用,而不是整個陣列。我的意思是,如果改變引用指向的陣列,將會受到 volatile 的保護,但是如果多個執行緒同時改變陣列的元素

基於Selenium的Web自動化測試實戰&試題以及答案整理

1.你如何用Selenium測試? Selenium+Maven+TestNG+Jekins 2.你在測試中常遇到哪些問題? 這個常見的比如定位問題, 3.如何解決問題? 先思考,然後百度,考慮網速、電腦配置等原因,這題主要看重解決問題的能力和思維。

大資料開發工程師試題以及答案整理(一)

kafka的message包括哪些資訊 一個Kafka的Message由一個固定長度的header和一個變長的訊息體body組成 header部分由一個位元組的magic(檔案格式)和四個位元組的CRC32(用於判斷body訊息體是否正常)構成。當magic的值為1的時候,會

中級Java軟體開發試題以及答案

1、談談對面向物件的理解;以及三大特徵;        面向物件是基於萬物皆物件這個觀點. 把一個物件抽象成類,具體上就是把一個物件的靜態特徵和動態特徵抽象成屬性和方法,也就是把一類事物的演算法和資料結構封裝在一個類之中,程式就是多個物件和互相之間的通訊組成的。 比如

115Java試題答案——終極列表(上)

本文我們將要討論Java面試中的各種不同型別的面試題,它們可以讓僱主測試應聘者的Java和通用的面向物件程式設計的能力。下面的章節分為上下兩篇,第一篇將要討論面向物件程式設計和它的特點,關於Java和它的功能的常見問題,Java的集合類,垃圾收集器,<a href

ajax的經典試題以及答案

1、什麼是AJAX,為什麼要使用Ajax(請談一下你對Ajax的認識) 什麼是ajax: AJAX是“Asynchronous JavaScript and XML”的縮寫。他是指一種建立互動式網頁應用的網頁開發技術。 Ajax包含下列技術: 基於web標準(standar

115Java試題答案——終極列表(上) (下)

115個Java面試題和答案——終極列表(上) http://www.importnew.com/10980.html#gc 115個Java面試題和答案——終極列表(下)http://www.importnew.com/11028.html

jsp及Servlet經典試題以及答案

name的request的引數值 getAttribute(String name):返回由name指定的屬性值 getAttributeNames():返回request物件所有屬性的名字集合,結果是一個列舉的例項 getCookies():返回客戶端的所有Cookie物件,結果是一個Cookie陣列 ge

115Java試題答案——終極列表(上)

文我們將要討論Java面試中的各種不同型別的面試題,它們可以讓僱主測試應聘者的Java和通用的面向物件程式設計的能力。下面的章節分為上下兩篇,第一篇將要討論面向物件程式設計和它的特點,關於Java和它的功能的常見問題,Java的集合類,垃圾收集器,第二篇主要討論異常處理,Java小應用程式,Swing,JD

115Java試題答案——(下)

第一篇討論了面向物件程式設計和它的特點,關於Java和它的功能的常見問題,Java的集合類,垃圾收集器,本章主要討論異常處理,Java小應用程式,Swing,JDBC,遠端方法呼叫(RMI),Servlet和JSP。異常處理 Swing JDBC JSP 異常處理 43.Java中的兩種異

前端十基礎試題答案

1、DOM結構——兩個節點之間可能存在哪些關係以及如何在節點之間任意移動。document.documentElement 返回文件的根節點<html> document.body <body> document.activeElem

找工作的你不容錯過的45PHP試題答案(下篇)

找工作的你不容錯過的45個PHP面試題附答案(上篇) Q28:你將如何使用PHP建立Singleton類? /** * Singleton class * */ final class UserFactory { /** * Call this method to get

15頂級Java多線程試題答案

ctrl 打印 MF 進程 lock 異常 mage 分析 iar 在任何Java面試當中多線程和並發方面的問題都是必不可少的一部分。如果你想獲得任何股票投資銀行的前臺資訊職位,那麽你應該準備很多關於多線程的問題。在投資銀行業務中多線程和並發是一個非常受歡迎的話題,特別是電