Back to Notes

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

#SectionTopicsStatus
1Introduction to System DesignWhat is SD? / How to approach? / How to evaluate quality✅ Done (W1 — May 11–17)
2DatabasesAll Things Databases / Relational DBs / Isolation Levels / Scaling / Sharding & Partitioning / Non-relational DBs / Picking the right DB✅ Done (2026-05-19)
3CachingAll Things Caching / Understanding Caching / Populating & Scaling Caches / Caching at different architecture levels
4Asynchronous SystemsAsync Processing / Message Queues / Kafka Essentials / Real-time PubSub
5ResiliencyDesigning for Resiliency / Load Balancers / Circuit Breakers / Data Redundancy & Recovery / Leader Election
6EssentialsBloom Filters / Consistent Hashing / Client-server & Communication Protocols / Blob Storage & S3 / Intro to Big Data
7Consumer Facinge-Commerce Product Listing / Tinder Feed / Notifications (design + scaling) / Twitter Trends
8Common UtilitiesURL Shorteners / API Rate Limiter / Realtime Abuse Masker / Web Crawler
9Critical SystemsGitHub Gists / Fraud Detection / Recommendation Engine
10Networking & ProtocolsDNS resolution / CDN (caching, invalidation) / HTTP 1.1 vs 2 vs 3 / WebSocket vs SSE vs Long Polling vs Short Polling / TCP vs UDP
11ObservabilityStructured logging / Metrics + alerting (Prometheus/Grafana pattern) / Distributed tracing (correlation IDs, Jaeger concept) / SLI SLO SLA definitions
12Security BasicsOAuth2 + JWT flow / Session vs token auth / API key management / HTTPS/TLS what it does and why / API security patterns

Completed: 2/12 sections (Databases ✅ W1, Introduction ✅ W1)

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]]


Completion Target

WeekSectionsHoursStatus
W1 (May 11–17)Introduction + Databases~3h✅ Done
W2 (May 18–24)Caching + Asynchronous Systems + Resiliency + Essentials~9h0/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.