軟體工程師面試問題:該問什麼、該聽出什麼

依面試階段整理的 15 個軟體工程師面試問題,寫給招募團隊,附上好的回答會呈現什麼、該注意的警訊,以及替回答評分的 1–4 分量表。

軟體工程師面試問題:該問什麼、該聽出什麼

好的軟體工程師面試問題,考的是候選人怎麼思考真實的工作:一個他追查到底的 bug、一個他做過的取捨、一段之後要交給別人維護的程式碼。下面 15 個問題依面試階段分組,每題都附上好的回答會呈現什麼,以及該注意的警訊。

我們開發 Talent Summoner,在面試開始前替你找到工程候選人並排序;不管你用不用它,這些問題都適用。截至 2026 年 10 月 3 日,你的第一個職缺額度免費、不需信用卡,第二個是 US$4,之後每個職缺額度 US$29,或每月 US$59 含 10 個職缺額度(方案與價格)。

這一頁寫給要面試工程師的創辦人、人資和小團隊,面試時常常沒有資深工程師在場。如果你已經有成熟的面試流程,包含程式測驗關卡和校準過的面試官,就保留你自己的評分標準,只採用初步篩選和最終面試的問題。

依階段整理的 15 個軟體工程師面試問題

在同一個階段,用同樣的問題、同樣的順序問每位候選人。你要聽的是清楚的推理和具體的例子,而不是單一的正確答案。

初步篩選電話的問題

#問題好的回答會呈現警訊
1說說你最近做的一個專案。你在其中負責哪個部分?具體說出他自己做了什麼只講「我們」,說不出哪些部分是他做的
2過去兩年你最常用哪些程式語言和工具?用來做什麼?一份誠實、連結到真實工作的清單,包含強項和不足列出一長串工具,卻舉不出任何實際使用的例子
3你最喜歡哪種工程工作?最不喜歡哪種?有自我認識,而且和這個職缺的日常工作相符他不喜歡的工作,正是這個職缺的大部分內容
4你為什麼現在想換工作?冷靜的理由,例如想要成長,或想找更合適的團隊怪罪每一個待過的團隊,完全不提自己的責任

技術能力面試的問題

如果可以,這個階段請找一位工程師或你信任的顧問一起參與。

#問題好的回答會呈現警訊
5帶我看一個你做過的功能是怎麼運作的,從使用者點擊到資料被儲存。用白話依序說明每一步,也說明為什麼這樣設計說得含糊,或請他講簡單一點時仍然滿口術語
6說說一個很難找的 bug。你是怎麼追查出來的?有方法:重現問題、讀 log、縮小範圍、確認修正有效它「自己就好了」,或一路亂猜到能動為止
7你什麼時候會寫測試?什麼時候決定不寫?會權衡風險、成本,以及程式碼多常變動「一定寫」或「從來不寫」,說不出理由
8說說一次你在兩種技術做法之間做選擇的經驗。你是怎麼決定的?說得出有哪些選項、比較過取捨,以及現在會怎麼做得不一樣選了最新的工具,只因為它新

實作測驗的問題

題目要小,而且每位候選人都一樣;或者一起看他可以自由分享的程式碼。絕對不要要求看屬於前雇主的程式碼。

#問題好的回答會呈現警訊
9帶我看你的解法。如果有更多時間,你會改什麼?知道弱點在哪裡,也排得出先修哪個「它很完美」,或解釋不了自己程式碼的某些部分
10如果使用的人多很多,這段程式需要怎麼改?指出哪裡會變慢或出問題,以及合理的下一步忽略這個問題,或整個重新設計
11如果明天有隊友接手這段程式碼,他需要知道什麼?命名、註解、測試,以及容易出錯的地方「看程式碼就懂了」

最終面試的問題

#問題好的回答會呈現警訊
12說說一次你的程式碼收到嚴厲回饋的經驗。你怎麼處理?他先聽、提出問題,然後做出修改或冷靜說明防衛心很重,或從沒收過他不同意的回饋
13說說一次截止日期可能趕不上的經驗。你什麼時候告訴大家?他很早就提出來,並提供可行的選項一直沉默到截止日期過了
14你怎麼向不是工程師的人解釋一個技術問題?用白話講一個真實的例子,聚焦在需要做的決定把非工程師當成要繞過去的麻煩
15你最近自學了什麼?是怎麼學的?好奇心,以及務實的學習方法很長一段時間都沒學新東西

