System Design 學習地圖 (MOC)

進度總覽

資料夾 主題 PDFs 狀態
01-Networking 網路層次、TCP/UDP、HTTP、API、即時通訊、LB、故障處理 1-01
02-Distributed-Systems Client-Server、CAP、Scalability、Consistent Hashing、效能數字 1-02~04, 1-10, 1-21
03-API-Design API Design、REST、GraphQL、RPC、Security 1-05~09
04-Database-Indexing DB Indexing、B-Tree、LSM Tree、Hash Index、Geospatial、Inverted Index 1-11~16
05-Database-Advanced Transactions、Sharding、Replication 1-17, 1-19, 1-20
06-Database-Tech Database、PostgreSQL、DynamoDB、OLTP vs OLAP 3-01~04
07-Caching-Storage Caching、Blob Storage、Distributed Cache、Redis 1-18, 3-07, 3-14~15 🔄
08-Search-and-AI Search System、RAG、Elasticsearch、Vector DB 2-06, 2-08, 3-05~06
09-Messaging-Coord Data Pipeline、Queue、Kafka、Distributed Lock、Zookeeper 2-07, 3-12~13, 3-16~17
10-Design-Patterns Scaling Reads/Writes、Long Running Tasks、Large Blobs、Real-time 2-01~05
11-Infrastructure API Gateway、Load Balancer、Container、Serverless、CDN 3-08~11, 3-18
12-Ops-and-Reliability Contention、Overload Protection、Reliable Delivery、Observability 4-01~04

Topic Map

01-Networking

章節 筆記
網路層次、DNS、TCP Handshake、Web 請求流程 網路層次與請求流程
TCP vs UDP vs QUIC 傳輸層協定 TCP vs UDP
HTTP methods、狀態碼、HTTPS 安全 HTTP 與 HTTPS
REST、GraphQL、gRPC API 範式比較
SSE、WebSocket、WebRTC 即時通訊協定
客戶端 LB、L4/L7 LB、演算法、CDN、區域分片 負載平衡
重試退避、冪等性、熔斷器 故障處理模式

02-Distributed-Systems

章節 筆記
Client/Server 職責、Thin/Thick Client、P2P 主從架構
CAP 定理、CP vs AP、最終一致性 CAP 定理
Scalability、垂直 vs 水平擴展、Throughput 可擴展性
Hash Ring、Virtual Nodes、搬遷最小化 一致性雜湊
Latency / throughput 量級、scale 觸發點 系統設計關鍵數字

03-API-Design

章節 筆記
決策樹:External/Internal、Over/Under-fetching API 設計決策框架
REST:HTTP 動詞、冪等性、參數、狀態碼、反模式 REST 架構風格
GraphQL:Query/Mutation/Subscription、N+1、cache GraphQL 查詢語言
RPC:方法導向、Protobuf、gRPC streaming、IDL RPC 與 gRPC
Authentication / Authorization、JWT / OAuth / mTLS、RBAC / ABAC API 安全

04-Database-Indexing

章節 筆記
索引必要性、Full Table Scan、trade-offs 資料庫索引概論
B-Tree / B+Tree、範圍查詢、InnoDB B-Tree 索引
MemTable/WAL/SSTable、Compaction、Bloom Filter LSM Tree
Hash Table、碰撞處理、O(1) 等值查詢 雜湊索引
Geohash / Quadtree / R-Tree / S2 / H3 地理空間索引
Term Dictionary、Posting List、phrase query 倒排索引

05-Database-Advanced

章節 筆記
ACID、隔離等級、MVCC、Lost Update、Saga vs 2PC 資料庫交易
Partitioning vs Sharding、shard key、hot spot、跨 shard 資料分片
Single/Multi-leader/Leaderless、quorum、replication lag 資料複寫

07-Caching-Storage

章節 筆記
Cache-Aside、CDN、In-Process、淘汰策略、Stampede、Hot Key 快取機制
(待補) Blob Storage / Distributed Cache / Redis

Practice Notes

題組 題數 連結
網路基礎 21 題 網路基礎練習題
分散式基礎 35 題 分散式基礎練習題
API 設計 26 題 API 設計練習題
索引結構 25 題 索引結構練習題
資料庫進階 24 題 資料庫進階練習題
快取與儲存 12 題 快取與儲存練習題

Study Tools

工具 說明 連結
Exam Traps 面試陷阱、易錯重點 面試陷阱題
Quick Reference 全主題速查表 速查表

Tag Index

