這個系列從軟體工程師美國找工作經驗分享開始,介紹美國矽谷缺人才的情況,以及我的找工作經驗。接續上一篇「程式語言- 到底學哪個好?我想進 Google,我沒學 OOO,他們會接受我 XXX 語言背景嘛?」相信大家都已經知道好好磨練你最強程式語言的重要。接著這篇想分享美國一般的面試流程,讓大家先了解美國面試的形式,好做準備。
美國的面試流程一般來說,你準備好你的履歷(resume)及求職信(cover letter)後,你就可能會用各種管道申請工作(履歷、求職信及找工作會在下篇多做介紹:主動出擊,我要找工作了,現在美國用什麼找工作?哪個平台能讓我有較多面試機會?)依我的經驗,軟體工程師的面試流程大致如下:
面試流程
-
你的履歷通過公司/平台/人資的軟體篩選、被仔細看過(從我美國人資朋友描述,一篇履歷他們不會花超過 30 秒,所以履歷的內容及排版十分重要!),公司決定和你聯絡,邀請你進入面試流程。
-
第一關電話面試:人資和你約好時間打給你,這關大概 15~30 分鐘,主要重點有幾個,一是他們想確定你會說英文,可以溝通。二是他們會問你技術背景,別小看現在科技公司的人資,他們對很多科技及語言也都有簡單涉獵,也可能會考你一些簡單的語言問題。三可能是最重要的,想問你有沒有需要工作簽證。有鑑於美國現在經濟榮景,每年四月的工作簽證 H1B 抽中率大概只有 3 成(這是 2015 年的數字,之後規則與中籤率已多次變動),今年一週申請人數就爆滿,所以如果你是現在八月要申請 Google,他們最快只能幫你辦明年四月的工作簽證了!四是詢問為什麼你有興趣到這家公司工作,想要確認你認同公司產品及文化。五是詢問你擅長或是偏好的語言是什麼(詳情可見前篇),他們會安排會這領域的工程師幫你面試下一關。
-
如果通過第一關人資電話面試,人資會和你約第二關電話技術面試,時間可能是 45~60 分鐘,很多公司會用 CoderPad 這類線上協作的 code editor 來給你面試,Google 很有趣,是用 Google Doc 來考你,我想這樣是為了避免 syntax highlight 這類輔助功能幫到你,你就只能多注意細節、別寫錯字了。這關工程師打給你後,會先大概介紹一下公司,稍微了解一下你做過的 projects,接著就考你問題了。這類問題很多時候都是演算法及資料結構方面的問題,可以參考後篇的準備方法(軟體工程師面試準備- 面試要練習什麼? 找工作和練習的時間要如何平衡拿捏? 及「聽說你最近在刷題- 軟體工程師的面試一定會遇到的資料結構及演算法關卡」)。
-
每家公司情況不同,有時候公司會有第二輪電話技術面試,或者是寄給你 coding challenge(技術難題挑戰),要你限時內完成寄回去。
-
如果通過電話技術面試,公司的人資會邀請你去公司實地面試(on-site interview),時間從 2 個小時到 8 個小時都有可能,最好預留一整天的準備。一整天的面試可能是 45 分鐘或 60 分鐘一關,每關每個工程師都會問你一道問題,通常 8 成時間他們會希望你在白板上解答,有少部分時間他們會要你上機直接做題,考察你的實際 coding 習慣及風格。
-
完成實地面試後,就等公司人資給你消息了,新創公司通常蠻快就會有結果,我 Uber 實地面試後,隔天下午人資就告訴我結果了!大公司像 Google 會比較慢一些,和你的人資確認一般等待時間,定期追蹤進度吧!
-
通過實地面試後,如果有幸公司要給你工作了,人資通常會先打電話告訴你消息,確認你手邊正在面試的其他公司及預計上班的行程規劃,接著就會發正式的 offer(工作合約)給你。在美國,公司預期你會 negotiate(談判),你合約中任何有問題或想改變的都可以談,詳情請見後篇:被錄取了- 我該注意什麼,我可以談判要求多一點薪水、股票或假期嘛?
下篇:等待機緣- 我要如何被人資或獵人頭發現?我要如何脫穎而出?LinkedIn 重要嘛?
本文原發表於舊站「半路出家軟體工程師在矽谷」(2015 年 8 月 9 日)。該站現已下線,全文由 Wayback Machine 備份保存,搬到本站時做了輕度編輯。