系統設計面試(System Design Interview)
這門課將帶你掌握清晰的四步驟架構,助你自信拆解複雜需求,有條不紊地設計出高擴展性的大型分散式系統。 * **精通四步驟框架**:從容拆解複雜系統需求 * **分散式架構設計**:搞定高併發與高可用挑戰 * **權衡分析能力**:精準評估資料庫與快取方案 * **條理清晰的表達**:像資深工程師般有效溝通技術
12 sections · 59 lessons
Course outline
擴展基礎
- 單機起步
- 拆分資料庫
- 垂直與水平
- 負載平衡
- 無狀態設計
- 快取與 CDN
- 多資料中心
資料庫基礎
- SQL 資料庫
- NoSQL 類型
- 混合儲存
- 資料庫複寫
- 分片策略
容量估算
- 2 的次方
- 延遲數字
- 可用性等級
- QPS 估算
- 儲存估算
面試框架
- 釐清需求
- 高層設計
- 深入探討
- 收尾總結
- 邊想邊說
快取策略
- Cache-Aside
- 寫入模式
- 淘汰策略
- 快取失效
流量管理
- 為何限流
- 令牌桶
- 漏桶
- 視窗演算法
- 分流演算法
- L4 與 L7
分散基礎
- 一致性雜湊
- 虛擬節點
- CAP 定理
- 一致性模型
- 版本衝突
非同步處理
- 訊息佇列
- 冪等處理
- 訊息順序
- 死信佇列
ID 生成
- UUID 與多主
- Snowflake
- 時鐘漂移
經典設計
- 短網址
- 301 與 302
- 網路爬蟲
- 爬蟲陷阱
- 通知系統
- 推送與拉取
即時系統
- WebSocket
- 訊息路由
- 上線狀態
- 自動完成
媒體系統
- 影片轉碼
- 自適應串流
- 分層儲存
- 檔案分塊
- 衝突處理