Reconciliation / Background Repair
6 題
Donation Platform
設計一個像 GoFundMe 的募款平台——一檔專案可能在一夜之間爆紅,湧入大量小額捐款,而每一塊錢都必須被收妥、可退款,並即時反映在準確的募款進度計數上。
預覽支付系統
為電商產品設計一套支付系統——就算網路在交易進行到一半時斷線,錢也必須在買家、平台、賣家之間正確流動,而且事後每一分錢都要能被追溯。
預覽Spend Management System
設計一套企業支出管理平台,像 Brex 或 Ramp——每一次刷卡都必須在兩秒內由即時政策引擎完成授權或拒絕,而每一筆交易都必須流進會計系統,並配對到對應的收據。
預覽Distributed Key-Value Store
設計一套 Dynamo 風格的高可用鍵值儲存:用一致性雜湊把 key 分散到各節點,每個 key 複製到 N 個節點,並讓每個操作用 quorum 讀寫(R + W > N)自行調整一致性。這套儲存必須在節點故障與網路分區期間維持可寫——sloppy quorum 與 hinted handoff 讓 home 複本無法連線時仍持續接受寫入——而分區兩側並行寫入同一個 key 產生的版本,必須用...
預覽Stock Exchange
設計證券交易所的核心交易系統:把委託單收進一本中央限價訂單簿,依價格-時間優先撮合;當自家訂單簿無法完成一張單時,到別的交易場所把剩下的量收尾——用 wholesaler 的報價做內部化成交,或把剩餘量路由到競爭對手交易所——但過程中絕不穿價(trade-through)成交、踩過更好的公開價格。內容涵蓋委託單類型與生命週期、決定性撮合、smart order routing...
預覽Object Storage
設計一套類似 S3 的物件儲存服務,以持久且低成本的方式儲存數十億個不可變 blob。涵蓋 metadata 與資料分離、用 erasure coding(抹除編碼)達成 11 個 9 的持久性、背景清掃與修復、分段上傳、強寫入後即讀一致性、quorum 寫入(達到法定數量的分片才確認),以及生命週期分層。
預覽