美國軟體工程師面試流程大分享,你投履歷了嗎?

美國軟體工程師面試流程大分享,你投履歷了嗎?

Last Updated on

很多人覺得工程師的薪水高、待遇好,這不管是在亞洲美國,還是全世界都是,那在美國的工程師都怎麼拿到他們的第一份工作的,面試流程又是什麼呢?

我現在是一名在美國的軟體工程師,大家口中的 (Software Engineer) 。去年的這個時候我才開始準備,那我怎麼在這一年從開始準備,到投履歷、面試,甚至到現在已經工作了好幾個月?其中在投履歷的那兩個月,我投了800多份履歷,也拿到不少的面試,我想把不同的面試流程,總結分享給正在找工作的你們,或是有考慮出國讀 Computer Science 的留學生!

大公司 vs. 新創公司 (Startup) 哪裡不同?

首先,每家公司的面試流程、方式可能都會不一樣,
但是主要分為兩個類型:大公司 (Corporate) 和新創 (Startup)

大公司

什麼公司屬於大公司?你可能有聽過 FLAG 或是 FAAMG,在工程師口中的公司:Facebook, Apple, Amazon, Microsoft, Google, LinkedIn,或是平常大家也有聽過的Expedia, Goldman Sachs, Oracle,這裡指的是有一定商業規模的公司。

這些公司看中的是,面試者思考邏輯的方式,和在遇到問題時,能釐清問題想出解決方法,並有效地跟面試官溝通、傳遞想法。



有人可能會想說,難道面試不是給面試官看porfolio,介紹自己做過的project 和會寫的程式語言嗎?怎麼跟我想像的完全不一樣!!!

當然面試也是需要介紹自己做過的項目 (project),但那只是面試流程的一小小環節,由於很多大公司都有開發自己公司的客製化語言,再加上每個組可能都用不同的程式在開發,而你的面試官不一定了解你做過的項目方向和會的技術。所以大公司的面試會傾向於算法和設計方面的問題,來考核你整體思考和表達的能力。再加上大公司有比較多的時間和資源來培訓你,所以在妳入職後,可能會有1~3 禮拜的Training 來幫助你了解公司資源和熟悉公司技術,也些公司甚至會長到半年的時間。

這面試方式是針對還是學生,和有1 ~ 3 年工作經驗的工程師而討論的,如果超過 3年工作經驗的工程師,會更針對於技術層面,和相關工作經驗來面試。


新創公司 (startup)

相反的,新創公司沒有那麼多的時間和資源來培訓你,他們要馬上發佈新產品、新功能,快速成長,獲取更多的資金,所以通常他們面試的內容會更偏向,你做過什麼項目,會什麼技術和語言,是不是跟他們公司的技術一樣,如果你明天開始上班,可不可以馬上對公司產品有實質上的貢獻。


這裡有個小小故事:

還記得有一次面試,我向面試官說明我做過的一個Andriod app,這個app讓盲人可以拍照,然後把照片上文字轉換成聲音播放出來,這可以使用在盲人去超市購物查看身前的產品,讀信封上面的文字。這時候面試官問我連續幾個問題:這目前有多少使用者?是幫企業開發的嗎?賺錢嗎?那你能幫助我什麼?


當然這是我一個我在新創公司,CEO直接面試我的情況,原本以為他會問我怎麼實現的,為什麼要這樣設計,但出乎意料之外被問到的都是成效問題。這裡我想說的是,新創公司更看重你會什麼技術,是不是他們公司使用的開發語言,能不能馬上工作。所以如果妳是前端React、JS很強,後端Django, node.js, ASP .NET也很熟練,或是移動端 ios、Android有一定的經驗,那這會是你大展身手的時候了。

知道公司和新創的差別後,接下來要講面試的四大流程

面試的四大流程

  • 流程一:投履歷 (Resume)
  • 流程二:線上測驗 (Online Assessment)
  • 流程三:電話面試 (Phone/Virtual Interview)
  • 流程四:公司面試 (Onsite Interview)


流程一:投履歷 (Resume)

投履歷,這是最關鍵的一步,你要把你的履歷投出去,你才有可能拿到面試,記住!!!如果你還在猶豫,覺得自己的履歷還不夠好,遲遲不投履歷,那你可能錯過了你原本可以拿到面試的機會,而別的履歷寫的比你差的人,就此拿走了原本屬於你的機會。


履歷其實有兩種投法:

  1. 海投:你可以直接在你想去的公司的Career Page申請,也可以透過美國類似像台灣104人力銀行的找工作平台申請: LinkedIn, Indeed, Monster, AngelList, ZipRecruiter
  2. 內推:請你認識的朋友,學長姐幫你從公司內部遞履歷,這會是最快最有效的方式,因為幫你內推的人,是以他個人的Reputation來推薦你的,這提高了很多面試機會!
海投內推優缺點比較表

如果你有認識的學長姐剛好也在你想要的公司當工程師的話,內推是一個非常好的方式,但不是每個人都有這些connections,如果沒有的話,要持續的海投,如果你很不幸,只有1%的機會履歷通過第一輪篩選,那當你投完100個職位的時候,你就會拿到1個面試機會!


流程二:線上測驗 (Online Assessment/Coding Challenge)

當你的履歷通過機器或 HR 篩選,你會收到一封email ,說你有一到兩個禮拜的時間,要到他給你的線上測驗平台上面 (HackerRank, CodeSignal),用45 ~90分鐘的時間,把它給你的題目做出來。

