職位類型:技術(shù)類
面試地點(diǎn):廣州
招聘公司:Google谷歌
我非常喜歡Google公司,也想進(jìn)Google工作,于是想在大三下半學(xué)期去Google實(shí)習(xí)。當(dāng)時(shí)正好有師兄在谷歌里面,就請(qǐng)他幫忙推薦了一下。本來有了這個(gè)便利是可以不用筆試的,不過想想還是靠自己的實(shí)力吧,于是還是參加了宣講會(huì)和筆試。
谷歌技術(shù)崗位實(shí)習(xí)生面試經(jīng)歷及實(shí)習(xí)收獲
筆試
我感覺Google的筆試重視的是CS所學(xué)的基礎(chǔ)知識(shí),特別是選擇題、操作系統(tǒng)、編譯原理、編程等都考察到了,而且在網(wǎng)上搜筆經(jīng)的時(shí)候有看到其他人說起過,如果筆試時(shí)候的選擇題沒達(dá)到要求的題目數(shù),就會(huì)被直接cut掉,不看后面的主觀題。雖然無從驗(yàn)證消息的真實(shí)性,不過大家做筆試的時(shí)候還是要多加小心。
筆試的主觀題一般似乎都是考的算法,對(duì)于平時(shí)沒怎么寫過算法題目的同學(xué)會(huì)比較難,不過我認(rèn)識(shí)的一起去筆的ACM的大牛們都覺得很簡(jiǎn)單,所以建議以后想去筆g家的師弟師妹們還是要好好準(zhǔn)備下算法這part,g還是蠻重視這方面的。
順利通過了筆試,然后就是面試了,這是偶的處女面,當(dāng)時(shí)心里超級(jí)緊張,簽了保密協(xié)議就在那里等。
一面
第一面面我的是stephenGe,問了我一個(gè)很經(jīng)典的算法題目的變種,屬于該經(jīng)典問題的一個(gè)特殊情況,不過由于簽了保密協(xié)議就不在這里說了,如果有看過《具體數(shù)學(xué)》這本書的話應(yīng)該有看過類似的變種,是有O(1)的算法。
可惜我當(dāng)時(shí)真的是太緊張了,雖然看過類似的題目也想往那個(gè)方向想,可惜還是沒能想出來,于是只能從頭開始推,最后勉勉強(qiáng)強(qiáng)在錯(cuò)了幾次和面試官的提醒下,推出了個(gè)O(n)的,然后就結(jié)束了。其實(shí)我想應(yīng)該會(huì)面兩道的,不過可能因?yàn)槲业臅r(shí)間已經(jīng)用完了,所以面試官?zèng)]有再問。
然后當(dāng)天回去后以為要當(dāng)炮灰了,結(jié)果過了幾天好很驚異的發(fā)現(xiàn)自己收到了二面通知,當(dāng)時(shí)真的是很開心,估計(jì)是因?yàn)槲业拇鸢鸽m然沒有最優(yōu),但是O(n)對(duì)那個(gè)經(jīng)典問題的一般情況可以算是最優(yōu)的,所以被放過了吧。
二面
二面我的是wang chaogg,很nice的一個(gè)人,問的問題也不難,方法一下子就想到了,不過我還是經(jīng)驗(yàn)不足,寫代碼的時(shí)候?qū)懗隽撕芏嘈″e(cuò)誤,影響了這面的成績(jī)。
這里提醒一下大家,要面Google、微軟這類公司,可能會(huì)要求你當(dāng)場(chǎng)寫出可運(yùn)行代碼的公司的時(shí)候,最好在去面試之前好好練習(xí)一下,先自己習(xí)慣一下在紙上coding的感覺。我就是訓(xùn)練得太少,結(jié)果當(dāng)時(shí)出了很多低級(jí)錯(cuò)誤,例如把a(bǔ)<;<;=1寫成了a<;<;1之類,搞的每次改完一編wang chao都會(huì)問我,"你要不要再檢查一下",然后還每每能找出我的錯(cuò)誤,弄得我當(dāng)時(shí)完全郁悶了……
還有就是Google對(duì)細(xì)節(jié)的要求是很高的,記得當(dāng)時(shí)我代碼當(dāng)中寫了一句int n=lg(s)/lg(2);然后面試官就當(dāng)場(chǎng)就把我的代碼敲了進(jìn)去測(cè)試,把結(jié)果給我看,原來是想告訴我這句可能會(huì)有精度問題,話說我雖然平時(shí)也知道會(huì)有這種問題存在,可是沒想到會(huì)要求到這個(gè)程度,還好我接著說那就加個(gè)1e-7之類的就好了,似乎面試官覺得這個(gè)答案還可以,沒繼續(xù)追問……
然后就拿是拿到了Google的實(shí)習(xí)offer,去了北京。
實(shí)習(xí)收獲:這里再說一下實(shí)習(xí)里面學(xué)到的東西。
1.好的coding style,這是我之前比較欠缺的一方面,也是我本科很少訓(xùn)練的一方面,之前都是覺得寫個(gè)程序能把結(jié)果弄出來就是了,其實(shí)一個(gè)好的coding style會(huì)使你的代碼易讀性大幅度提高。
2.文檔和注釋的規(guī)范化,在那里第一次體驗(yàn)了寫文檔和寫注釋比寫代碼花費(fèi)更多時(shí)間的情況,無數(shù)次被老板讓我改注釋,話說我之前寫程序都是很少寫文檔的...同時(shí)也很佩服engineer們對(duì)代碼的嚴(yán)格要求,嚴(yán)格到了就算注釋里面少打了一個(gè)空格都會(huì)很細(xì)致的給我指出,有時(shí)也許會(huì)想,也許就是這些對(duì)無數(shù)性能和細(xì)節(jié)上的精益求精,才造就了Google今天的成功吧~寫出這些是希望師弟師妹們吸取我的教訓(xùn),在coding的時(shí)候也注意下這些方面~
3.intern的conversion,也就是申請(qǐng)full time再加的兩輪面試,不過其中一面面得不好,于是fail掉了。
Google的面試制度
最后再介紹下我了解到的Google的面試制度,一般申請(qǐng)full time最少要面4面,由4個(gè)不同的enginner來面。面試的內(nèi)容和范圍不定,不過一般都會(huì)根據(jù)你簡(jiǎn)歷上寫的來問,所以如果自己沒做過的項(xiàng)目,不擅長(zhǎng)的方面就不要往上寫了……
如果你是本科生沒做過什么項(xiàng)目,又除了學(xué)校教的一些基礎(chǔ)知識(shí)外沒學(xué)過多少課外的東西,那么一般一開始都會(huì)被問到算法,我自己碰到的難度感覺上大概是poj上那些三四百人過的難度,不過在水木看到有人說碰到的難度和top coder srm div1的250分題目差不多,這個(gè)難度對(duì)那些平時(shí)搞算法的大牛估計(jì)就是秒殺的難度了,不過如果是平時(shí)比較少玩算法的,可以針對(duì)上面的難度準(zhǔn)備下~
好了,我的面試過程、實(shí)習(xí)收獲還有了解到的東西都告訴大家了,希望大家都能求職順利啦。