我可以使用 AI 練習系統設計面試嗎?
作者 Aaron Cao · 更新於

可以。AI 能協助你演練需求釐清、容量估算、架構說明與取捨分析。請它一次只問一個問題,並在你完成前不要提出建議設計。自行繪製圖表、查證技術回饋,並反覆練習你難以解釋的部分。
如何讓 AI 扮演面試官?
如果 AI 立即提供完整架構,你就失去了練習自行決策的機會。以下設定會讓你繼續為答案負責,並透過具體的面試官提示詞與規則延後提供提示。
請在可接受對話式指示的 AI 工具中使用以下提示詞:
請擔任資深後端工程職位的系統設計面試官。請我設計一項 Webhook 傳遞服務。讓我先釐清需求,再提出元件。一次只問一個問題,並等待我回答。針對我對流量、傳遞保證與故障的假設提出質疑。除非我主動要求,否則不要展示參考架構或提供提示。我完成後,請引用我答案中的具體例子,指出遺漏之處與可疑論點。
將職位與問題替換成你的目標。如果 AI 開始替你完成設計,請它回到提問模式。即使必須在工具中輸入摘要,也要大聲回答,並隨著對話同步繪圖。
若要了解 SubcueAI 提供的練習服務,請造訪模擬面試頁面。
限時模擬面試應涵蓋哪些內容?
開始前先設定練習時間。以下建議的 40 分鐘架構是一份演練計畫,並不代表任何雇主的面試形式:
- 需求,5 分鐘:確認使用者、必要操作、排除的功能與可接受的延遲。以 Webhook 為例,應釐清順序是否重要,以及成功傳遞的定義。
- 估算,5 分鐘:說明事件量、酬載大小、每個事件的目的地數量,以及尖峰負載假設。清楚標示單位。
- 初步設計,15 分鐘:畫出事件擷取、持久化儲存、傳遞佇列、工作程序與客戶端點。追蹤一個事件如何流經系統,並解釋每次確認。
- 深入探討,10 分鐘:選擇一項風險,例如重複傳遞、目的地超載或工作程序故障。說明因應方式及其代價。
- 總結,5 分鐘:概述設計、最薄弱的假設,以及接下來要調查的事項。
讓需求成為選用元件的依據。例如,在決定如何持久化事件前,先解釋程序當機時哪些資料必須保留。如果模擬面試暴露了知識缺口,請先完成這次嘗試,再研究該缺口並重新演練說明。
如何練習容量計算與故障情境?
假設一位後端工程師正在準備資深平台職位,並進行 Webhook 傳遞模擬面試。假設的工作負載為每天 10 百萬個事件、每個事件一個目的地,以及 1 KB 的酬載。AI 詢問某位客戶的端點中斷 1 小時時會發生什麼事。
先從你能解釋的算術開始:10,000,000 除以 86,400,平均約為每秒 116 個事件。另外選定平均值十倍的尖峰假設後,初始傳遞嘗試約為每秒 1,160 次。重試會在這些初始嘗試之外增加流量。
採用十進位單位時,事件酬載合計約為每天 10 GB,尚未計入中繼資料、索引、複寫與其他額外負擔。這些是練習假設,而非正式環境的測量結果。若要估算無法連線之客戶的積壓量,必須先確定有多少比例的事件以該客戶為目標。
接著,請 AI 分別追問以下情境:
- 確認遺失:接收端已處理事件,但傳送端從未收到回應。說明重試如何可能重複產生副作用,以及去重機制應設於何處。
- 目的地緩慢:某位客戶占用工作程序的處理能力。說明並行限制、重試退避與隔離機制如何保護其他客戶。
- 工作程序當機:工作程序在傳遞期間停止。確認哪些內容仍會持久保存、工作何時符合再次嘗試的條件,以及如何處理重複項目。
若要練習另一個問題,請參閱面試題庫指南。
如何檢視回饋並選擇要重複練習的內容?
接受評分前先要求依據。有用的檢討會指出你說過或遺漏的內容、解釋其後果,並提供需要重新檢視的具體問題。
- 需求:你的設計是否符合議定的範圍與傳遞期望?
- 數字:單位是否一致,且你是否區分了平均負載、尖峰負載與重試?
- 架構:你能否透過圖表追蹤成功請求與故障的完整流程?
- 取捨:你是否說明了合理的替代方案,以及不採用該方案的後果?
- 溝通:你是否先解釋為何需要某個元件,再討論其實作方式?
AI 可能捏造服務能力、算錯估算結果,或建議無法解決既定問題的元件。請自行重新計算,並依據權威文件查證有爭議的技術論點。請評審區分違反需求與在有效設計之間的偏好。
將繪圖持續納入練習流程。純文字回饋無法檢查未收到的圖表,而具備影像處理能力的回饋仍可能忽略不一致之處。請確認箭頭、資料儲存區、確認流程與口頭說明彼此一致。
在沒有提示的情況下重複最薄弱的部分,接著嘗試限制條件有所變化的相關問題。追蹤自己能否獨立解釋決策。同儕或資深面試官可再協助檢查不清楚的推理;僅憑 AI 評分無法證明你已準備就緒。