Tag 相關主題 層級
#networking 所有網路相關筆記 頂層領域
#distributed-systems CAP、Scalability、分散式基礎 頂層領域
#system-design 面試導向內容 頂層領域
#transport-layer TCP, UDP, QUIC 領域細分(需搭配 #networking)
#application-layer HTTP, REST, GraphQL, SSE, WS 領域細分(需搭配 #networking)
#rest REST 架構風格 領域細分(需搭配 #api-design)
#graphql GraphQL schema / query 領域細分(需搭配 #api-design)
#rpc RPC 通訊模型 領域細分(需搭配 #api-design)
#grpc gRPC、Protobuf、HTTP/2 領域細分(需搭配 #api-design、#rpc)
#api-security AuthN / AuthZ、JWT、OAuth、mTLS、RBAC、ABAC 領域細分(需搭配 #api-design)
#authentication API Key、JWT、OAuth、mTLS 細節(需搭配 #api-security)
#authorization RBAC、ABAC、Scope 細節(需搭配 #api-security)
#microservices 內部服務通訊、IDL 技法
#decision-framework API 選型決策樹 筆記類型
#load-balancing L4/L7 LB, CDN, 區域分片 領域細分(需搭配 #networking)
#fault-tolerance 重試, 冪等性, 熔斷器 領域細分(需搭配 #networking)
#client-server Client-Server 架構 領域細分(需搭配 #distributed-systems)
#cap-theorem CAP、CP、AP、最終一致性 領域細分(需搭配 #distributed-systems)
#scalability 垂直/水平擴展、Throughput 領域細分(需搭配 #distributed-systems)
#api-design REST, GraphQL, gRPC 技法
#architecture-pattern 架構模式相關 技法
#protocol 各別協定筆記 細節
#consistent-hashing Hash Ring、Virtual Nodes 領域細分(需搭配 #distributed-systems)
#sharding 資料分片 routing 技法
#database 資料庫相關 頂層領域
#indexing 索引結構總稱 領域細分(需搭配 #database)
#b-tree B-Tree / B+Tree 細節(需搭配 #indexing)
#lsm-tree LSM Tree、MemTable、SSTable 細節(需搭配 #indexing)
#hash-index Hash Index、碰撞處理 細節(需搭配 #indexing)
#geospatial Geohash、R-Tree、S2、H3 細節(需搭配 #indexing)
#inverted-index Term Dict、Posting List、全文檢索 細節(需搭配 #indexing)
#full-text-search 全文檢索、Elasticsearch / Lucene 技法
#write-heavy 寫密集場景 筆記類型
#transactions ACID、隔離等級、MVCC、Lost Update 領域細分(需搭配 #database)
#acid ACID 四屬性 細節(需搭配 #transactions)
#replication Leader/follower、quorum、CDC 領域細分(需搭配 #database)
#high-availability Failover、split brain、fencing 技法
#caching Cache-Aside、Write-Through、淘汰、Stampede 頂層領域
#performance Latency / throughput 取捨 頂層領域
#capacity-planning Numbers to Know、scale triggers 領域細分(需搭配 #distributed-systems)
#practice 練習題 筆記類型
#dashboard Dashboard 檔案 筆記類型
#exam-traps 面試陷阱 筆記類型

Tag 規則:全部英文小寫 kebab-case。細節標籤必須同時附帶上層領域標籤。


Weak Areas


Non-core Topic Policy

來源 內容 處理
1-01 PDF 自我測驗 Q1–Q6 已整合 — 融入 Practice - 網路基礎
1-02 PDF 自我測驗 Q1–Q4 已整合 — 融入 Practice - 分散式基礎
1-03 PDF 自我測驗 Q1–Q4 已整合 — 融入 Practice - 分散式基礎
1-04 PDF 自我測驗 Q1–Q3 已整合 — 融入 Practice - 分散式基礎
1-05 PDF 決策樹圖(無測驗) 已整合 — 融入 API 設計決策框架
1-06 PDF 自我測驗 Q1–Q3 已整合 — 融入 Practice - API設計
1-07 PDF 自我測驗 Q1–Q3 已整合 — 融入 Practice - API設計
1-08 PDF 自我測驗 Q1–Q3 已整合 — 融入 Practice - API設計
1-09 PDF 自我測驗 Q1–Q3 已整合 — 融入 Practice - API設計
1-10 PDF 自我測驗 Q1–Q4 已整合 — 融入 Practice - 分散式基礎
1-11 PDF 自我測驗 Q1–Q3 已整合 — 融入 Practice - 索引結構
1-12 PDF 自我測驗 Q1–Q3 已整合 — 融入 Practice - 索引結構
1-13 PDF 自我測驗 Q1–Q3 已整合 — 融入 Practice - 索引結構
1-14 PDF 自我測驗 Q1–Q3 已整合 — 融入 Practice - 索引結構
1-15 PDF 自我測驗 Q1–Q3 已整合 — 融入 Practice - 索引結構
1-16 PDF 自我測驗 Q1–Q3 已整合 — 融入 Practice - 索引結構
1-17 PDF 自我測驗 Q1–Q6 已整合 — 融入 Practice - 資料庫進階
1-18 PDF 自我測驗 Q1–Q6 已整合 — 融入 Practice - 快取與儲存
1-19 PDF 自我測驗 Q1–Q5 已整合 — 融入 Practice - 資料庫進階
1-20 PDF 自我測驗 Q1–Q6 已整合 — 融入 Practice - 資料庫進階
1-21 PDF 自我測驗 Q1–Q3 已整合 — 融入 Practice - 分散式基礎 Part 5