準備北美軟體工程師面試時用的資源整合

閱讀時間約 8 分鐘

當初由香港來到加拿大找軟體工程師工作時,第一個問題就是不知道這邊的面試問什麼、面試的模式、面試官期望在應徵者身上看到什麼…

花了一個星期大概了解北美面試的結構後,到了真正面試時又發現跟認知的有些少出入,導致頭幾次面試都是在浪費機會。

經過2個多月的研究和親身試錯後,我整合了一條為準備軟體工程師面試的資源清單,最後亦附上一些有助學習和面試準備的工具,希望對各位正在努力找工作的朋友有幫助。


軟體工程師面試考核內容

北美的軟體工程師面試主要考核內容包括:

  1. 數據結構和算法 (Data Structure and Algorithms)
  2. 系統設計 (System Design)
  3. 行為問題 (Behavioral Questions)

數據結構和算法 (Data Structure and Algorithms)

大部份從香港來的軟體工程師感受應該都很深刻,由知道北美面試會有Live Coding,到開始在Leetcode做第一條簡單(Easy)的題目,然後發現自己竟然連簡單的題目都卡關(!?)的時候就懷疑自己在香港幾年寫程式的經驗是不是都是白過的。

同樣是寫程式,香港對工程師的要求可謂與眾不同,香港的工程師普遍十八般武藝樣樣都會,由寫程式碼,到前後端開發、系統設計、雲端技術、專案管理、團隊管理,但就是沒有一項精通。香港的面試也不太著重技術上的考核,更不用說Live Coding、White Boarding這類題目。

數據結構和算法可以說是我當初花最多時間惡補的地方,我主要利用Google的Tech Dev Guide學習,這平台包含了不同數據結構的教學,有文章、影片、寫程式練習和測驗,對初學者是不錯的學習資源。

另外有部份我想了解更深入的,或者是指定的Leetcode題目,我會在YouTube找教學,其中我比較喜歡的是William Fiset的影片,他會由淺入深地解釋算法的概念,利用不同例子去演練算法,而且他的影片以英文錄製,有助我習慣面試的語言。

我自問看了他頻道裏差不多7成的影片,唯一感覺解釋得不太清楚,或者是我聽不懂的是競爭性編程(Competitive Programming)類的題目,不過這類題目在面試出現的機會不高,聽不懂的跳過就算了。

raw-image

在Live Coding方面,我主要使用2個平台練習題目:

  1. leetcode.com
  2. www.hackerrank.com

由簡單(Easy)開始,感覺自己掌握了解題方式就向中等(Medium)和困難(Hard)邁進,大部份公司的面試題目都落在這2個難度。每天刷1–2小時,先以量為目標,對每種題目都有個印象後再逐漸加插時限、算法複雜度、空間複雜度的挑戰。


系統設計 (System Design)

我在香港工作的時候也有負責過系統設計,但是每家公司都有自己一套的框架和設計步驟,是先由資料庫開始還是由API開始?以往我都是先查看團隊以前的系統設計文件,再大概跟隨前人的步伐著手。

雖然系統設計有“設計”這2只字,意昧著創意的意思?但其實市場上有一套大家都默認的解題方式,未接觸過系統設計面試的我建議先看幾段示範影片,初步了解面試官期望怎樣去釐清題目、由哪方面著手,需要畫什麼…

喜歡文字版本的可以參考:

如果你應徵的是AWS、GCP或Azure團隊,或者你知道公司主要應用某一個雲端平台的話,可以溫習以下資源:

系統設計面試通常會以白板 (White Boarding) 的形式應考,線下面試有人會買白板在家練習,線上面試可試用以下2個工具:

線上白板工具功能都大同小異,所以選用哪一個關係不大,我只是視它為練習Think Out Loud的工具,熟悉如何一邊思考一邊畫圖解題。


行為問題 (Behavioral Questions)

行為問題並不是專屬於軟體工程師面試,隨便在Google上搜尋一下就會有成千上萬的題庫,不少人亦會在LinkedIn、Indeed等工作平台分享。

我自己在面Amazon後發覺其實不同公司問的行為題目都相差無幾,所以無頭緒要準備什麼的可以先由Amazon的Leadership Principles開始:


學習和面試工具

當我知道兩地在面試要求的差距後,我明白了準備面試是一段漫長且艱苦的旅程,大學一個學期是3個月,這邊找工作大家都說要3個月起跳,所以在準備期間我使用了以下這些工具,協助整理學習的資料。

Google Document / Google Sheets

由於大部份軟體工程師面試都在線上進行,我在面試前會準備有機會用到的資料,例如行為問題的要點、公司背景、要問面試官的問題,一一寫在Google Document上。面試時分拆螢幕做上下或左右兩邊,一邊是面試用到的會議軟件,一邊是Google Document。

