以我在LinkedIn做面試官的經驗,來給程序猿面試提些建議

n6xb 9年前發布 | 21K 次閱讀 程序猿

原文  http://www.centrechina.com/news/34078.html


以我在LinkedIn做面試官的經驗,來給程序猿面試提些建議

筆者之前在LinkedIn做技術工作同時,也花了不少時間在招聘上,成為了當時LinkedIn前三的面試官,包括挖掘候選人、參與校園招聘、草擬面試題、電話面試、Onsite面試、填寫反饋,和最后決定是否發放Offer,都有完整的流程和經歷。

在本文中,我按問答形式給大家借鑒。這里也推薦一下我的新書:程序員面試白皮書(An Ultimate Guide to Coding Interviews).

問題:硅谷公司的招人的渠道有哪些,跟國內有何不同?

一般公司都有自己的Refer和面試系統,HR人員尋找候選人,在LinkedIn上就有豐富全面的簡歷庫,通過對畢業學校,就職公司的過濾去挖 掘潛在員工。還有一些高水平的學術會議,工業界愿意支持和參與,像SIGMOD,VLDB頂級數據庫大會;也喜歡舉辦公開技術講座,邀請社會各界參加,注 冊時留下聯系方式。或者寫一些技術博客,開源產品,通過他們做的有意思的項目來間接吸引人才。有時也舉辦一些hackathon比賽,24小時做出一個小 產品原型,歡迎各類技術人才挑戰。當時我也參加LinkedIn的編程馬拉松,每人發一件T-shirt,寫著 Eat, Code, No Sleep。我記得內部統計表示,2/3的人都是通過內部推薦進來的。

其實國內的思路更厲害,比如最近雅虎北京一裁員,忙壞了各路IT公司,某創業公司也湊熱鬧一起去搶人,派出2個高級工程師去面試,結果,負責面試的2個員工都被人挖走。

問題:硅谷公司招聘流程是什么,跟國內有和不同?

我剛好在國內外都工作過,我可以做個對比。

國內:如果是在校生,一般都要有個筆試,通過率也不高,可能就百分之幾,然后在校園里面試3輪左右,分別對技術,基本功,價值觀的考察。然后就會大規模發offer,一些大公司如百度,阿里一年招上千人是很常見的。

硅谷公司:一般是沒有筆試。如果HR發現簡歷的一些關鍵字和背景符合職位需求,簡單介紹公司,安排1,2輪電面,如果通過,邀請onsite面試,里面會有4-7輪,里面涉及到不少白板編程,雖然很多人爭議,但目前為止還是有些無奈的選拔手段。

LinkedIn會花很大代價去組織,包括報銷來回機票,吃穿住行,贈送小禮物,給候選人一種非常受尊重的感覺。比如附帶禮物中有一個inMap, 把你在LinkedIn上面的聯系人聚類可視化呈現出來。非常酷。

這里面成功率非常低,真的是千里挑一,雖然代價很大,但很多公司都是強調人才是第一位的,在宣傳企業文化和價值上也是起到積極作用。然后就是收集 反饋,一般是2個面試官back to back同時給出評價,按1-4打分,最后取平均分,Yes = 3.0 ; Very Yes = 3.5; No = 2.5 招聘委員會通過投票和辯論來確定是否發放Offer。

我記得印象深刻的面試:面試者歲數大些,當時我面的時候也沒出眾,我準備給他一個一般的分,但他回去馬上給我寫了一篇長信,解釋當時我問的問題, 給出詳細參考,我對他的回答非常佩服,至少態度很積極,也許是當場沒有發揮好,我立馬改變了印象,給他很高評價,但其中有個初級面試官居然給他1分,什么 概念

  • Produce a system that is clean, elegant, well thought

  • Explain why you choose this implementation

  • Be familiar with your experience level to make decisions

  • Answer in high level of scale and complexity

其實大家大可不必追求完美,在真正的面試中,沒有人能對答如流,往往面試官也會給出善意的提示,就算你沒回答某個子問題,在面試后的評價中也會綜合衡量,跟其他的面試者比較,最終打出一個分數。很多人在2到3分左右,目標是盡量在3分以上。

問題:我不是算法大牛,不是ACM隊員,聽說Google,非死book有很多牛人才能進,那我怎么能拿到好Offer?

