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