ποΈ
System Design L4 PRO Β· 105 lessons What FAANG-tier interviews actually ask
105 lessons across 6 modules: fundamentals (Big-O, capacity math), scalability & caching, databases & storage, messaging & microservices, and real-world case studies (Twitter feed, Netflix, Uber dispatch, Stripe webhooks, Calendly race conditions).
β
Before you start
Β· Built at least one app that talks to a database. SQL basics expected Β· Know what HTTP / TCP / DNS do at a sentence level. We'll deep-dive each Β· Open to drawing on paper or tldraw β we sketch box-and-arrow constantly βΉοΈ Heads-up on the format: These lessons are concept explanations + quizzes + predict-the-output exercises. The code samples don't execute in your browser because Pyodide can't spin up an HTTP server / database / TCP socket. To run them, copy snippets into your own machine β or pair this track with Foundations (which DOES run live in-browser via Skulpt).
πΊ Map π Curriculum
π Latency numbers every engineer should know
π Vertical vs horizontal scaling
π Caching: when, where, what
π Sharding (horizontal partitioning)
π CDN: edge caching for static assets
π Microservices vs monolith
π Mock interview: design URL shortener
π Distributed locks (Redlock pattern)
π Service discovery (DNS vs registry)
π API Gateway at scale: routing, auth, rate-limit, observability
π π― Review: System design module 1 recap
π CQRS (Command Query Responsibility Segregation)
π Sagas for distributed transactions
π Read-through vs write-through cache
π Cache stampede prevention (singleflight)
π Eventual consistency in practice
π Optimistic vs pessimistic concurrency
π Designing a URL shortener at 100K req/s
π Designing a feed (Twitter/Instagram timeline)
π Designing a chat system (WhatsApp scale)
π Designing rate-limited search
π Designing a notification fanout
π Capstone: design a multi-tenant SaaS
π CDN tier design: push vs pull, cache invalidation
π WebSocket scaling: sticky sessions vs broker
π Pub/Sub patterns: Kafka, NATS, Redis pub/sub
π Backpressure in streaming: windowing, dropping, buffering
π Database choice cheatsheet
π π― Review: System design module 2 recap
π Data partitioning vs sharding nuances
π Read-your-writes consistency
π Linearizability vs eventual consistency
π Two-phase commit (and why it's mostly avoided)
π Schema evolution (forward/backward compatibility)
π Multi-region deployment (active-active vs active-passive)
π Disaster recovery: RPO and RTO
π Designing a video upload + transcoding pipeline
π Designing a payment system
π Designing a recommendation system
π Designing search autocomplete
π Designing a distributed task scheduler
π Designing a typeahead/search API for product catalog
π Designing a content moderation pipeline
π Capstone: design Uber/Lyft-style ride matching
π Lambda vs Kappa architectures
π Change Data Capture with Debezium
π Event sourcing β state is a fold over events
π CQRS β separate read and write models
π Saga pattern β distributed transactions
π π― Review: System design module 3 recap
π Outbox pattern β atomic 'commit + publish'
π Service mesh β mTLS + observability for free
π Multi-tenant data isolation
π Distributed rate limiting via Redis Lua
π SSE vs WebSocket vs long-poll
π Push notification fan-out at scale
π Search architecture β when to reach for Elasticsearch
π Predict: back-of-envelope for global LB
π S3 lifecycle β when to move to Glacier
π Scenario: cross-region failover drill
π RPO vs RTO β pick your tradeoffs
π FinOps β attribute and right-size
π π Capstone β global SaaS for 10M MAU
π π― Review: System design module 4 recap
π Design URL shortener: capacity math first
π Design newsfeed (Twitter/X timeline)
π Design chat (WhatsApp scale)
π Design Uber: ride-matching at scale
π Design Netflix video streaming
π Design Stripe payments idempotency
π Design Google Docs: collaborative editing
π Design Instagram photo upload
π Design feature flags service
π Design Slack notifications
π Design search: Elasticsearch architecture
π Design CDN cache invalidation
π Design Spotify recommendations
π Design email service (SendGrid scale)
π Design Kafka: log-as-broker
π Design GitHub Actions: CI dispatch
π Design Calendly: scheduling collisions
π Design Stripe webhooks: at-least-once delivery
π Design log aggregation (Datadog scale)
π Design observability (SLOs and error budgets)
π π System Design final capstone
Tip: click any lesson to revisit it. After your first attempt, the βShow exampleβ button reveals the full solution.