設(shè)計方面的問題主要是讓應(yīng)聘者針對某個大系統(tǒng)提出自己的設(shè)計方案。比如要讓你來做Facebook的“動態(tài)消息”(News Feed),你會怎么實現(xiàn),需要哪些部件(Components),數(shù)據(jù)如何傳輸,你的設(shè)計會有什么優(yōu)點和缺點,等等。我會希望應(yīng)聘者先談?wù)撨@個系統(tǒng)可以提供的一些性能要求或特點(Specification),因為這些要求會決定設(shè)計上的不同。比如動態(tài)消息系統(tǒng)是設(shè)計成方便讀還是方便寫,這會讓實現(xiàn)方式大不同。每個人都有不同的方式,這沒有問題,但這中間的交流可以體現(xiàn)出一些設(shè)計思想的深度,這才是面試的目的。系統(tǒng)設(shè)計能力考察的權(quán)重對于不同職位也不相同,比如后臺的要多一些,前臺的就少一些;剛從學校出來的要輕一些,有多年經(jīng)驗的要重一些。而Facebook的面試會回避類似腦筋急轉(zhuǎn)彎那種所謂智力型題目,因為那根本體現(xiàn)不出什么智商,重點都放在具體的編程問題上。
還有一點,是對應(yīng)聘者學習新東西的意愿和能力的判斷,這個要求非常高。比如我們希望他知道一些新的技術(shù),即使他不知道,但是在聊的過程中,也能從表情和反應(yīng)中看出他是否有興趣去學習。
面試結(jié)束后,面試官都會給應(yīng)聘者打分,依強弱程度分別為:Strong Hire(強烈推薦),Hire(推薦),Weak Hire(一般推薦),Weak No Hire(一般不推薦),No Hire(不推薦),Strong No Hire(強烈不推薦),還會寫出具體的評價以及理由(比如,我問了什么問題,應(yīng)聘者如何回答)。一般要求面試人員在面試的當天提供反饋。這樣Facebook可以在盡可能短的時間內(nèi)完成對應(yīng)聘者的評估以便給他們一個面試結(jié)果。這可以顯示出對應(yīng)聘者的尊重,也同時希望這種高效率能夠給應(yīng)聘者留下好的印象,如果給Offer的話,更能說服應(yīng)聘者接受。在Facebook,招人是當作第一優(yōu)先級的工作來對待的。
最理想的評價結(jié)果是所有面試官都給出“Hire”以上,其中還帶“Strong Hire”。如果有兩個面試官覺得不太好的,那就基本沒戲了。像我在參與面試時,一般會無視所有帶“Weak”的選項,因為我的理念是不需要平庸的同事。針對一段時間內(nèi)面試的情況,公司每周會召開一個招聘決策會議,所有相關(guān)的面試人員和人力資源部門的代表都會參會,所有的應(yīng)聘者都會被討論,大家一起討論應(yīng)聘者的去留,明顯不行的最快,明顯行的也比較快,比較費時間的是那種所有人都說行、但沒有一個人被震驚到,或者有人說不行、有人說很行的情況。這時候,如果有一個人愿意站出來力挺,一般不會被砍掉,可能會通過,也可能被安排一次后續(xù)的面試,再見上1~2個人,專門針對他上次面試中暴露出來的弱點提問題,來看他是如何解決的。總之,整體上的思路就是“請拿亮點來說服我”。
當然,對于到公司面試的應(yīng)聘者,無論他的表現(xiàn)是否與我們的預(yù)期相符,面試官都會很尊重他們。畢竟他們是已經(jīng)經(jīng)過挑選的,很多是名校畢業(yè)的,而且他們給了Facebook一個雇用他們的機會。另外,他們的朋友當中可能有適合Facebook的優(yōu)秀工程師,我們希望看到即使應(yīng)聘者本人不適合Facebook,但他們愿意推薦自己的朋友來試試。所以,尊重每一個應(yīng)聘者非常重要。因此,在Facebook不會出現(xiàn)原定要見4個人,結(jié)果見了兩個人就結(jié)束面試這種情況。然而,在其他一些公司,這種做法會被當作有效利用時間的方式來推崇。