門內門外看招聘

General 更新 2024年07月08日

技術招聘也是技術活。上下求索的不只是應聘者,面試官也同樣絞盡腦汁。在本文中,作者先後回顧了身為應聘者和麵試官兩種角色的經歷,帶你一瞥國內外技術招聘的那些事兒。

年初加州求職不利,撰文《加州求職記》一篇,蒙列位看官抬愛,短短兩天時間點選量破萬。之後,收到《程式設計師》雜誌編輯的約稿郵件,詢問能否結合既往的招聘經歷寫一寫國內外招聘的異同點。畢業至今,除去年初嘗試的Google、Amazon、Facebook三大公司,身為應聘者參加的正式招聘面試就只有多年前加入百度 的那次而已。相較之下,在百度做了兩年招聘,身為面試官的經驗反倒是豐富多了。思忖了一下便應了下來,打算結合個人經歷寫寫招聘面試這檔事。需要說明的 是,這裡記述的只是個人的一些經驗,不具備通用性。文中面試官角度的意見不能代表百度乃至國內IT企業的普遍特點;同樣,作為應聘者的意見也無法代表灣區大公司的普遍特點。

面試官的心思

招聘面試,就是面試官和應 聘者之間的溝通和過招。通常情況下,在面試中佔據主動地位的都是面試官。應聘者能否通過面試,便取決於能否在幾十分鐘內證明自己具備面試官所代表的組織需要的素質。俗話說知己知彼方能百戰不殆,面試官大人們都在想什麼呢?他們希望看到的素質,大體可分為軟硬兩類。

所謂硬素質,就是演算法、資料結構、程式語言等基礎技能及體系結構、作業系統、網路、資料探勘、分散式系統等細分專業方向技能的掌握情況。硬素質之所以謂“硬”,便在於這些素質出題一考便知,應聘者基本上沒有矇混過關的可能。

所謂軟素質,是那些虛無縹緲,難以通過普通考題判斷出來的東西,如學習能力、抗壓能力、溝通能力、邏輯思維能力、價值觀取向等。這一羅列,是不是很眼熟?

不少應聘者都會在簡歷中加上“自我評價”一欄,其中列上“學習能力優秀”、“抗壓能力良好”、“溝通能力佳”、“邏輯思維能力強”,我剛畢業時也未能免俗。 其實呢,這幾句話寫了也是白寫:什麼也證明不了,空佔篇幅,甚至還可能會起反效果。簡歷上還是寫些實打實的東西為好,軟素質不妨在合適的時機通過推薦信等 方式表達,或者乾脆留待面試時交由面試官親自考察。

不難想象,軟素質比硬素質要更難考察,甚至多少有點“跟著感覺走”的意思。不少面試官都 不擅長考察軟素質,新手尤甚。邏輯思維能力和溝通能力倒還好說,面試時看你反應夠不夠快,說話有沒有條理,基本上能給出比較靠譜的評價。這學習能力、抗壓 能力、價值觀之類的怎麼考?說穿了就是三個字:挖細節。

誠然,判斷一個人的軟素質,往往需要長期的相處和觀察。但我們最終的判斷依據,實際上是發生在這個人身上的各種典型事例。因此,只要能在面試中讓應聘者給出足以證明自己某種/某些軟素質的事例,便可以達到考察的目的。而事例的真實性,便是通過挖掘細節來保證的——如果是瞎編的經歷,最終多半會支支吾吾語焉不詳。

剛當面試官時,曾經碰到這麼一個反面案例。當時是一場社招面試,來應聘的是個剛工作不久的小夥子。起先我對他的評價挺好。後來,在敘述專案經歷時,他提到自己曾經做過一套系統,而我剛好有類似系統的經驗,便產生了 興趣,興致勃勃地接連問了幾個該系統設計思路和實現細節相關的問題。

沒想到幾個問題下來,他越發緊張,最後突然紅著臉說:“對不起,其實我沒做過這套系統,只是為了豐富專案經驗而虛構了一個,但實在編不下去了……” 當時我實際上還不知道這種方法,只是一時興起不斷追問細節才讓他露了馬腳。後來,在參加校招面試時從公司組織的面試官培訓中才學到了這招,學名喚作 “STAR面試法”,專用於軟素質考察,感興趣的讀者不妨搜上一搜。

強攻硬取闖灣區

就個人經驗而言,灣區大公司的面試考察點偏硬,面試官出招普遍剛猛有力,沒有點鐵布衫之類的硬功夫還真是招架不住。這點突出體現在面試中的程式設計題上。

在四十五分鐘到一個小時的面試中,根據應聘者的解題速度,面試官會丟擲一至三個問題,應聘者不僅要迅速想出解題思路,還要在紙上或白板上寫出完整且無錯的程式碼***電話面試時則通過Google Docs、CollabEdit等線上協同編輯器,少數情況下也會讓應聘者直接在電話裡“說”程式碼***。因此,有ACM背景的應聘者會佔據很大的優勢。