有人亦建議用Google Sheets加上篩選功能,在遇到不熟悉的問題時使用篩選功能快速查找預先準備的資料/答案,我個人偏好Google Document左邊的選單/導覽列,在考官發問後能讓我在2–3秒內找到相關資料,再不行就Ctrl+F搜尋,總比沒任何準備好得多。

抽認卡/閃卡 (Flash Card)

身為一位全端工程師,半年前的我無論是前端還是後端的職位都應徵過。曾經有一次技術面試是應徵C#後端加React前端的全端工程師職位,為了準備面試我重新把Javascript的基礎重溫一遍,例如Event Loop、ES6、Promise等等。途中發現很多概念在溫習過幾天後就忘記,於是便尋找一些製作抽認卡(Flash Card)的工具。

抽認卡是不少學校在教學中會用到的工具,尤其是語言、歷史課,在卡面寫問題,卡底寫答案。溫習時抽取一張解答,從而鞏固學習記憶。

製作抽認卡我推薦使用Memo.cards,不用半小時,它就可以從PDF/YouTube影片/文字/錄音中生成抽認卡,直接在它們家網頁使用。

以下我以在Google上找到的Effective Java Third Edition為例子生成抽認卡模擬準備Java工程師的面試。

它有免費的試用版,註冊會員後選擇“New Deck”。

raw-image

選擇PDF後上載文件。

raw-image

免費版只支援最多50,000字的文件,這次我選取章節10 Exceptions的頁數,剛好在字數限制內。

raw-image

系統在讀取文件後左邊會顯示文件預覽,右邊選擇“AI-Generated”。

raw-image

最上邊可以看到除了抽認卡外,它們還支援生成多項選擇題和填空題,可根據不同喜好選擇。

選取“Standard”後按“Next”。

raw-image

按“Render Topics”後系統就會開始生成一些題目,按“Confirm and Generate Cards”確認。

raw-image

系統正在炮製我的抽認卡…

raw-image

叮噹!新鮮滾熱辣的抽認卡就這樣出爐了!由上載PDF、到設定、生成抽認卡,整個過程不用半小時。

raw-image

按右上的“Flash Card”,選擇要不要所有題目和開啟隨機模式後按“Review”。

raw-image

然後就開始溫習了(已經不想再回到要為面試準備的那段時光😭)

raw-image

以上是我在準備面試時用到的資源和工具,希望對各位正在為面試準備的同行有幫助!


我平常有在Medium上分享我在移居加拿大後的生活,遇到的難題和解決辦法,有興趣閱讀更多我的文章的話可以造訪我的Medium專頁

