“FLAG”公司(Facebook, LinkedIn, Apple/Amazon, Google)是美國硅谷公司的四家大公司。如何進入這些頂尖公司?其招聘流程又有何不同?
本文作者曾是LinkedIn高級軟件工程師/面試官。他完整地參與過校招、電面、現(xiàn)場面試等一系列硅谷招聘流程(http://m.oillaboratories.com/news/news-show.php?id=14210 )。他將以問答方式為大家放送滿滿的干貨。
硅谷公司招聘流程是什么
跟國內(nèi)有何不同?
我剛好在國內(nèi)外都工作過,我可以做個對比。
國內(nèi):如果是在校生,一般都要有個筆試,通過率也不高,可能就百分之幾,然后在校園里面試3輪左右,分別對技術(shù),基本功,價值觀的考察。然后就會大規(guī)模發(fā)offer,一些大公司如百度,阿里一年招上千人是很常見的。
硅谷公司:一般是沒有筆試。如果HR發(fā)現(xiàn)簡歷的一些關(guān)鍵字和背景符合職位需求,簡單介紹公司,安排1,2輪電面,如果通過,邀請onsite面試,里面會有4-7輪,里面涉及到不少白板編程,雖然很多人爭議,但目前為止還是有些無奈的選拔手段。
他們會花很大代價去組織,包括報銷來回機票,吃穿住行,贈送小禮物,給候選人一種非常受尊重的感覺。這里面成功率非常低,真的是千里挑一,雖然代價很大,但很多公司都是強調(diào)人才是第一位的,在宣傳企業(yè)文化和價值上也是起到積極作用。
以LinkedIn為例。除了報銷來回機票、吃穿住行、贈送小禮物之外,LinkedIn的附帶禮物中還有一個inMap,把你在LinkedIn上面的聯(lián)系人聚類可視化呈現(xiàn)出來。非常酷。
然后就是收集反饋,一般是2個面試官back to back同時給出評價,按1-4打分,最后取平均分,Yes = 3.0; Very Yes = 3.5; No= 2.5招聘委員會通過投票和辯論來確定是否發(fā)放Offer。
我記得印象深刻的面試:面試者歲數(shù)大些,當(dāng)時我面的時候也沒出眾,我準(zhǔn)備給他一個一般的分,但他回去馬上給我寫了一篇長信,解釋當(dāng)時我問的問題,給出詳細(xì)參考。
我對他的回答非常佩服,至少態(tài)度很積極,也許是當(dāng)場沒有發(fā)揮好。我立馬改變了印象,給他很高評價;但其中有個初級面試官居然給他1分,什么概念(if you hire him, I will go),這樣就把他平均分給拉下來,我覺得這樣不公正,就在招聘會議上為他說話。最后他也拿到Offer順利來到公司,事實證明這是一個挺優(yōu)秀的技術(shù)人員。
簡歷怎么寫
才能規(guī)范并吸引人呢?
簡歷是一個提供信息,展示自己的平臺。對于剛畢業(yè),沒有什么工作經(jīng)驗的人來說,簡歷一般控制在一頁為宜,如果是PhD需要適當(dāng)列舉一些相關(guān)的文章發(fā)表信息,那么簡歷可以擴展至兩頁。
這里就給一個示例,他在一頁紙的長度精煉地描述了他的教育背景,實習(xí)經(jīng)歷、技能和專業(yè)背景:
一個很好學(xué)習(xí)方法就是去LinkedIn上看一些優(yōu)秀人士的個人主頁,特別是你想去的公司的工程師的背景。一般都會很清晰地構(gòu)建他的目標(biāo)和過去經(jīng)歷——不需要照搬內(nèi)容,但可以給你啟發(fā)。當(dāng)你去投這些公司,你就知道什么樣的簡歷更容易被他們欣賞。
下面這個是很有趣的程序員是如何讀簡歷的:
面試中不同人考察什么
內(nèi)容都有哪些?
給一張表大家可以了解:
面試時候如何表現(xiàn)自己
體現(xiàn)溝通能力?
首先你要站在面試官的角度,面試官招你進去當(dāng)同事,他希望同事怎么樣的人就決定了他的立場。學(xué)會換位思考。
讓面試官時刻明白你的意圖,不要閉著眼睛不停寫。對于面試官來說,他根本不知道你的解題進行到哪一步了。你可以反復(fù)和面試官交流自己的想法,得到面試官認(rèn)可以后再動手寫。可以講講你怎樣想到這個思路的。記住,你并不是要說服他接受你的想法,而是要把你的想法解釋給他聽。
面試官提出質(zhì)疑的時候,第一,不要覺得面試官什么都不懂,怎么這都不知道(其實他只是看一下你是否真的懂);第二,面試官比你經(jīng)驗豐富得多,很有可能就是你犯錯了,趕緊想想是不是真的有問題。
技能之外,還重點考察什么
哪些特點不能被接受?
√重點考察的:
首先,看背景是否符合職位的需求。比如做分布式計算的工程師,對系統(tǒng)底層,大數(shù)據(jù)架構(gòu)就要有一些涉獵。
第二,聰明。如果我交流的時候發(fā)現(xiàn)他們能很快意識到我說的意思甚至補充我心里想的,這種人非常討喜。如思路異與常人,很快給出最優(yōu)解,能挑戰(zhàn)一些難度大的問題。
第三,好奇和熱情。如果面試者說不清為啥要申請,或者沒啥主動提問的,我會覺得對公司興趣不大,沒有好好做功課,態(tài)度上不夠積極,而就算最后技術(shù)很出色,在評價上也是要打折扣。另外如果他技術(shù)面很狹隘,技術(shù)興趣不廣泛,可能也要考慮是否能勝任創(chuàng)業(yè)公司(http://m.oillaboratories.com/news/news-show.php?id=14238 )不斷變化的環(huán)境。
×不能接受的:
不愿意學(xué)習(xí)。對他說的或者寫的很自大,但卻不虛心接受其他人指出的問題和建議。
企業(yè)文化不合。對公司的使命和價值觀有一些偏差,這個比技術(shù)功底更致命,主要是找志同道合的。
硅谷公司選拔技術(shù)人才
是怎樣進行的?
硅谷公司對基礎(chǔ)架構(gòu)很重視,注重基本功、員工素質(zhì)和價值觀認(rèn)可。
技術(shù)人員還是需要關(guān)注生產(chǎn)力的,其實也很難短時間考察,公司也考慮過是否通過一些做小項目,直接上機模擬真實環(huán)境來評價,但真正實施又難度很大。
LinkedIn 有個專門負(fù)責(zé)招聘Staff Engineer Jacob Kessler寫過文章闡述面試?yán)砟睿篒nterviews are not Exams主要是想保持自然,一起應(yīng)對一天工作中場景。
我總結(jié)成3C(Culture, Communication, Curiosity),下面也展開一些重點。
技術(shù):平常扎實的技術(shù)積累,包括系統(tǒng)知識點、不同編程語言、開源工具、團隊合作工具,比如Restful架構(gòu)有哪些特點、動態(tài)語言的優(yōu)劣等。
基本功:代碼簡潔優(yōu)美沒有bug,常見算法的應(yīng)用,優(yōu)化技巧,比如如何把一個O(n^2)的算法優(yōu)化成線性。好的編程習(xí)慣一定要堅持,格式:縮進可以良好排版,括號要對齊,變量名起的有意義。邊界檢查,參數(shù)檢查,異常處理,單元測試。主動寫出合理的Test case,一些常見的null檢查。不管你之前做過多少年,只要申請工程師職位都要經(jīng)歷過編程的基本考核。
交流:實技術(shù)人員用到的英文都比較淺顯,聽和讀應(yīng)該問題不大,但最好在說和寫方面下大功夫,這能突破一些天花板,更多融入團隊交流。
系統(tǒng)設(shè)計:包括設(shè)計大型系統(tǒng)的架構(gòu)選型,各種不同組件的tradeoff,數(shù)據(jù)庫系統(tǒng),網(wǎng)絡(luò)系統(tǒng),分布式系統(tǒng)。比如什么時候適合用NoSQL,如何做一個推送系統(tǒng),緩存系統(tǒng)如何搭建。
如果本科不是學(xué)計算機的
想轉(zhuǎn)行該怎么準(zhǔn)備?
第一,讓自己更Professional。比如你的簡歷只能放和計算機有關(guān)的東西,其他東西再牛也不能發(fā)揮用處(比如學(xué)生會主席)。如果Resume還是很空,就多去做項目。在Github上面多去follow項目,然后參與到感興趣的當(dāng)中。
第二,在某一方面達(dá)到工程師實力。臨時轉(zhuǎn)行時間短,找一個容易入手的準(zhǔn)備,如果你以前做的事情跟數(shù)據(jù)有關(guān),就申請Data Analyst。
本來就會一些基本技術(shù)的,可以做前端(JavaScript, HTML, CSS),去真正做一個自己的博客。
如果對產(chǎn)品感興趣,就玩Django, ROR這樣的網(wǎng)站框架,了解一個網(wǎng)站是怎么搭建起來的。
如果對Mobile感興趣,就用IOS或者Android寫兩個APP。
這樣做的好處是,簡歷不空,如果問到,可以駕輕就熟。
如果不相關(guān),坦誠相見,說由于我是轉(zhuǎn)行的我這方面不熟悉,可以嘗試猜猜看。也可以直接告訴面試官,我是轉(zhuǎn)行的,我對計算機很感興趣,做了這么這么幾個項目。于是面試官不會問你難題。結(jié)果你早就準(zhǔn)備好了,超出面試官預(yù)期,就是一個高分
結(jié)語
方法論比解答更重要
其實我不希望討論很多具體的面試題,因為題目千變?nèi)f化,在網(wǎng)上也可以找到討論,大家去Glassdoor, Geeksforgeeks, Careercup, Csdn blog上面都可以搜到,這里就不做“泄密”了;但方法論比具體的解答更重要,在工作中也很難遇到你之前背過的“答案”,如果你只是死記硬背還是不能進行創(chuàng)新和解決問題。
最后預(yù)祝大家都能順利進入自己心儀的公司。