這個線上測驗通常會是2-4 題的算法題,可以先去HackerRank, CodeSignal 註冊帳號,練習他們的題目,熟悉了他們平台敘述題目的方式,在真正做線上測驗的時候,你可以更專心地解決問題,而不用為了按鈕在哪裡而浪費時間。

上面的是大部分公司的Online Assessment (OA) 方式,也有一些會雇用第三方平台,在你做測驗的時候,會要求提供駕照驗證身份,並全程監控你的電腦,防止你作弊。如果是startup的話,這個流程,會更偏向於給你1~2個mini project,給你三天的時間完成,然後他們會再打電話跟你討論,依照完成度、設計方式來考慮你是否通過這一輪。

由於某些公司申請者很多,所以也有可能你在時間內做完測驗,也沒有錯誤,但依然沒有消息,這邊的建議是:做完的時候可以跟你的HR聯繫,每週更新你的狀況,讓HR知道你真的很看重這個機會!


流程三:電話面試 (Phone/Virtual Interview)

當你通過online assessment (OA) 之後,HR會聯繫你,然後幫你安排跟公司的engineer線上面試,基本上面試官會是比你資深1~5年的工程師,對公司有一定程度的了解,也累積了不少的技術功底,你可以趁這個時候詢問並簡單的了解公司的工作氛圍、企業文化、和同事之間相處。


那電話面試是用什麼方式呢?

面試官會用打電話、Skype、Google Hangout 等方式跟你通話,再打開一個Google doc、codepad來讓你寫程序。通常面試時間為45分鐘到一小時,這時候的面試其實跟最後一個流程onsite interview 非常像,差別只在於一個是面對面在白板上解決問題,另一個是在線上通話做題。問題的難度和方式幾乎相同。這可以在他們花錢幫你訂飛機、住宿來onsite interview 之前做一次最後的篩選。

由於今年2020 covid-19的疫情,所以很多科技公司都採用 Work From Home 政策,既然工程師們都在家裡工作了,所以原本的下一輪 onsite interview,也都轉為線上面試了。如果你人不在美國,這時候也是你很好的時機,你履歷投了嗎?趕快趁現在為自己的未來爭取機會!!!


流程四:公司面試 (Onsite Interview)

恭喜你來到了最後一個流程,快要達到你的目標了!

公司面試就是實際到公司,在他們的辦公室進行面對面的面試。如果你住的地方不是在公司附近,他們會幫你付機票和住宿的錢,也會幫你這趟面試途中的消費,所以不用擔心妳住的地方離公司很遠。

面試的時間,通常會花到3~5個小時的時間,四輪面試,中間一小時的午餐時間,最後hiring manager 跟你談話,來了解你的狀況:有沒有其他公司的offer 或 interview,你期待的待遇是什麼 等等 …

四輪面試當中,每一輪的時間差不多45分鐘到1小時,面試的內容大部份分為三種:

  1. Behavior Question
  2. Coding Question (Algorithm, Data Structure)
  3. Design Question (System Design, OOD)

不過有時候可能會加面其他的內容,例如有一次面試,我被面了一輪50 分鐘的 Project demo,講解做過的project,然後中途面試官會提問一些問題做互動。


最後的最後:你其實在面完的當下就會知道自己表現得好不好,已經到這一步的你們也不要鬆懈,要繼續努力投履歷和刷題,時時保持狀態,直到你接到HR打給你的恭喜電話!

總結

當你看到這裡,可能會覺得原來軟體工程師找工作這麼不容易,需要這麼多步驟,這麼多層面試。沒錯!每個工程師都是經過層層面試,才被從眾多申請者裡面挑出來,他們還要準備各自的project, 不段的練算法,還要學習一些設計的觀念,很多人不是因為他們面試面掛了,而是在第一個流程就被機器淘汰,根本沒有機會向人表現自己的能力。

所以我會在其他文章講工程師面試怎麼準備、有什麼資源,如果有興趣的朋友,可以訂閱我右手邊或下面的電子報,我會在發表新文章的時候,發email 通知你們,如果有想要知道的內容和問題,可以在下面留言,我之後可以寫相關的主題,希望對你們有幫助!

如果對怎麼準備軟件工程師面試還沒有方向、沒有頭緒的朋友,我很推薦你們一本書,在我之前寫過的一篇文章中有介紹

延伸閱讀:Cracking the Coding Interview是什麼?美國科技業『面試聖經』


如果是在美國的朋友的話,可以參考我的另外一篇 十大推薦工程師書籍

延伸閱讀:10 Best Software Engineering Books

大公司與新創公司面試流程比較表

This Post Has 5 Comments

  1. chiori

    之後在日本讀專門,以後打算進大公司,這編文章真的可以幫到我!

  2. Summer

    哇~ 原來在國外,要當工程師真的很不容易,看完了解很多,之後可以分享給想要去國外工作的朋友

  3. XXX

    美國夢!
    感謝版主分享如此細節~讓工程師有方向追尋~

  4. 仇艸西

    看完真的覺得版主實在太厲害了!
    有一種職場即戰場的感覺
    如果在第一關就被機器刷下來
    連表現的機會都沒有
    感覺好可惜
    幸好有版主這樣仔細地分享
    讓需要的人可以作為參考
    而不會沒有方向!

  5. 小豬

    雖然面試過程繁瑣,其實覺得先測驗與電話面試,是節省雙方時間,
    如前面幾關不符合,公司主管也不用花時間詳談,面試者也不用大老遠到公司面試。
    是一個蠻有效率的做法~~

發佈留言