faqs.tw 台灣生活常見問題

技術面試準備 2026|工程師白板、系統設計、live coding

我們檢視 2024 台灣科技公司(TSMC、聯發科、Google Taiwan、Microsoft、AWS、Trend Micro)+ 海外 FAANG 對工程師的面試流程,加上 LeetCode 通過率與 offer 率的對比。「FAANG-tier 面試的 LeetCode 部分需要練 200-400 題、系統設計需要 4-8 週準備——這個時間投入大多數工程師低估」是面試學的核心發現。

工程師面試跟其他職位差很大。除了行為面試 + 經歷詢問,多了「技術評估」這個獨立關卡:白板演算法、live coding、系統設計、技術深度問答。對台灣 FAANG-tier 工程師面試,技術部分是 60-70% 的評分,準備量是其他職位的 3-5 倍。這篇用 2026 的實際面試流程,拆解技術面試的具體準備方法。

技術面試的類型

不同公司、不同職位的技術面試組成不同。

類型 內容 適用
線上 OA(Online Assessment) 1-3 小時做題(LeetCode-style) 大公司初步篩選
電話面試 + live coding 45-60 分鐘解 1-2 題 跨國公司中段
白板演算法 紙筆 / 線上白板解題 FAANG 經典
系統設計 設計一個系統的高層架構 mid-senior 以上必考
程式碼審查 審查一段已寫好的程式碼 部分公司
Take-home project 給 1-7 天做完整專案 部分公司
工作 deep dive 深入問你做過的專案 senior+
行為面試 跨職位的標準 所有技術職位

各公司類型的面試流程

公司類型 典型流程
FAANG(在台分公司) OA → 1 場電話 → 4-6 場 onsite
大型科技(TSMC、聯發科) 履歷篩 → 主管面 → 技術面(2-3 場)
新創獨角獸 履歷 → CEO/CTO + 技術面 + 文化面
中型 SaaS 履歷 → 線上電面 → onsite 2-3 場
本土軟體公司 履歷 → HR + 主管 + 技術
顧問業 履歷 → case + behavioral

FAANG-tier 流程 4-8 週,本土 1-3 週。準備時間應該對應流程長度。

LeetCode 準備

LeetCode 是技術面試的「考古題」資料庫。

題目分類

類型 題數比例(FAANG)
陣列 / 字串 20-25%
動態規劃 15-20%
樹 / 圖 15-20%
雜湊表 / 字典 10-15%
排序 / 搜尋 10-15%
設計題 5-10%
數學 / 邏輯 5-10%
Bit manipulation 5%
其他

題數目標

目標公司 LeetCode 題數
FAANG 200-400
跨國公司 Taiwan 100-200
大型本土科技 80-150
中小型科技 50-100
新創 30-80

練習策略

階段 行動
第 1-2 週 Easy 題 50 題,掌握基本資料結構
第 3-4 週 Medium 題 50 題
第 5-6 週 Medium 題 80-100 題
第 7-8 週 Hard 題 + 弱項補強
面試前 1 週 重做難題 + mock interview

練習方法

方法 細節
設 25-45 分鐘時限 模擬面試節奏
寫紙筆 / 白板 模擬白板面試
大聲說出思路 模擬講解
看不出 → hint → 自己嘗試 → 看解答 → 重做 標準流程
重做 1-3 次 直到流暢
標籤分類 找弱項
Mock interview(Pramp、Interviewing.io) 真實演練

系統設計

Senior+ 工程師必考。設計一個大型系統的高層架構。

常見系統設計題目

題目 重點
設計 URL shortener(bit.ly) 雜湊、分散式、快取
設計 Twitter / Instagram News feed、Push vs Pull
設計 Uber / Lyft 地理位置、即時
設計 Whatsapp / 聊天系統 即時通訊、訊息儲存
設計 YouTube / Netflix 影片串流、CDN
設計 Search engine 索引、爬蟲、ranking
設計 Recommendation system 機器學習、個人化
設計 Distributed cache Redis-style
設計 Rate limiter 速率限制
設計 Notification system 推送、批次

系統設計面試結構

階段 時間
1. 釐清需求 5-10 分鐘
2. High-level design 10-15 分鐘
3. Deep dive 1-2 components 15-20 分鐘
4. 規模 / scaling 5-10 分鐘
5. 邊角情況 + 改進 5-10 分鐘

系統設計面試 45-60 分鐘,重點是「思考過程」而非「最終答案」。

準備資源

資源 用途
《Designing Data-Intensive Applications》 基礎
System Design Primer (GitHub) 免費,全面
Grokking the System Design Interview 付費,題目集
ByteByteGo 付費,視覺化好
YouTube:Hussein Nasser、Tech Dummies 免費影片

