7.2 面試真題 & 詳解
A friend of mine had an interview a couple weeks ago with Google Inc. He provided me a list of just some of the questions he was asked. I’ve added a few more from others I have talked to who had interviews with the internet giant,Google, as well. See if you can answer them. Many are open ended with several right answers, therefore I did not provide the answers.
1. How many golf balls can fit in a school bus?
2. You are shrunk to the height of a nickel and your mass is proportionally reduced so as to maintain your original density.
You are then thrown into an empty glass blender. The blades will start moving in 60 seconds. What do you do?
3. How much should you charge to wash all the windows in Seattle?
4. How would you find out if a machine’s stack grows up or down in memory?
5. Explain a database in three sentences to your eight-year-old nephew.
6. How many times a day does a clock’s hands overlap?
7. You have to get from point A to point B. You don’t know if you can get there. What would you do?
8. Imagine you have a closet full of shirts. It’s very hard to find a shirt. So what can you do to organize your shirts for easy retrieval?
9. Every man in a village of 100 married couples has cheated on his wife. Every wife in the village instantly knows when a man other than her husband has cheated, but does not know when her own husband has. The village has a law that does not allow for adultery. Any wife who can prove that her husband is unfaithful must kill him that very day. The women of the village would never disobey this law. One day, the queen of the village visits and announces that at least one husband has been unfaithful. What happens?
10. In a country in which people only want boys, every family continues to have children until they have a boy. if they have a girl, they have another child. if they have a boy, they stop. what is the proportion of boys to girls in the country?
11. If the probability of observing a car in 30 minutes on a highway is 0.95, what is the probability of observing a car in
10 minutes (assuming constant default probability)?
12. If you look at a clock and the time is 3:15, what is the angle between the hour and the minute hands? (The answer to this is not zero!)
13. Four people need to cross a rickety rope bridge to get back to their camp at night. Unfortunately, they only have one flashlight and it only has enough light left for seventeen minutes. The bridge is too dangerous to cross without a flashlight,and it’s only strong enough to support two people at any given time. Each of the campers walks at a different speed. Onecan cross the bridge in 1 minute, another in 2 minutes, the third in 5 minutes, and the slow poke takes 10 minutes to cross.How do the campers make it across in 17 minutes?
14. You are at a party with a friend and 10 people are present including you and the friend. your friend makes you a wager that for every person you find that has the same birthday as you, you get $1; for every person he finds that does not have the same birthday as you, he gets $2. would you accept the wager?
15. How many piano tuners are there in the entire world?
16. You have eight balls all of the same size. 7 of them weigh the same, and one of them weighs slightly more. How can you find the ball that is heavier by using a balance and only two weighings?
17. You have five pirates, ranked from 5 to 1 in descending order. The top pirate has the right to propose how 100 gold coins should be divided among them. But the others get to vote on his plan, and if fewer than half agree with him, he gets killed. How should he allocate the gold in order to maximize his share but live to enjoy it? (Hint: One pirate ends up with 98 percent of the gold.)
Do you still think you have what it takes to work for Google?
谷歌面試真題二: 第一題:多少只高爾夫球才能填滿一輛校車?(職位:產(chǎn)品經(jīng)理)解析:通過這道題,谷歌希望測試出求職者是否有能力判斷出解決問題的關(guān)鍵。
網(wǎng)友的答案:我想,一輛標準大小的校車約有 8 英尺寬、6英尺高、20英尺長——我能知道這些數(shù)字完全是因為我曾經(jīng)無數(shù)次被堵在校車后面。
據(jù)此估算,一輛校車的容積約為 960 立方英尺,也就是 160 萬立方英寸。一個高爾夫球的半徑約為0.85英寸,我認為一個高爾夫球的體積約為2.6立方英寸。
用校車的容積除以高爾夫球的體積,得到的結(jié)果是 66 萬。不過,由于校車里面還有座位等等各種東西,而且高爾夫球的形狀使得不同的球之間會有不少空隙。我的最終估算結(jié)果是 50 萬。這聽起來有些荒唐。如果我直接猜的話,我給出的答案肯定是 10 萬以下,不過我相信我的數(shù)學(xué)水平。
當然,如果這里的校車是小布什當年坐過的那種,結(jié)果還要除以2,差不多是 25 萬個。
第二題:讓你清洗西雅圖所有的玻璃窗,你的報價是多少?(職位:產(chǎn)品經(jīng)理)答案:這一題我們可以玩點花招,我們的答案是“每扇窗 10 美元”。
第三題:有一個人們只想生男孩子的國家,他們在有兒子之前都會繼續(xù)生育。如果第一胎是女兒,他們就會繼續(xù)生育直到有一個兒子。這個國家的男女兒童比例是多少?(職位:產(chǎn)品經(jīng)理)答案:這一題引發(fā)了不少爭議,不過我們發(fā)現(xiàn),這一題的解答步驟如下:
1、假設(shè)一共用 10 對夫妻,每對夫妻有一個孩子,男女比例相等。(共有 10 個孩子,5男 5 女);
2、生女孩的 5 對夫妻又生了 5 個孩子,男女比例相等。(共有 15 個孩子,男女兒童都是7.5個);
3、生女孩的2.5對夫妻又生了2.5個孩子,男女比例相等。(共有 17.5 個孩子,男女兒童都是8.75個);
4、因此,男女比例是1:1。
第四題:全世界共有多少名鋼琴調(diào)音師?(職位:產(chǎn)品經(jīng)理)答案:我們的回答是“要看市場情況。如果鋼琴需要每周調(diào)音一次,每次調(diào)音需要 1 個小時,且每個調(diào)音師每周工作 40 個小時。我們認為每 40 臺鋼琴就需要一名調(diào)音師。”
這個問題又被稱為“費米問題”(Fermi problem)。費米提出的問題是“在芝加哥有多少鋼琴調(diào)音師”。一個典型的答案是包括一系列估算數(shù)據(jù)的乘法。如果估計正確,就能得到正確答案。比如我們采用如下假設(shè):
芝加哥約有 500 萬人居住;
平均每個家庭有 2 人;
大約有1/20的家庭有定期調(diào)音的鋼琴;
平均每臺鋼琴每年調(diào)音一次;
每個調(diào)音師調(diào)整一臺鋼琴需要 2 小時;
每個調(diào)音師每天工作 8 小時、每周 5 天、每年 50 周。
通過這些假設(shè)我們可以計算出每年在芝加哥需要調(diào)音的鋼琴數(shù)量是:
(芝加哥的 500 萬人口)/(2人/家)×(1架鋼琴/20家)×(1架鋼琴調(diào)整/1年)=125000
平均每個調(diào)音師每年能調(diào)整的鋼琴數(shù)量是:
(50周/年)×(5天/周)×(8小時/天)/(1架鋼琴/2小時)=1000
芝加哥的調(diào)音師數(shù)量是:
(芝加哥需要調(diào)音的鋼琴數(shù)量 125,000)/(每個調(diào)音師每年能調(diào)整的鋼琴數(shù)量 1000)=125
第五題:馬路上的井蓋為什么是圓的?(職位:軟件工程師)答案:圓形的井蓋在任何角度都不會掉下去。
第六題:為舊金山市設(shè)計一個緊急撤離方案(職位:產(chǎn)品經(jīng)理)答案:這又是一個考察求職者是否能夠發(fā)現(xiàn)問題核心的題目。我們在回答之前首先要問的是,“撤離方案應(yīng)對的是什么樣的災(zāi)難”。
第七題:一天之中,時鐘的時針和分鐘會重合幾次?(職位:產(chǎn)品經(jīng)理)答案:22次。
重合的時間點分別是:上午,12:00、1:05、2:11、3:16、4:22、5:27、6:33、7:38、8:44、9:49、 10:55;下午 12:00、1:05、2:11、3:16、4:22、5:27、6:33、7:38、8:44、9:49、10:55。
第八題:請闡述“Dead beef”的意義。(職位:軟件工程師)答案:網(wǎng)友給出的正確答案是,在大型機和匯編語言的時代,“DEADBEEF”是調(diào)試計算機時所使用的一個十六進制值,以便于在大量的十六進制中斷信息中標記和查找特定的內(nèi)存數(shù)據(jù)。大多數(shù)計算機科學(xué)專業(yè)畢業(yè)生都應(yīng)該會在匯編語言的課程上見過這個概念。
第九題:有人把車停在旅館外,丟失了他的財物,他接下來會干什么?(職位:軟件工程師)答案:下車踏到人行道上。
第十題:你需要確認朋友鮑勃是否有你正確的電話號碼,但不能直接問他。你須在一張卡片上寫下這個問題,然后交給愛娃,由愛娃把卡片交給鮑勃,再轉(zhuǎn)告你答案。除了在卡片上寫下這個問題外,你還必須怎樣寫,才能確保鮑勃在給出答案的同時,不讓愛娃知道你的電話號碼?(職位:軟件工程師)答案:既然只需要核對鮑勃手中的號碼是否正確,你只需要讓他在某個特定的時刻給你打電話,如果他沒打過來的話,就能確認他沒有你的號碼。
第十一題:假設(shè)你是海盜船的船長,船員們即將對黃金的分配方案投票。如果贊成票不到半數(shù)的話,你會被殺死。你怎樣才能在保證自己存活的情況下拿到最多的黃金?(職位:軟件工程師)答案:將黃金平均分給最有權(quán)勢的 51% 的船員。
第十二題:有八個大小相等的球,其中有一個重量比其他球略重。如何在只用天平稱兩次的情況下找出那個不一樣的球?(職位:產(chǎn)品經(jīng)理)答案:從八個球中取出六個,在天平兩邊各放三個。如果平衡,把剩下的兩個球分別放在天平兩邊,就能找出較重的球。如果不平衡,較重的球就在天平下沉的一邊,從這三個當中取出兩個稱量,若不平衡,下沉的一邊較重,若平衡,剩下的就是較重的球。
第十三題:你拿著兩個雞蛋站在 100 層的大樓上。雞蛋或許結(jié)實到從樓頂?shù)粝乱膊粫て疲蛟S很易碎,在一樓摔下就破碎。最少試驗多少次可以找出雞蛋不會被摔碎的最高樓層?(職位:產(chǎn)品經(jīng)理)答案:14次。從 14 樓丟下第一顆雞蛋,如果破碎了就逐層往下試驗,共需 14 次。如果沒有破碎,往上走 13 層;在 27 樓第二次丟下第一顆雞蛋,如果碎了,換第二顆雞蛋往上走 12 曾測試,若仍沒碎,往上走 12 層試驗第一顆雞蛋;以此類推,直到走到第 99 層。如果雞蛋要到 100 層高度落下才會破碎,總共需要 14 次嘗試。’
第十四題:如果用三句話向你 8 歲大的侄子解釋什么叫數(shù)據(jù)庫?(職位:產(chǎn)品經(jīng)理)答案:這一題考察的是求職者用簡單的語言闡述復(fù)雜概念的能力。我們的答案是“數(shù)據(jù)庫是一個能夠記住關(guān)于很多東西的很多信息的機器。人們用它來幫助記住這些信息。出去玩吧。”
第十五題:你被縮小到只有硬幣厚度那么點高,然后被扔到一個空的玻璃攪拌機中,刀片一分鐘后就開始轉(zhuǎn)動。你會怎么做?(職位:產(chǎn)品經(jīng)理)答案:這一題考察的是求職者的創(chuàng)造性。我們會嘗試把電動機弄壞。
谷歌面試經(jīng)驗一:去年做了不少面試(據(jù)說自己的面試次數(shù)在Google全球都是排在前列的,有點兒不敢相信),也參加了好幾次校園招聘之類的活動,體會總或多或少有一些。也許可以給大家分享一些不涉及公司秘密的東西,一來讓大家了解Google為什么聚集了這么多出色的技術(shù)人才,二來也可以讓那些投簡歷的朋友在心理上準備得更充分一些——說實話,的確有些應(yīng)聘者是因為對Google招聘流程,還有面試要求不太適應(yīng),而沒有展現(xiàn)出自己應(yīng)有的水平的。
毫無疑問,Google在最近幾年里一直是世界頂尖技術(shù)人才的聚集地。遠的不說,在Google中國,我們身邊就有ACM世界冠軍,奧賽金牌得主,以及若干知名技術(shù)公司的前CTO。但這并不是說Google招的全都是那些擁有偌大的名頭或來歷的牛人,我覺得,只要有真本事,進Google并不像想象中那么難。
關(guān)于招聘流程,其實開復(fù)在《與未來同行》那本書的第185頁已經(jīng)講得非常清楚了,不外乎是下面幾個主要的步驟:
1. 篩選簡歷
2. 電話面試或筆試
3. 若干輪面試
4. “招聘小組”討論
5. “副總裁小組”最后復(fù)核
6. 發(fā)錄用通知,簽合同
篩選簡歷似乎和其他公司沒有什么本質(zhì)的不同。我經(jīng)常會在內(nèi)部系統(tǒng)中收到招聘團隊轉(zhuǎn)來的,要我?guī)兔匆豢床⒔o出建議的簡歷。在國內(nèi),大多數(shù)人的簡歷都會有中英文兩份。只要有中文簡歷,我一般就只看中文內(nèi)容了。但許多從美國來的同事就會優(yōu)先看英文簡歷。所以,投簡歷時中英文簡歷要盡量一致。
看應(yīng)屆畢業(yè)生的簡歷和看有工作經(jīng)驗的應(yīng)聘者的簡歷是大不相同的。
對于前者,說心里話,有區(qū)分度的信息通常不會很多,不外乎學(xué)習(xí)成績、論文或著述(如果有的話)、實踐項目(如果有的話)、競賽成績(如果有的話)等少數(shù)幾項,至于自己說自己精通某某,熟悉某某,這個東西水分多少很難講,反正我一般是權(quán)當參考的。所以,對應(yīng)屆畢業(yè)生更常見的做法是在學(xué);蚬九e行筆試,看筆試情況來決定誰可以進入下面的流程。
但對于有工作經(jīng)驗的人,簡歷就非常非常重要了,因為你可以很容易地利用各種信息,從兩份簡歷中比較出應(yīng)聘者的實力差異(當然不是絕對準確的,因為還要考慮某些人更善于包裝自己的因素)。在寫簡歷的時候,大家其實可以設(shè)身處地地想一想,如果你在審閱一份這樣的簡歷:應(yīng)聘者聲稱自己精通某某平臺,某某技術(shù)或某某語言,但又舉不出足夠有說服力的證據(jù);聲稱自己在前公司做過項目經(jīng)理、研發(fā)部經(jīng)理等關(guān)鍵職位,但又無法清楚地描述自己在關(guān)鍵職位上有什么樣的表現(xiàn);聲稱自己做過N多項目,但又舉不出一個有技術(shù)含量,或是可以體現(xiàn)自己價值的……你會給他或她進入后續(xù)流程的機會嗎?
電話面試是一件很有趣也很容易惹來爭議的事情。至少我自己覺得,雖然電話面試可以省些時間,但的確比較難于全面了解一個人,不像面對面的面試那樣有現(xiàn)場感,也沒有直接交流時的各種便利——比如,可以從對方眼神、表情中發(fā)現(xiàn)他的許多特點。具體到技術(shù)面試上來說,電話面試讓對方寫代碼是比較難的,據(jù)我所知,有的面試官的確會讓對方寫一段簡短的代碼,然后在電話中念出來。這個方法是不是真的有效,的確很難講。但同時,我個人認為,電話面試有一個最大的優(yōu)點,就是可以更容易地考察對方的語言交流能力:因為電話上的溝通不如面對面那么方便,在電話面試中你可以很容易地看到對方是如何利用這個“有限信道”來向你傳遞信息的。能夠在電話面試中清楚、明白地展示自身優(yōu)勢的人,至少在語言交流方面都不會有什么問題。——順便強調(diào)一下,交流和溝通能力對于現(xiàn)代軟件開發(fā)來說,實在是太重要了。
筆試主要是在招聘應(yīng)屆畢業(yè)生或?qū)嵙?xí)生的時候使用,去年Google在好幾所高校都做過比較大規(guī)模的筆試。那些筆試題目中,有一小部分是我出的,所以了解一些情況。和有些公司強調(diào)思維靈活性的智力題不一樣,Google的筆試題最最重視的學(xué)生在CS 專業(yè)上的基本功和靈活運用基礎(chǔ)知識解決問題的能力。去年用在校園招聘的筆試題有許多套,大多都分為選擇題和編碼或算法題兩個部分。做過這些題目的同學(xué)應(yīng)該比較清楚:選擇題考察的不外是對CS基礎(chǔ)課、專業(yè)課的掌握情況,可能會涉及數(shù)學(xué)、邏輯、計算機原理、數(shù)據(jù)結(jié)構(gòu)、算法、編譯原理、操作系統(tǒng)等方面;而編碼或算法題考察的則是編程的基本功力(比如對語法要素的正確使用,代碼的可讀性等等)和靈活運用算法知識解決具體問題的能力(比如算法的選擇,算法的優(yōu)化程度等等)。
其實,出筆試題是一件苦差事。要想得到邏輯上沒有漏洞,適于CS或相關(guān)專業(yè)的學(xué)生解答,易于上手,又有一定區(qū)分度的題目,實在是太難太難了。每套筆試題都要花費工程師許多精力,出完了題目,還要更多工程師來把關(guān),看有沒有漏洞。即便如此,去年用在高校的筆試題里還是存在少數(shù)表達含混或者邏輯上有漏洞的情況——在提高筆試題質(zhì)量方面,我們還得繼續(xù)努力。
若干輪的現(xiàn)場面試是應(yīng)聘者必須經(jīng)歷的,最有挑戰(zhàn)性的,也最能影響面試結(jié)果的環(huán)節(jié)。Google對人才的要求向來都很高,這種要求也主要體現(xiàn)在現(xiàn)場面試的環(huán)節(jié)中。一個應(yīng)聘者在若干輪的現(xiàn)場面試中,可能要面對的是有不同技術(shù)背景或技術(shù)特長的面試官,每個面試官所考察的重點也可能各有側(cè)重,每個面試官也都有自己喜歡的提問方法和面試題目。達不到標準的人要想在Google的若干輪面試中“蒙混過關(guān)”,概率應(yīng)該是接近于零的吧。
許多人都想知道Google在面試中最看重的是應(yīng)聘者哪方面的能力。我記得在去年在校園宣講中曾反復(fù)強調(diào)過:僅從專業(yè)角度上說,Google會要求一個應(yīng)聘者既具有扎實的CS基本功,也擁有靈活的思維方式和解決新問題的能力。當然,專業(yè)以外的東西,比如真誠、坦率,比如交流能力,對職業(yè)的正確態(tài)度等等,有時比專業(yè)能力更重要。
因為每個面試官有每個面試官的特點,不大好介紹和評價其他同事的面試方法。我自己在面試時,一般喜歡先考察一個偏重基本功的題目,然后再考察一個偏重思維靈活性的問題。我還有一個傾向,可能也是某些應(yīng)聘者比較擔(dān)心的,就是邊聊邊問,根據(jù)應(yīng)聘者的自我介紹,提最有針對性的問題。比方說,對方講,自己有五年的C語言編程經(jīng)驗,精通(老實說,面試多了,對 “精通”這個詞就非常敏感,總覺得這個詞背后是有無數(shù)玄機的)C語言,那我多半就會立即考察一下對方對C語言指針或函數(shù)調(diào)用的掌握程度;如果對方說自己精通的其實是JavaScript語言,那我自然會渴望知道,對方是不是真的清楚,JavaScript作為一種動態(tài)語言或腳本語言有哪些與眾不同的語法特點;如果對方說自己對J2EE平臺和流行的框架非常熟悉,那我一般會先從最基本的面向?qū)ο笤O(shè)計以及最基本Java對象模型開始問起;如果對方說自己有豐富的軟件設(shè)計經(jīng)驗,那我這里有好幾個并不一定真正存在的軟件需求,需要對方畫出系統(tǒng)架構(gòu)的設(shè)計圖來。
面試時現(xiàn)場寫代碼或現(xiàn)場設(shè)計算法幾乎是一定會發(fā)生的事情。拿我來說,對方寫代碼時直接敲在電腦上或是寫在紙上,選用什么樣的語言,或者使用什么樣的代碼風(fēng)格,其實都是無所謂的。我最最關(guān)心的是應(yīng)聘者對編程序這件再普通不過的事情的理解程度。一般說來,只要時間允許,我都會和應(yīng)聘者一起,逐行討論他剛寫出的代碼,比如函數(shù)接口設(shè)計是否合理,有沒有其他的設(shè)計方式,變量類型的選擇是否合適,代碼運行時的時間或空間開銷是否太大,代碼中兩個看上去相似的片段是否可以合并,等等等等。如果是現(xiàn)場設(shè)計算法,那我一般會要求對方在紙上用最直觀的圖示把他的算法思路表現(xiàn)出來——這多半是因為我的腦子比較慢,如果對方不能描述得非常清楚的話,我很難判斷他的答案究竟是不是正確。一般說來,Google經(jīng)常使用的面試題目都可以從不同的角度入手來解答,出色的應(yīng)聘者還經(jīng)常能想出面試官從未見過,又完全正確的新答案來。所以,做面試官也要開動腦筋,判斷對方的答案哪一步正確,哪一步有問題。幾場面試下來,面試官也要消耗許多腦力和體力的。
面試結(jié)束后,面試官要寫面試報告,而且要用英文來寫。寫報告會占用不少時間,我自己的英文并不熟練,一個45分鐘左右的面試結(jié)束后,就多半要花20到30分鐘來寫報告。不過一年下來,寫面試報告倒成了自己提高英文寫作能力的一個重要練習(xí)項目,也算是對付出的這許多時間的一種回報吧。
正如開復(fù)在書中所介紹的那樣,所有面試報告都要送到“招聘小組”和“副總裁”小組評審。一個應(yīng)聘者是否能加入Google,就要看這兩次評審的結(jié)果了。
先大概介紹到這里吧,其他相關(guān)的感想以后再續(xù)。
谷歌面試經(jīng)驗二:據(jù)說面試的順序于17日筆試成績有關(guān),我今天下午才面,肯定是考的不咋地。
下午3點到了google,大廳的沙發(fā)上坐了幾個乖孩子,對著大屏幕看GoogleEarth。 不知道那東西有啥好看的。
于是偶跑去旁邊的電腦上google,搜搜算法,磨磨槍。 順便跑上來tk這里的面經(jīng)。
之后一起簽NDA,旁邊一個家伙居然簽在左下角google(甲方)的位置上。
第一輪開始,面試官沒介紹自己,也不知道是誰。 作了三道題。說實話,有的題還是挺考編程功力的。 算法題俺沒編程序,也忘了分析復(fù)雜性了,就是說了思路。 看前面的面經(jīng)說坐了幾題錯了幾題,不明白怎么會有做錯的。 不知道是不是指最初的解法是錯的。俺是在面試官提示了幾次之后給出的算法, 面試官說對了,就開始下一題了。
面試官問我有什么問題要問時,我說想知道17號的筆試錯了幾道題。 (選擇題我只記得錯了一道,working set那題,蒙錯了; 最后一道大題想太多了,做得不好)
面試官說我的卷子上標著錯了倆選擇,但他翻了翻發(fā)現(xiàn)就錯了一個。
第二輪比較慘,費了半天勁,就做了一道題,時間就到了。然后就灰溜溜地出來了。
這些題,說實話,用到的知識、想法都挺基本的。不能想得太難太復(fù)雜, 就當平時的作業(yè)題來做的話,應(yīng)該就對路了。
不管這輪結(jié)果如何,算是個面試經(jīng)歷,寫在這兒, 作用相當于“到此一游”。
谷歌面試經(jīng)驗三:下午四點的面,等了一個小時…… 三樓某房,難道以前所有面試都在那?
Google面試官gg挺好的。
流程如下:
簡單自我介紹,該gg此時看我簡歷等,簡單交流
三道題:
第一道,上來就理解錯誤了,該gg反復(fù)提示、交流后,才找到方法 相信此時,該gg已經(jīng)無語了。
收獲:面試時一定要多和面試官交流
第二道,沒有算法,考察細節(jié)的,我居然把時間都放在細枝末節(jié)處了……而真正應(yīng)該 注意的細節(jié)沒有考慮到,回來的路上想出來兩個沒有考慮到的。
第三道,筆試前大家在一起看網(wǎng)上搜到的30道g面試題,熱烈討論。太意外了,簡直 是太意外了,居然真的問到了,ft……但是我居然忘了怎么弄了,是真的忘了。從頭 想……苦思冥想后,依然沒有想到……感慨自己實在是太vk了……
最后,該gg讓我問他,隨便問。
結(jié)束
掛看來是必須的了,不過,處男面還是積攢了很多經(jīng)驗,總之,這次沒有白來。 下次繼續(xù)努力。
谷歌面試經(jīng)驗四:
一個月前面的google zurich,最后還是被無情的拒了,努力回憶一下面試過程,希望對大家有幫助。 歐洲讀完碩士,研究背景是AI。不算專門的校園招聘,雖然我剛畢業(yè)。
第一輪電話面試,蘇黎世的HR跟我事先約好時間,大概30分鐘,非技術(shù)面試,但是也很有針對性,先給我介紹了zurich在google整個歐洲的情況,和愛爾蘭的區(qū)別,基本zurich偏研究,hr說甚至是PM,也要寫程序的,hoho. 然后根據(jù)我的簡歷問了些問題,問了我在國內(nèi)某研發(fā)中心的實習(xí)的相關(guān)信息,AI中課程的相關(guān)信息,對何種編程語言熟悉,為什么申請google.對google的了解程度,搜索技術(shù)方面的基本知識,談的很順利。告訴我會有3輪電話面試,第一輪非技術(shù)面,然后2輪美國來的技術(shù)面,最后一輪onsite,到zurich;緯掷m(xù)1個多月。
然后第二輪電話面試,直接美國打來,因為我是AI背景的,所以第一輪面試的HR就說會幫我找個同樣背景的工程師來二面,結(jié)果是個女工程師,因該也是AI背景的。
基本上問題比較基本,首先問了我的thesis project, 我搞得是probabilistic relational model,算是bayesian network的一個extension,用這套理論來做BI里gene的clustering,她就讓我把我的project跟他解釋一下。 然后她問我了AI里的哪些技術(shù)可以做classification, 我提到了決策樹,ANN,SVM,Bayesian Approach等。 接下來她考得是具體編程的一些知識,數(shù)據(jù)結(jié)構(gòu)方面的知識,某兩種數(shù)據(jù)結(jié)構(gòu)的優(yōu)劣,具體哪兩個忘了,大概就是List,tree啥的,然后問我如果有個字母組合,比如a,b,c等,如何產(chǎn)生所有的組合,這個比較簡單,她讓我把基本的算法寫出來給她,我用了個遞歸,然后她又問如何提高效率,比如有的組合肯定不是我們所想要的詞的話,該用何種方法來提高效率跳躍的靈魂好像還提了幾個問題,想不起來了。
最后就問我有什么問題問她,之前的面試我感覺都不錯,面試官也不時的說cool,到了最后這里我就犯糊涂了,由于google搞得東西自己一直是非常感興趣的,之前列了很多的問題,但是到最后變成我在告訴它google有哪些地方可以值得改進的,給出了好多個可以改進的地方,比如對搜索結(jié)果的clustering(有的搜索引擎也有這方面的功能),可以用topographic map的方法對搜索結(jié)果可視化,這樣相關(guān)的關(guān)鍵字或者搜索結(jié)果在整個圖上就會出現(xiàn)在鄰近區(qū)域,或者相同顏色的地方,然后可以用google earth那種不斷放大的方法,繼續(xù)對搜索結(jié)果進行專業(yè)化,這種對搜索結(jié)果的exploring的方式應(yīng)該會很有趣。 總之類似這種得建議我提了好幾個,然后到最后聽出來面試官好像不太高興了,她可能覺得我懂得到不多,過于狂妄~~ 這個估計是整個面試的敗筆,還是經(jīng)驗不足。所以大家提問題的時候還是本本分分提幾個問題比較好,別太張揚。
然后大概過了2周就收到google的拒信了。
谷歌面試經(jīng)驗五:周圍同學(xué)的一些Google 的電話面經(jīng):
1. 項目經(jīng)歷;
2. 你覺得哪個項目最富有挑戰(zhàn)性?你怎么解決那些問題的?
3. struct 和 class 的區(qū)別
4. linux 下的一些基本命令
5. 引用和指針的區(qū)別,用法
6. 單向鏈表的刪除操作,已知 head,p(指向被刪除元素),要求復(fù)雜度為 O(1) (題目似有誤)
7. Google Destop Search 的一些技術(shù)法?后面的問題更有一些深度:這個算法(他會給出一個正確的算法思路)有什么效率上的問題,如何解決;如果這個算法經(jīng)常要被調(diào)用,如何設(shè)法使效率提高?
9. 對現(xiàn)在的 Stack(棧)數(shù)據(jù)結(jié)構(gòu)進行改進,加一個 min()功能,使之能在常數(shù),即 O(1),時間內(nèi)給出棧中的最小值?蓪 push()和 pop()函數(shù)進行修改,但要求其時間復(fù)雜度都只能是 O(1)。
10. 用 C/C++編程如何確定所在的計算機上棧的增長方式(是從高到低,還是從低到高)
11. 你要如何實現(xiàn)類似 Google 的拼寫檢查(即糾正用戶輸入關(guān)鍵字中的錯誤單詞)?
12. 如果進入 Google,讓你自由地選擇一個課題,你會做什么方面的?