首先要是要有信心,算法不是想象那么難。

第一:因為面試常見的算法就那么幾種。只有你努力去總結歸類相似題目,才能只做很少的題就可以會很多的題。不要盲目關注數字。做題質量非常重要。標準是:你做過的題目,讓你再做一次,你就能“完美解決”。

第二:即使你知道一題的解法,你未必能寫好。因為你可能每次寫出來的程序都很隨性,這樣會漏洞百出。程序員是一個非常講究嚴謹性的職業,如果你在 總結題目的時候能夠找到這些題目的模板,你把模板提煉好,碰到類似的題目,可以一邊寫模板,一邊想想怎么在模板上做一點簡單的改動。這樣節省時間又保證不 會出錯。

問題:如果本科不是學計算機的,又想轉行該怎么準備?

1、讓自己更Professional。比如你的簡歷只能放和計算機有關的東西,其他東西再牛也不能發揮用處如果Resume還是很空,就多去做項目。在Github上面多去follow項目,然后參與到感興趣的當中。

2、在某一方面達到工程師實力。臨時轉行時間短,找一個容易入手的準備,如果你以前做的事情跟數據有關,就申請Data Analyst。本來就會一些基本技術的,可以做前端,JavaScript, HTML, CSS,去真正做一個自己博客。如果對產品感興趣,就玩Django, ROR這樣的網站框架,了解一個網站是怎么搭建起來的。如果對Mobile感興趣,就用IOS或者Android寫2個APP。這樣做的好處是,簡歷不 空,如果問到,可以駕輕就熟。如果不相關,坦誠相見,說由于我是轉行的我這方面不熟悉,可以嘗試猜猜看。也可以直接告訴面試官,我是轉行的,我對計算機很 感興趣,做了這么這么幾個項目。于是面試官不會問你難題。結果你早就準備好了,超出面試官預期,就是一個高分!

問題:面試時候如何表現自己體現溝通能力?

首先你要站在面試官的角度,面試官招你進去當同事,他希望同事是怎么樣的人就決定了他的立場。學會換位思考。

讓面試官時刻明白你的意圖,不要閉著眼睛不停寫。對于面試官來說,他根本不知道你的解題進行到哪一步了。你可以反復和面試官交流自己的想法,得到 面試官認可以后再動手寫。可以講講你怎樣想到這個思路的。記住,你并不是要說服他接受你的想法,而是要把你的想法解釋給他聽。面試官提出質疑的時候,第 一,不要覺得面試官什么都不懂,怎么這都不知道,第二,面試官比你經驗豐富得多,很有可能就是你犯錯了,趕緊想想是不是真的有問題。

問題:面試中出了Bug怎么辦?

BUG Free很重要,這個需要我們平時不斷的練習,按照我們方法的準備,還是可以避免一些坑。但碰巧你可能不在狀態,寫出了BUG被面試官指出,是不是就掛了呢?

別擔心,出BUG很正常,也許面試官來面你之前正在DEBUG:( 衡量一個程序員能力的標準,并不是他能想出多牛的算法而是當遇到問題的時候,程序員去分析和解決問題的能力。而出BUG的時候,正是展現你是否是一個合格程序員的時候。

DEBUG流程:

  • 通過TEST CASE定位BUG所在位置。

  • 不要立即修改代碼,重新梳理邏輯。因為很有可能還有其他BUG。

  • 走完所有邏輯之后,心里有數怎么改了,再動手開始改。

  • 用TEST CASE再走一次新的代碼。

  • 在整個過程中,不停的告訴面試官你在干嘛。

這樣,成功排解BUG,不但不會減分,還會因為你優秀的DEBUG能力和與此同時展現出來的溝通能力而加分。

最后希望大家在找工作方面能有所收獲,不用多久,就會升職加薪,當上總經理,出任CEO,迎娶白富美,走上人生巔峰~想想還有點小激動呢,嘿嘿~~ 同學,夢醒了么,該去搬磚了。

本文參考資料:

  • How to Conduct a Better Coding Interview

  • In Defense of Whiteboard Coding

  • 像談戀愛那樣去招頂級程序員吧!

</div>

 本文由用戶 n6xb 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!