面試真題講解
逐題講清解題思路、關鍵實作與常見追問。
產品經理面試:如何設計可操作的 API 錯誤體驗?
把 API 錯誤從模糊字串變成可診斷、可修復、可度量的開發者體驗,兼顧標準化、局部失敗、相容性與支援成本。
如何用 PerformanceObserver 建立可靠的真實使用者效能採集?
設計可取樣、可補取、能發現緩衝區遺失與跨網域限制的 RUM 採集器,準確上報 LCP、資源與互動效能。
如何處理串流聚合中的遲到事件與亂序資料?
用事件時間、水位線、允許遲到視窗與更正輸出處理亂序串流,平衡結果準確性、延遲、狀態大小與可重播性。
如何設計時序指標的分層保留與降採樣服務?
為高基數指標規劃寫入、查詢、降採樣、保留期與成本邊界,確保長期趨勢可用且短期故障不被抹平。
如何實作 Skip List,並解釋它為何期望 O(log N)?
用隨機層高建立可插入、刪除與按序查找的跳表,說明期望複雜度、隨機數邊界、重複鍵與記憶體取捨。
如何用 Little 定律估算服務並發與佇列容量?
用 L = λW 連結吞吐、平均延遲與系統內請求數,識別排隊失控並制定限流、擴容與容量驗證方案。
如何在線安全地建立或重建 PostgreSQL 索引?
在持續讀寫的生產資料表上規劃並行索引、失敗復原、流量保護與上線驗證,避免鎖表與隱性效能退化。
如何解釋串流處理中的 Exactly-once 語義與外部副作用?
區分訊息投遞、管線處理與外部寫入的保證,設計可重試、可去重且可觀測的資料管線。
如何實作 Vose Alias Method 做 O(1) 加權隨機取樣?
用機率表和別名表把靜態離散分布預處理為常數時間取樣,並處理權重更新、數值精度和分布驗證。
如何用 Web Locks API 協調多個分頁的共享任務?
用 navigator.locks 在分頁和 Worker 間序列化共享資源存取,處理排隊、取消、故障釋放與相容性。
如何為迴歸模型建立具覆蓋率保證的 Conformal Prediction 區間?
從非一致性分數與校準集建立分布無關預測區間,並說明交換性、覆蓋率、漂移與區間寬度的邊界。
如何設計 Saga 編排多服務訂單履約並處理補償?
把跨服務訂單流程拆成區域交易,設計編排器、冪等步驟、補償動作和可觀測的最終一致性。
如何安全使用 scheduler.postTask,並為不支援的瀏覽器設計降級?
用瀏覽器優先級任務排程拆分長任務,處理取消、動態優先級、相容性與長任務監測。
如何設計 Transactional Outbox 保證資料庫與訊息最終一致?
用交易式 Outbox 拆解雙寫問題,設計可靠訊息中繼、重複投遞冪等、順序與積壓處理。
如何實作 Count-Min Sketch 估算資料流中的頻率?
用二維計數器與多組雜湊在固定記憶體中估算任意鍵的出現次數,並說明誤差上界、合併與重設。
如何設計隱私保護的產品遙測與分析平台?
設計從端側採集到聚合發布的隱私遙測平台,處理最小化、貢獻裁剪、差分隱私預算、可靠性和可稽核性。
如何解釋差分隱私的 epsilon、敏感度與隱私預算?
從相鄰資料集和敏感度出發,推導雜訊機制、組合預算與準確率取捨,避免把差分隱私誤解成簡單匿名化。
QUIC 如何在切換網路或 NAT 重新綁定後保持連線?
從連線 ID、路徑驗證和地址驗證令牌出發,解釋 QUIC connection migration 的安全流程、限制與排障方法。
A/B 測試中總體結果反轉,如何識別 Simpson 悖論並做上線決策?
從分層分母、隨機化平衡和預先註冊的估計量出發,識別聚合偏差,避免被總體轉換率誤導。
如何用 HyperLogLog 近似估算海量資料的去重數量?
用固定記憶體的 HyperLogLog 估算串流資料基數,掌握暫存器更新、誤差修正和分散式合併邊界。
前端面試:如何安全實作滾動驅動動畫?
使用 CSS 滾動與視圖時間軸、漸進增強、減少動態效果和合成器友善屬性,避免每次滾動都執行處理器。
產品經理面試:如何為用量型定價選擇價值指標?
選擇能反映客戶價值、可計量可稽核、隨成功增長且不會製造帳單驚嚇的用量指標。
行為面試:說一次你提出異議後仍全力執行最終決定
用證據、尊重的異議、決策責任和可衡量的後續行動回答 disagree and commit 行為面試題。
分散式系統面試:Lamport 時鐘何時不夠,何時需要向量時鐘?
解釋 happened-before、Lamport 排序、向量時鐘因果關係、並行事件、元資料成本與實體時鐘的邊界。