軟體 工程師 面試 問題: 該問 什麼、 該聽出 什麼
依面試階段整理的 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 題,把評分量表分享給每位面試官,並在第一場面試前先講好由誰做最後決定。
文/