相對於大部分國內IT公司的面試,這個要求還是相當嚴格的。不過,面試畢竟不是競賽,相對於難度,考題的區分度才更為關鍵。所以這些程式設計題的難度普遍不高, 離ACM/ICPC競賽題相去甚遠。打個不恰當的比方,灣區大公司的面試多少有點兒像考研,都是書本上的知識點,就看考生掌握得扎不紮實。

在年初的兩場面試中,我在解題時分別用到了C++標準庫中的binary_search和partition,於是兩位面試官分別要求我寫出這兩個函式的完 整實現。這兩個演算法可謂人盡皆知,就看你理解得是否透徹,邊界情況處理得是否乾淨利落了。年初的面試經歷已在《加州求職記》中詳述,此處就不再贅述了。

灣區大公司的面試當然也不是隻玩兒硬的,軟素質考察一般交由HR以及專門的“behavioral interview”負責。不過總體來說,灣區大公司技術職位的這類軟素質類面試的套路還是比較明顯的,在Google上搜一下“60 behavioral interview questions”,很容易找到竅門。應聘者需要做的就是在面試前將簡歷中列出的各種專案經歷的背景拾掇清楚,以求在面試中做到簡明扼要、實事求是、恰如其分,博得面試官的青睞。

一開始,我對灣區大公司的這種面試風格是持有異議的。畢竟實際工作中沒人會要求你在不借助偵錯程式等工具的情況下一次性編碼成功。而且,競賽型演算法題的程式碼和工業界的程式碼完全就是兩種套路***在工業界幹過幾年的前ACM選手應該非常有體會***。

但反過來一想,周圍能達到這個水準的,無一不是牛人、聰明人。再者這種考法對就是對錯就是錯,高度統一,易於判定,在大規模面試中更利於統一面試官的評判標準,從而達到嚴格把關面試質量的目的。當然,它的缺點也比較明顯,比如對軟素質考察不足,應聘者自由發揮餘地較小,很難看出應聘者創造性的一面等。此外, 由於演算法題的程式碼風格和工業程式碼風格迥異,這類面試也較難評判應聘者在實際工作中的表現。

需要強調的是,我年初參加的只是普通技術職位的面試,觀察到的內容十分有限。上述結論完全基於個人經驗,很難說有多少通用性。

剛柔並濟戰中關

反觀當年自己操心招聘那些事兒的時候,我和同為面試官的同事們在面試中更為關注的則是軟素質以及實際工作能力——尤其是社招。

我們一直信奉的一點是,只要能達到我們的基本要求,應聘者的技術能力等硬素質是比較容易培養和鍛鍊的,而溝通能力、學習能力、邏輯思維能力、抗壓能力等軟素質則相對較難培養。至於看中實際工作能力,那當然是因為希望應聘者入職後能儘快投入戰鬥。

本著這樣的原則,我在面試中一般會交叉運用以下三種方式進行考察。

1. 聊專案經驗。

2. 出較簡單的基礎試題。

3. 出較困難的漸進開放型試題。

對校招面試,由於應屆生的專案經驗往往比較單薄,可挖掘點不多,主要採用第二種和第三種;對社招面試,則三種並用。

聊過往專案經驗是個很好的軟素質考察手段。在這個過程中,往往可以捕捉到很多值得深度挖掘的典型案例。我一般喜歡讓候選人挑過往經歷中最為困難或最為得意的一個專案來講。在候選人的敘述過程中,我會不斷要求對方補充各種細節,例如關鍵設計背後的決策過程,難點攻堅過程中做過哪些嘗試,尋求過哪些幫助,參考過 哪些資料,團隊在專案中碰到過哪些問題,諸如此類,不一而足。

通過深入挖掘這些問題,應聘者的形象也會迅速豐滿起來。例如,有些應聘者會在設計階段多方嘗試,或是在認為團隊走入歧途時主動大聲疾呼,也有人會因為“上面要求這麼搞”而放棄原則消極遵從。孰優孰劣,一目瞭然。

聊完專案經驗,應聘者的緊張情緒也基本平緩下來,這時就可以拿出一兩道基礎試題小試牛刀。基礎試題的形式和作用與灣區大公司採用的程式設計題類似,但一般不要求寫出完整程式碼。它的作用在於快速判斷應聘者的基本能力,進而決定後續的面試節奏和時長。

如果應聘者可以比較順暢地給出解答,那麼便可以進入下一個環節。反之,如果應聘者給出的答案錯得離譜,或者幾經提示仍然沒有絲毫進展,那麼也就不太必要進行後續的面試了。

