Large-Scale System Design & Distributed Architecture Master (50 Qs)
The definitive 50 system design interview questions covering distributed systems trade-offs, real-world architectures (TinyURL, Rate Limiter, WhatsApp, Twitter, Uber, Netflix), consensus, and back-of-the-envelope calculations.
Curriculum Roadmap & Learning Path
5 StagesPart 1: Foundational Distributed Systems Concepts & Trade-offs (1 - 10)
10 QuestionsWhat is System Design and What is the Standard 4-Step Framework for Technical Interviews?
Horizontal vs Vertical Scaling: Architectural Trade-offs and Bottlenecks.
The CAP Theorem & PACELC Theorem Deep-Dive.
Distributed Consistency Models: Strong, Eventual, Causal, and Read-Your-Writes.
Load Balancing Algorithms and Layer 4 vs Layer 7 Reverse Proxies.
Consistent Hashing and Virtual Nodes: Mitigating Hot-Spots and Rebalancing.
Caching Strategies: Cache-Aside, Write-Through, Write-Behind, and Write-Around.
Cache Stampede, Thundering Herd, and Cache Invalidation Strategies.
Message Brokers vs Event Streaming: RabbitMQ vs Apache Kafka.
Database Sharding Strategies: Range, Hash, and Directory-Based Partitioning.
Part 2: Real-World High-Scale Architecture Problems (11 - 25)
15 QuestionsDesign a Distributed URL Shortener (TinyURL / Bit.ly).
Design a Distributed Rate Limiter.
Design a Real-Time Chat System (WhatsApp / Slack / Discord).
Design Twitter / Social Media Feed System (Fan-Out on Write vs Fan-Out on Read).
Design a Proximity / Ride-Sharing Service (Uber / Lyft).
Design a Global Video Streaming Platform (YouTube / Netflix).
Design a Distributed Unique ID Generator (Twitter Snowflake ID).
Design a Distributed Web Crawler (URL Frontier, Bloom Filters, and Politeness).
Design an Idempotent Payment System (Stripe / Checkout).
Design a Cloud File Storage & Synchronization Service (Google Drive / Dropbox).
Design a Typeahead / Autocomplete Search System (Trie & Top-K Ranking).
Design a Distributed Notification Service (APNs, FCM, SMS, and Email).
Design an E-Commerce Flash Sale System (High Concurrency & Inventory Reservation).
Design a Distributed Key-Value Store (Dynamo-Style Vector Clocks & Gossip Protocol).
Design a Web Analytics / Event Tracking Platform (Kafka + ClickHouse / Druid).
Part 3: Distributed Transactions, Consensus & Reliability (26 - 36)
11 QuestionsDistributed Consensus: Raft vs Paxos.
Two-Phase Commit (2PC) vs Three-Phase Commit (3PC).
The Saga Pattern: Orchestration vs Choreography for Microservices.
CQRS (Command Query Responsibility Segregation) & Event Sourcing.
Distributed Locking: Redlock Algorithm vs ZooKeeper / etcd.
Gossip Protocols and Cluster Membership Discovery.
Resolving Concurrent Write Conflicts: Last-Write-Wins (LWW) vs CRDTs.
Circuit Breaker Pattern (Netflix Hystrix / Resilience4j).
Dead Letter Queues (DLQ) and Exponential Backoff with Full Jitter.
Database Replication Lag, Split-Brain & Leader Election.
Zero-Downtime Database Migrations (Expand and Contract Pattern).
Part 4: API Design, Security & Edge Networking (37 - 43)
7 QuestionsREST vs GraphQL vs gRPC: Serialization, Latency & Streaming Trade-offs.
The API Gateway Pattern: Authentication, Rate Limiting & Aggregation.
WebSockets vs Server-Sent Events (SSE) vs Long Polling.
Content Delivery Networks (CDNs): Edge Caching & Anycast Routing.
Distributed Tracing & W3C TraceContext (OpenTelemetry).
DDoS Attack Mitigation: SYN Flood, Slowloris & Anycast Absorption.
TLS 1.3 Handshake & Zero Round-Trip Time (0-RTT) Resumption.
Part 5: Back-of-the-Envelope Estimation & Production Calculations (44 - 50)
7 QuestionsLatency Numbers Every Software Engineer Should Know.
Back-of-the-Envelope: Daily Active Users (DAU) to QPS and Bandwidth.
Storage Capacity and Disk IOPS Sizing for 5-Year Projections.
Estimating Memory Requirements for Multi-Tier Caching (80/20 Rule).
High Availability Sizing: 99.9% vs 99.99% ("Four Nines") Downtime Budgets.
Network Egress and Cloud CDN Cost Optimization Sizing.
How to Summarize and Conclude a System Design Interview.