0會員
3內容數
留言0
查看全部
發表第一個留言支持創作者!
Keith的沙龍 的其他內容
這篇文章是我作為一名軟體工程師在網上寫作一年後的反思。從毫無寫作經驗到開始探索寫作,在這個過程中遇到的挑戰和學習。在這一年裡,我嘗試了不同的題材,並探討了寫作如何成為我的副業。透過堅持與嘗試,我希望能夠啟發那些想要開始寫作的人,給予踏出第一步的勇氣。
這篇文章是我作為一名軟體工程師在網上寫作一年後的反思。從毫無寫作經驗到開始探索寫作,在這個過程中遇到的挑戰和學習。在這一年裡,我嘗試了不同的題材,並探討了寫作如何成為我的副業。透過堅持與嘗試,我希望能夠啟發那些想要開始寫作的人,給予踏出第一步的勇氣。
你可能也想看
Google News 追蹤
Thumbnail
這個秋,Chill 嗨嗨!穿搭美美去賞楓,裝備款款去露營⋯⋯你的秋天怎麼過?秋日 To Do List 等你分享! 秋季全站徵文,我們準備了五個創作主題,參賽還有機會獲得「火烤兩用鍋」,一起來看看如何參加吧~
Thumbnail
這篇文章主要介紹了從瞭解需求到瞭解自身技能,撰寫客製化履歷的三個步驟。作者通過分享自己的面試經驗,提供了對準備面試有興趣的人的幫助。同時介紹瞭如何從服務業轉職軟體科技業,並提供了免費檔案供讀者下載。
Thumbnail
這篇文章分享了一位 junior 在面試前做的準備。包括如何應對常被問到的兩個問題:「你有類似的經驗嗎?」和「你為什麼想來這裡?」作者針對這兩個問題提出了個人的準備策略和心得,並分享了在面試前的資料蒐集及模擬面試的做法。
Thumbnail
這篇文章分享了面試中常詢問的後續流程和時間相關問題,包括詢問後續面試關卡和流程、預計通知下一關面試時間等問題。建議在面試中詢問這些問題,以便掌握招募後續流程和時間,並展現對職缺的熱忱。
Thumbnail
當兵沒?哪裡人?薪資史⋯⋯ 這些在台灣面試常見的問題,在美國通通不能問。 面試官連最基本的社交對話都非常小心。我就陰溝裡翻過船。
Thumbnail
面試,是人生中不可或缺的一道門檻。這扇門的後面,或許是你夢寐以求的職位,亦或是一次新的挑戰。但在面試過程中,常常會面對一些既令人緊張又無從下手的問題。接下來,我們來談談如何應對這些常見問題,讓你在面試中從容不迫,遊刃有餘。
Thumbnail
面試就像是一場大考,準備得當與否,往往決定了你能否脫穎而出。在這段過程中,每一個細節都很重要,讓我們一起來探討需要做的準備工作吧。
Thumbnail
今天我們來聊聊一個許多人都關心的問題:如何準備履歷和面試,才能吸引外商公司的注意。這不僅僅是一個技術性的問題,還涉及到我們如何展現自我、如何理解公司文化以及如何在競爭中脫穎而出。那麼,我們該如何下手呢?
Thumbnail
新鮮人面試求職的攻略,包括客製化履歷、研究公司需求、換種表達方式和麵試準備。避免常見錯誤並提前尋求導師或學長姐意見。
Thumbnail
houzz 面試過程流暢且舒服,但由於是全英文面試,所以還是滿緊張的。面試問題滿全面的,會根據過往專案經驗去挖掘你的技術水平,同時也會考量你是否能夠獨立自主工作、會怎樣解決問題。技術難易度中上,著重在實驗設計、統計檢定以及產品相關問題,但對於 coding 能力較不要求。
面試除了是公司挑選我們 也是我們在選擇公司 跟大家分享幾個我覺得 面試時候可以關注的重點問題
Thumbnail
這個秋,Chill 嗨嗨!穿搭美美去賞楓,裝備款款去露營⋯⋯你的秋天怎麼過?秋日 To Do List 等你分享! 秋季全站徵文,我們準備了五個創作主題,參賽還有機會獲得「火烤兩用鍋」,一起來看看如何參加吧~
Thumbnail
這篇文章主要介紹了從瞭解需求到瞭解自身技能,撰寫客製化履歷的三個步驟。作者通過分享自己的面試經驗,提供了對準備面試有興趣的人的幫助。同時介紹瞭如何從服務業轉職軟體科技業,並提供了免費檔案供讀者下載。
Thumbnail
這篇文章分享了一位 junior 在面試前做的準備。包括如何應對常被問到的兩個問題:「你有類似的經驗嗎?」和「你為什麼想來這裡?」作者針對這兩個問題提出了個人的準備策略和心得,並分享了在面試前的資料蒐集及模擬面試的做法。
Thumbnail
這篇文章分享了面試中常詢問的後續流程和時間相關問題,包括詢問後續面試關卡和流程、預計通知下一關面試時間等問題。建議在面試中詢問這些問題,以便掌握招募後續流程和時間,並展現對職缺的熱忱。
Thumbnail
當兵沒?哪裡人?薪資史⋯⋯ 這些在台灣面試常見的問題,在美國通通不能問。 面試官連最基本的社交對話都非常小心。我就陰溝裡翻過船。
Thumbnail
面試,是人生中不可或缺的一道門檻。這扇門的後面,或許是你夢寐以求的職位,亦或是一次新的挑戰。但在面試過程中,常常會面對一些既令人緊張又無從下手的問題。接下來,我們來談談如何應對這些常見問題,讓你在面試中從容不迫,遊刃有餘。
Thumbnail
面試就像是一場大考,準備得當與否,往往決定了你能否脫穎而出。在這段過程中,每一個細節都很重要,讓我們一起來探討需要做的準備工作吧。
Thumbnail
今天我們來聊聊一個許多人都關心的問題:如何準備履歷和面試,才能吸引外商公司的注意。這不僅僅是一個技術性的問題,還涉及到我們如何展現自我、如何理解公司文化以及如何在競爭中脫穎而出。那麼,我們該如何下手呢?
Thumbnail
新鮮人面試求職的攻略,包括客製化履歷、研究公司需求、換種表達方式和麵試準備。避免常見錯誤並提前尋求導師或學長姐意見。
Thumbnail
houzz 面試過程流暢且舒服,但由於是全英文面試,所以還是滿緊張的。面試問題滿全面的,會根據過往專案經驗去挖掘你的技術水平,同時也會考量你是否能夠獨立自主工作、會怎樣解決問題。技術難易度中上,著重在實驗設計、統計檢定以及產品相關問題,但對於 coding 能力較不要求。
面試除了是公司挑選我們 也是我們在選擇公司 跟大家分享幾個我覺得 面試時候可以關注的重點問題