有好多朋友問(wèn)硅谷公司招工程師的基本流程。作為應聘者,我試過(guò)Facebook,Google,Yahoo,Oracle,均拿過(guò)offer; 作為面試人員,面試過(guò)不下于300余人,清楚大概流程,做此短文,希望對于希望去硅谷工作的朋友,或正在準備面試的朋友,或正在設計招人流程的創(chuàng )業(yè)公司有所啟發(fā)。經(jīng)驗有限,如有毗漏,請指正。
面試機會(huì )
在硅谷,最容易獲得招人的機會(huì )是熟人推薦。就是目標公司的某某人是你的朋友,你讓她給你做一個(gè)內部推薦。Facebook大概60-70%的員工是通過(guò)這種方式雇傭的。Facebook最早期的一大撥中國籍工程師都是我做內部推薦面試進(jìn)來(lái)的。熟人推薦對于求職的朋友還是公司相對成本都要低。對于求職的人,可以通過(guò)熟人了解公司內部的真實(shí)情況; 對于公司,熟人的推薦讓求職人的質(zhì)量得到一個(gè)背書(shū)。也是介于此,我收到過(guò)不下200多個(gè)推薦的請求,但我決定做的推薦不到100,其中有12個(gè)朋友成功了,每個(gè)成功的推薦公司給5000刀的獎金。做內部推薦的員工應該對自己的推薦有所篩選,不能一味為了推薦獎金來(lái)一個(gè)推一個(gè); 否則,很快你的名聲要爛掉。
這里講一個(gè)我自己的故事。我找到的第一份工作是通過(guò)2005年在Chicago的KDD大會(huì )上和Yahoo 數據挖掘部門(mén)的一個(gè)技術(shù)總監陶瓷獲得的面試機會(huì )。開(kāi)會(huì )的閑暇時(shí)間,我在展廳里面瞎晃蕩,和各個(gè)booth的人聊天,聊幾句后提提我正在找工作,問(wèn)他們有沒(méi)有合適的機會(huì ); 到了Yahoo的展廳之后,和該技術(shù)總監聊了一會(huì )之后我們就去到酒店的大廳中找了塊干凈的地板坐下來(lái),開(kāi)始面試。對幾個(gè)大的問(wèn)題探討了算法上的設計,貌似他比較滿(mǎn)意。之后他讓他的一個(gè)工程師在第二天做了一個(gè)電話(huà)面試就把我飛過(guò)去了。這里想說(shuō)的是你如果想找工作,試試在你“未來(lái)同事未來(lái)老板”出沒(méi)的活動(dòng),場(chǎng)所之中,認識他們,讓他們對你感興趣,然后通過(guò)他們做內部推薦。
另外的幾種方式就比較常規,如集中性的校園面試,通過(guò)網(wǎng)站完成Puzzle提交簡(jiǎn)歷 (成功率極低),在各種編程大賽中出類(lèi)拔萃被發(fā)現。
還有的就是公司主動(dòng)出去挖的人,這屬于高端人才,我挖過(guò)一些資深的工程師; 這些人往往不容易動(dòng),如果你是這種人的話(huà),恭喜你,你不需要讀這篇文章。
流程
絕大公司的流程都是因為上述的途徑(內部推薦,學(xué)校面試,網(wǎng)站申請等等)開(kāi)始對一個(gè)簡(jiǎn)歷產(chǎn)生興趣,然后讓Recruiter聯(lián)系,做一個(gè)摸底性質(zhì)的電話(huà)面試,然后是2-3個(gè)電話(huà)面試,最后就是到場(chǎng)面試4-6個(gè)人,大多數公司是一輪。
Recruiter的電話(huà)面試
這個(gè)了解是雙向的。聊聊應聘者的一些經(jīng)驗和背景,他們感興趣的方面,為什么換工作,對這份工作有什么特別的要求等等; 聊聊公司的一些基本情況,尤其是公司文化等等,現在空缺的職位,還有對面試人希望有的基本要求。
電話(huà)面試
一般是30-45分鐘。我通常是花40分鐘讓對方做兩道題,然后花5分鐘讓她問(wèn)問(wèn)題。一般做完第一道題,我會(huì )問(wèn)自己,要不要做第二道; 不管如何,我一定騰出這5分鐘讓對方問(wèn)一些關(guān)于Facebook的問(wèn)題。這是對對方一個(gè)起碼的尊重。由于是40分鐘兩道題,不能太復雜,一般是編程集中但設計沒(méi)有太多挑戰性的問(wèn)題,比如翻轉單向鏈表 (reverse a singly linked list),可以換itereative或recursive的要求來(lái)寫(xiě),我們雙方打的字都可以里面看到。
第一個(gè)電話(huà)面試后我需要在一個(gè)內部工具寫(xiě)上我的反饋,可以建議后面的一個(gè)電話(huà)面試可以更加關(guān)注哪些方面。
現場(chǎng)
一般見(jiàn)4個(gè)人 (2005年我在Oracle見(jiàn)了10個(gè)人…),每人45分鐘。 其中有2.5人會(huì )集中在coding上面進(jìn)行考察,0.5個(gè)人考察culturual fit,1個(gè)人專(zhuān)注design.典型的coding問(wèn)題應該網(wǎng)上都能查得到,這里就不提了。但要注意的是不是所有人都能適應white board coding(在白板上寫(xiě)程序),最好事先練習練習。Cultural fit是通過(guò)問(wèn)問(wèn)對方以前的經(jīng)歷,解決過(guò)的問(wèn)題,來(lái)發(fā)覺(jué)她的做事風(fēng)格。最后我們想得到的一個(gè)判斷是她能不能get shit done.Design主要是某個(gè)大系統的設計,比如如果讓你來(lái)做Facebook News Feed,你會(huì )怎么實(shí)現,需要哪些構建,數據如何傳輸; 你的設計會(huì )有什么樣的優(yōu)點(diǎn)和缺點(diǎn),等等。每個(gè)人都有不同的實(shí)踐,這是OK的,但這中間的交流可以體現一些設計思想的厚度,這才是面試的目的。Design能力考察的權重對于不同職位不同,比如backend要多一些,frontend要少一些; 剛從學(xué)校出爐的要輕一些,做過(guò)很多年的要重一些。
每個(gè)參與面試的人都要對應聘者打個(gè)評價(jià): strong hire,hire,weak hire,weak no hire,no hire. strong no hire. 我一般無(wú)視所有帶weak的選項,我的理念的是不需要平庸的同事; weak選項我是在被錯誤的放到一個(gè)其實(shí)我不該來(lái)的interview loop中時(shí)才用,所以很少很少用。
特別注意的方面
英文:
直接從大陸招的人當中,最大的問(wèn)題還在于英語(yǔ)。我面試過(guò)最早的幾位。電話(huà)面試到一半,我實(shí)在搞不懂他在講什么,最后只好讓他開(kāi)始講中文,哇塞,順溜了很多。建議對去美國工作感興趣的朋友先多練練口語(yǔ)。
編程:
對于工程師,最多的工作是編程。所以,練習好編程。由于面試題都有時(shí)間限制(20-25分鐘),特定工具(sync.in或者白板),不關(guān)心細微的語(yǔ)法錯誤,和實(shí)際的編程還是有些區別,所以練習還是很有必要的。
準備好自己的故事:
真實(shí)的故事,能夠讓面試的人迅速認識你的故事。比如你做過(guò)的最讓你驕傲的項目,你在里面的具體的貢獻,你碰到的最大的阻力,你是如何解決的,等等。這里的問(wèn)題很多網(wǎng)上有列表,但我提的是能夠和你自己的故事溶在一起,適當的時(shí)候講出來(lái),有血有肉有說(shuō)服力。
事先了解好公司的情況:
了解一些基本情況,讓你知道為什么你對該公司感興趣。對公司已有的產(chǎn)品有什么建議,等等。
Offer的考慮:
在Facebook,所有的面試的評估到最后都會(huì )匯總寄來(lái),經(jīng)過(guò)一個(gè)review committee討論做出是否雇傭的決定。在這個(gè)review committee上所有的應聘者都會(huì )被討論,明顯不行的最快,明顯行的也比較快,慢的是那種所有人都說(shuō)行但沒(méi)有一個(gè)人被震驚到,或者有人說(shuō)不行有人說(shuō)很行的情況。這時(shí)候如果有一個(gè)人愿意站出來(lái)挺她,她一般不會(huì )被砍掉,可能會(huì )過(guò),也可能被安排一個(gè)后續的面試,見(jiàn)1-2個(gè)人。整體上的思路就是“請拿亮點(diǎn)來(lái)說(shuō)服我”。
最后的Offer一般有兩部分,工資和股票。Facebook的情況我不方便講,但硅谷的工程師大致行情是新的本科畢業(yè)生年薪9-10萬(wàn),碩士博士10-12萬(wàn); 有多年工作經(jīng)驗的應該在11-16萬(wàn)左右。而股票就是八仙過(guò)海各顯神通,沒(méi)有定論。不管你是在美國讀的書(shū)還是中國讀的書(shū),這個(gè)標準應該都是差不多的。