小弟我在美國洛杉磯工作六年多了,換了五個工作,本身做Software Developer。
面試過許多公司,有大有小有中型的。沒有上百家至少也有五十多家。自己也幫公司面試過許多Engineer,大概可以分享一下自己的經驗。
面試一般一開始都是電話面試,先透過email schedule一個時間,然後他們再打電話過來跟你聊。有時候第一通電話是跟HR講。
HR我遇到的都很有禮貌,他們會先介紹自己然後再介紹公司是做什麼的,business主要業務是那些 (如果是很大很知名的公司的話就會省略這個步驟,像Google, Facebook, Amazon之類的,他們預設你也知道他們,而且他們有太多不同的部門和業務了) 然後再問你有沒有什麼問題,我問幾個問題然後他們回答完後,才請我略述自己的背景和履歷,為什麼對他們的職位有興趣等等的。
再來就是約第二個Technical電話面試或是線上面試或者是take home assignment。每個公司不同,但大部分線上面試比較多。
時間大概45分鐘到一個小時左右。
你那時就要準備一台電腦準備視訊直播Coding給人家看。
這個環節就不會廢話,人家一兩分鐘前會先寄個類似CoderPad之類的連接給你,上面就有題目,你可以在上面寫Code, 對面可以即時看到你寫的東西。
確認可以跟你正常視訊,聽得到你的聲音後,會先自我介紹一下,解釋一下題目。
接下來就是沉默的時間,直到你寫完code為止,最多一小時。
你有問題的話,隨時可以提出。
寫完Code 後,會針對你寫的內容來討論,面試官不會直接說你寫的好不好。
如果有更好的solution的話,有時候會給提示,你可以現場改一下。(至少我人很好,會給人家提示)
討論完後,他會問你有沒有問題,然後就結束了。
如果你的表現得到認可,你就會被邀請去Office on-site interview。
這個一般是3到5個小時。
大概2到3個小時現場給你個筆電Coding
然後跟幾個Manager, Director, VP之類的聊聊,聊天內容大同小異,他們會先自我介紹,再介紹公司正在做什麼,有什麼藍圖,需要怎樣的人才之類的,然後了解一下你的背景,針對你講的東西,他們如果有相關知識或經驗,會稍微深入討論一下。
最後就是跟HR講幾句,就可以回家了。
如果可以被邀請Onsite的話,錄取機率是很高的。至少我自己是這樣,錄取率大概70%。
一般最容易被刷掉的地方是線上一小時的面試,題目比較難,一翻兩瞪眼,你一個小時內想得出解法就想得出,想不出就是想不出。
如果是Google, Facebook的話要求更高,它們題目可能不會太難,可是你要想出最佳解,只單純地暴力解出來也不行。沒辦法,太多人面試了,競爭激烈。
Onsite的題目反而比較簡單,而且有時候人家會給一些提示或是引導。就算沒寫完,也會看你的邏輯思路,不會直接就讓你Failed。
鑑於親身經驗,我線上面試也會給人家比較多空間。如果他沒寫完也會跟他說可以帶回去寫完寄給我們。
如果面試者實在太差,我們也不會表現出來。我們會直接岔開話題就問他其他非專業的話題閒聊一下,呼攏過去。
這大概是我在這裡面試的經驗。
供大家參考。