軟體工程師需要證明什麼

讓每個問題對應一個要證明的重點,這樣每個分數才有意義:

  • 他能做出可運作的軟體,用的是你的技術堆疊,或能很快學會。
  • 他會把問題拆成步驟,並說明其中的取捨。
  • 他寫的程式碼別人讀得懂、改得動,並在重要的地方寫測試。
  • 他能找出並修正問題,包括正在運作的系統,而不只是新寫的程式碼。
  • 他能和別人好好合作,並用白話解釋技術概念。

想知道去哪裡找工程師,請看如何招募軟體工程師;香港的薪資和招募管道,請看在香港招募軟體工程師。接下來要招產品經理?請用我們的產品經理面試問題。

怎麼替軟體工程師面試的回答評分

面試結束後馬上替每個回答評分,在和其他面試官討論之前完成:

分數代表什麼
1沒有真正的回答,或出現明顯的警訊
2有一些相關的重點,但說得含糊,或缺少關鍵部分
3清楚、具體的回答,符合這個職缺的需要
4清楚又具體,理由充分,也有自我認識

在每個分數旁邊寫下候選人舉的例子。接著逐題比較候選人,而不是憑整體感覺。

用候選人面試評分表範本記下每個分數背後的證據,並在面試筆記範本裡做筆記。

軟體工程師面試要避免的錯誤

  • 私人問題。年齡、家庭規劃、宗教、健康和出身都和工作無關,很多地方也限制詢問。
  • 腦筋急轉彎。它們測的是解謎能力,不是一個人怎麼開發軟體。
  • 大型的無償回家作業。實作測驗要小,否則就為對方花的時間付費。
  • 臨場想題目。沒有一份共用的問題清單,就沒辦法比較回答。
  • 只看自信,不看證據。講話沉穩的人,不一定是比較強的工程師。

什麼情況下這套問題不適合你

本頁的 15 個問題,適合小公司裡的通才型產品工程師或後端工程師。以下三種情況請換掉:

  • 資深或 Staff 級職缺。加一關由資深工程師主持的系統設計面試。
  • 專業領域職缺,例如機器學習、資安或嵌入式系統。加一關該領域的技術面試。
  • 已有校準過面試流程的大型工程團隊。保留你自己的評分標準;本頁只用在非技術的階段。

工程面試之前,Talent Summoner 能幫上什麼

Talent Summoner 是我們做人才搜尋和候選人排序的產品。以下事實於 2026 年 10 月 3 日查證。

人才搜尋根據你的職缺需求說明,交回一份排序好的入圍名單,並用白話說明理由。它搜尋 LinkedIn、GitHub 和其他公開來源,超過 2 億份個人檔案。

候選人排序可以替你手上已有的最多 50 份履歷評分,免費、不需帳號。

它不做的事:進行或評分你的面試、發送付費的 LinkedIn InMail,也還不能與 ATS 同步。面試決定仍由你的團隊負責。

我們每季重新查證本頁的產品資訊。

沒有技術背景的人,可以面試軟體工程師嗎?

可以,初步篩選電話和最終面試都沒問題。技術能力面試和實作測驗,則請一位工程師或你信任的顧問一起參與,或幫忙檢視作品。

招募軟體工程師需要幾個面試階段?

對小團隊來說,三到四個通常就夠了:初步篩選、技術能力面試、一份實作測驗,以及最後一次對談。只有某個階段能測到其他階段測不到的東西時,才加上去。

我們該用帶回家寫的程式測驗嗎?

一份範圍清楚的小題目,只要每位候選人拿到的都一樣、也知道會怎麼被評估,就能看出真實的能力。如果題目很大,就為對方花的時間付費。

軟體工程師面試最大的警訊是什麼?

候選人解釋不了自己的程式碼或實作作品的某些部分。這通常代表不是他寫的,或他其實不懂。

每個階段使用上面列出的 3 到 4 題,把評分量表分享給每位面試官,並在第一場面試前先講好由誰做最後決定。

所有文章