SD Theory Curriculum
SD Theory Curriculum
Structured theory foundation before tackling design problems. Track section completion here.
Related: [[synthesis/Job Switch Hub]] | [[synthesis/Coach Hub]] | [[System Design/System Design Basics]]
Progress
[!info] Status legend
- ✅ Done — studied + note written, confirmed complete.
- 📝 Note exists — a real note covers this, but not yet formally reviewed/confirmed in coach tracking. Treat as review-pending, not done.
- ⬜ Pending — no note yet.
Section-level rollup (section = ✅ only when all its topics are ✅):
| # | Section | Status |
|---|---|---|
| 1 | Introduction to System Design | ✅ Done (W1) |
| 2 | Databases | ✅ Done (2026-05-19) |
| 3 | Caching | 📝 Note exists |
| 4 | Asynchronous Systems | 📝 Partial |
| 5 | Resiliency | ⬜ Pending |
| 6 | Essentials | 🔸 Partial (Consistent Hashing ✅) |
| 7 | Consumer Facing | ⬜ Pending |
| 8 | Common Utilities | 🔸 Partial (Rate Limiter ✅) |
| 9 | Critical Systems | ⬜ Pending |
| 10 | Networking & Protocols | ⬜ Pending |
| 11 | Observability | ⬜ Pending |
| 12 | Security Basics | ⬜ Pending |
Topic-level tracker
| # | Topic | Status | Note |
|---|---|---|---|
| 1 | What is SD? / approach / evaluating quality | ✅ Done | [[System Design/System Design Basics]] |
| 2 | Relational DBs / Isolation Levels / Scaling / Sharding & Partitioning / Non-relational / Picking a DB | ✅ Done | [[System Design/System Design Basics]], [[SQL/Transactions]] |
| 3 | Understanding Caching / Populating & Scaling / Caching at different levels | 📝 Note exists | [[Caching & Redis]] |
| 4 | Message Queues / Kafka Essentials | 📝 Note exists | [[Message Queues & Kafka]] |
| 4 | Async Processing / Real-time PubSub | ⬜ Pending | — |
| 5 | Load Balancers / Circuit Breakers / Data Redundancy & Recovery / Leader Election | ⬜ Pending | — |
| 6 | Consistent Hashing | ✅ Done | [[Consistent Hashing]] |
| 6 | Bloom Filters / Communication Protocols / Blob Storage & S3 / Intro to Big Data | ⬜ Pending | partial: [[Distributed Systems Concepts]] |
| 7 | e-Commerce Listing / Tinder Feed / Notifications / Twitter Trends | ⬜ Pending | — |
| 8 | API Rate Limiter | ✅ Done | [[System Design/Problem Designs/Rate Limiter]] |
| 8 | URL Shorteners | 📝 Note exists | [[System Design/Problem Designs/Design a URL shortener]] |
| 8 | Realtime Abuse Masker / Web Crawler | ⬜ Pending | — |
| 9 | GitHub Gists / Fraud Detection / Recommendation Engine | ⬜ Pending | — |
| 10 | DNS / CDN / HTTP 1.1v2v3 / WebSocket vs SSE vs polling / TCP vs UDP | ⬜ Pending | — |
| 11 | Structured logging / Metrics+alerting / Distributed tracing / SLI-SLO-SLA | ⬜ Pending | — |
| 12 | OAuth2+JWT / Session vs token / API keys / HTTPS-TLS / API security | ⬜ Pending | — |
Confirmed done: Introduction ✅, Databases ✅, Consistent Hashing ✅, API Rate Limiter ✅ Review-pending (note exists): Caching, Message Queues/Kafka, URL Shorteners
Cross-link: [[System Design/API Design Principles]] covers REST pagination, idempotency, versioning, rate limiting at gateway level — read alongside Common Utilities section.
Section Notes
Databases ✅
Covers the full database foundation needed for SD interviews:
- Relational vs non-relational trade-offs + when to pick which
- Isolation levels (Read Uncommitted → Serializable) + anomalies each prevents
- Scaling strategies: read replicas, write sharding, CQRS patterns
- Sharding + partitioning: range, hash, directory-based; hotspot problem
- Non-relational: document, key-value, column-family, graph DBs + use cases
Cross-links: [[System Design/System Design Basics]] | [[SQL/Transactions]]
Consistent Hashing ✅
Full 12-section interview note done (2026-07-04). Ring + vnodes, replication skip-walk, complexity/TreeMap upgrade, CoW concurrency, hot keys, CDN, sticky sessions, data migration (cache vs persistent). Focus-tagged must-know / good-to-know.
Note: [[Consistent Hashing]]
API Rate Limiter ✅
Full note done (2026-07-02). 5 algorithms (token/leaking/fixed-window/sliding-log/sliding-counter) + comparison, Redis INCR/EXPIRE, distributed race conditions (Lua/sorted-set), L7 vs L3.
Note: [[System Design/Problem Designs/Rate Limiter]]
Completion Target
| Week | Sections | Hours | Status |
|---|---|---|---|
| W1 (May 11–17) | Introduction + Databases | ~3h | ✅ Done |
| W2 (May 18–24) | Caching + Asynchronous Systems + Resiliency + Essentials | ~9h | 0/4 done |
| W3 (May 25–31) | Consumer Facing + Common Utilities + Networking & Protocols | ~6h | ⬜ |
| W4 (Jun 1–7) | Critical Systems + Observability + Security Basics | ~5h | ⬜ |
| W5 (Jun 8–14) | Buffer — weak section review + SD problem prep warm-up | ~3h | ⬜ |
| W6 (Jun 15–21) | SD problems start (URL Shortener) — theory complete | — | ⬜ |
Pace: 4 sections in W2 (makeup for W1 having only 2). W3–W4 = 3/week. W5 = buffer. All 12 done by W4 end.