漸進開放型試題主要用於考察邏輯思維能力和溝通能力。這類試題難度較大,且不一定有唯一的標準答案,可逐層發散,一般不指望應聘者能獨立給出完整解答。出難 題顯然是要給應聘者設定障礙,但最終目的絕不是將應聘者難倒。這裡是在考察應聘者在面對困難問題時能否對問題進行恰當的分解,能否在一團亂麻中找出最先要 解決的問題,能否將直接阻擋自己前進的障礙清楚地描述出來,是否敢於、善於提問,以及在得到提示之後,能否迅速運用提示中的線索翻越障礙。

如果應聘者在拿到題目之後因為沒有頭緒而不知所措,我便會向他解釋這類試題的用意,鼓勵他不要擔心一時沒有頭緒,儘管大膽地和我交流自己當前的思路並尋求幫 助。於是,在這類試題的考察中,氣氛往往會更趨向於討論而不是面試。這樣一來,應聘者會更為放鬆,我作為面試官也得以更為準確地評判應聘者的溝通能力和邏 輯思維能力,候選人最終找出答案後自己也會有成就感。某次社招面試中,曾經有一個沒有什麼分散式系統背景的小夥兒,在這樣的討論中自行總結出了CAP原理,讓我很是驚喜。

還有一次校園招聘,我讓候選人改進他自己的一個專案中的客戶端自動升級機制,來回溝通了幾次之後候選人思路泉湧,很快畫出了若干種更加合理的設計。事實證明,在面試中能有類似表現的應聘者,多半都能成為中流砥柱。

這套路數看似剛柔並濟、滴水不漏,卻也有它的命門:那就是面試標準過於模糊,難以統一。如果組織不大,面試官人數少且精,倒還好說。倘若是員工數破萬的大公司,那就很難保證所有部門、所有面試官的面試標準了。在百度時,整個招聘過程還會輔以各種流程措施和規範,以期儘量彌合面試官之間的個體差異。這個問題要 是解決不到位,其危害對校園招聘這種集中式大規模招聘活動是十分致命的。

伯樂的賭局

面試的最後一個環節十分敏感,那就是決定候選人是否通過面試。哪一匹才是千里馬?這是伯樂們永恆的賭局。百度的面試是5分制,3分以上通過,2分以下不通過。有些面試官——尤其是新面試官——比較“仁慈”,對於一些落在及格線上的候選人總會很糾結,最後給出一個2.5分。一旦出現2.5分的候選人,我們就會問面試官一個問題:把這個人放到你的團隊,你要不要?【注:百度的面試往往由不同團隊的面試官交叉進行,每個面試官都經常對其他團隊的候選人進行面試。】如果回答是肯定的,那麼我們便再安排一輪面試繼續考察,否則便終止面試流程。

“2.5候選人”分兩種,第一種雖然就答題情況來看勉強可以通過,但就是給人的感覺不太舒服,或者說第一印象不夠好。這實際上是候選人可能存在軟素質問題的一個警鐘。如果面試官本人不期望這個候選人加入自己的 團隊,那麼其他團隊負責人多半也不願意。這個判斷看似過於嚴苛,但其背後卻是歷往慘痛經驗的總結。

另一種則更為有趣,這類候選人雖然答題情況一般,但仍然讓人想要給他一個機會。我就曾經碰到這樣一個案例。當時我是二面面試官,一面面試官十分糾結,最後給出面試結果是2.5。我問他,給你,你要不?沒想到他毫不猶豫地說“要”,於是我便決定對這名候選人進行二面。候選人挺年輕,雙臂還刺著紋身,讓我著實印象深刻。不過面試過程中,發現這個小夥兒對技術很有熱情,非常有幹勁,頭腦也比較靈活。實際上他就是上面提到的在後續的面試過程中獨立總結出了 CAP原理的那個候選人。後來這個“2.5候選 人”果然沒有讓人失望,成長迅速,很快就成了骨幹。所以說,面試這檔事,無論對應聘者還是面試官,都是個碰運氣的事兒。

關於招聘面試的文章一抓一大把,不過同時站在兩個角色上進行總結的似乎不多。希望我的這點片面的經驗能給你帶來一些啟發和幫助。

連城,前百度資深工程師,技術譯者,函式式語言與分散式系統愛好者。

新員工來了又走為何呆不長久
留住員工的十二條招聘要領
相關知識
門內門外看招聘
如何由內而外看旺宅風水
外企招聘面試的自我介紹
婚外情從大門風水中看出來
熱門內涵的腦筋急轉彎
最新熱門內涵逗女孩的腦筋急轉彎
最新熱門內涵逗女生的腦筋急轉彎
公司內部招聘面試時的自我介紹範文
銀行內部招聘自我介紹
企業內部招聘時的自我介紹