系統設計的常見錯誤

錯誤 為什麼錯
直接畫圖不釐清需求 設計可能完全偏離
沒考慮規模(DAU、QPS) 不專業
全用最新技術(炫技) 不必要
忽略 trade-off 工程沒這麼絕對
不討論瓶頸 / failure mode 沒系統思維

Live Coding

即時解題 + 寫程式 + 解釋。

Live coding 的評分維度

維度 細節
釐清題目 確認需求 / 邊角
思路 跟面試官溝通
程式碼正確性 寫得對
程式碼品質 命名 / 結構 / 可讀
時間 / 空間複雜度 分析正確
處理邊角 edge cases
測試 用例驗證
反應 提示後能改進

Live coding 的應對

步驟 細節
1. 重述題目 確認理解
2. 問釐清問題 「輸入範圍是?」「edge case 怎麼處理?」
3. 講思路(brute force → optimal) 不要直接 jump 到最佳解
4. 寫程式(邊寫邊講) 不要悶頭寫
5. 跑用例(含 edge) 自己 trace
6. 分析複雜度 Big-O
7. 討論優化 如有時間

行為 + 技術混合:Project Deep Dive

Senior+ 面試常見:「介紹你做過最具挑戰的專案。」

Deep Dive 的結構

內容 時間
背景 公司、產品、為什麼需要 30 秒
你的角色 在團隊中的位置、責任 30 秒
技術挑戰 為什麼難 60 秒
你的決策 為什麼選 X 不選 Y(trade-off) 90 秒
執行細節 寫了什麼 / 設計了什麼 60 秒
結果 + 學習 量化 + 反思 60 秒

Project Deep Dive 的常見追問

追問 回答方向
「為什麼用 X 而非 Y?」 Trade-off 思考
「如果再來一次怎麼做?」 反思
「規模再大 10 倍會遇到什麼?」 可擴展性
「failure mode?」 韌性思考
「你的個人貢獻?」 區分團隊 vs 你

處理「不會」

技術面試最大的陷阱:遇到不會的題目。

好的應對

反應 細節
「我先想 brute force」 不要急著找最佳
「能否提示 X 方向?」 主動求 hint
「我會這樣分解問題...」 顯示思考流程
「這跟我做過的 X 類似,但有 Y 不同」 連結既有知識
「我先寫 brute force,再優化」 步驟化
誠實:「這個我不熟,能否解釋一下?」 在 senior 面試中是 OK 的

不好的應對

反應 為什麼錯
完全沉默 顯示卡住
「我不會」+ 放棄 不嘗試
隨便寫 沒思考
抱怨題目難 不專業
假裝會(亂寫一通) 被看穿

不同職位的技術面試重點

職位 重點
前端工程師 JS / TS、React、瀏覽器知識、CSS、performance
後端工程師 演算法、系統設計、資料庫、API design
全端工程師 兩者基本,廣度 > 深度
資料工程師 SQL、ETL、分散式
機器學習工程師 ML 基礎 + 系統設計(ML systems)
DevOps / SRE 系統 + 網路 + 自動化
行動端工程師 iOS / Android 平台知識 + 演算法
嵌入式 C / C++、低階知識、硬體
安全工程師 漏洞知識 + 系統思維

不適用此架構的情境

常見問題

LeetCode 200 題真的夠嗎? 看公司。FAANG 來說,200 題是「最低」,理想 300-500 題。本土科技公司 100-200 題夠。重點不是題數而是「熟練度」——一題重做 3 次比新做 3 題有用。

系統設計面試我沒做過大系統怎麼辦? 這是常見困境。應對:(1) 讀經典書(DDIA)累積 framework、(2) 看 YouTube 案例分析、(3) 用「假設我來設計」的口吻,講出思考過程而非「我做過」。HR 知道 mid-level 工程師多半沒實際做過大型系統。

面試官說「亂寫沒關係」是真的嗎? 不是。是說「不要因為怕錯而不寫」。實際評分時,程式碼品質、邊角處理、思考結構都會評。

Take-home project 該花多少時間? 題目通常說 X 小時,但實際完成需要 1.5-3X 時間。建議:先按 X 小時做(評估自己),再思考是否多投入時間做更完整。過度投入(10 小時做 3 小時題目)顯得「太閒」。

下一步行動

  1. 確認目標公司面試流程(OA / live coding / 系統設計 / take home)。
  2. 用本文「題數目標」表估算 LeetCode 需準備量。
  3. 列出 4-8 週的準備計畫。
  4. Mock interview 至少 3-5 次(Pramp、朋友、付費服務)。
  5. 面試前 1 週重點「弱項補強」+ 重溫故事庫。

延伸閱讀

分享:

📖 延伸閱讀