Scenario-based system design questions with detailed, interview-ready solutions.
A growing collection of 74 real-world system design scenarios — each worked through end to end: requirements, capacity estimates, data models, API design, trade-offs, and bottlenecks.
- Software and Data Engineers preparing for senior or staff-level system design interviews.
- Engineers looking to build intuition for distributed systems, data engineering, and cloud architecture.
- Self-learners who want structured, progressive exposure to real-world architectural patterns.
System-design-scenarios/
└── Scenarios/ # 74 scenario files (S1.md – S74.md)
| Directory | Description |
|---|---|
Scenarios/ |
All 74 system design scenarios, from foundational concepts to advanced FAANG-level case studies. See the Scenarios README for a full index. |
- Browse the index — Open
Scenarios/README.mdto find scenarios grouped by topic. - Pick a scenario — Start from the beginning for a structured progression, or jump directly to topics relevant to your prep.
- Design it yourself first — Before reading the solution, sketch the high-level architecture, data flow, and scaling strategy on your own.
- Compare and reflect — Read through the scenario's solution and identify trade-offs or components you missed.
- Revisit hard scenarios — Mark the ones that challenged you and return to them after covering related topics.
Tip: Scenarios are ordered progressively. Earlier scenarios build the vocabulary (caching, queues, databases) that later case studies (Uber, Netflix, WhatsApp) depend on.
The 74 scenarios span these major areas:
| Theme | Scenarios |
|---|---|
| Foundations (Scalability, Caching, Ingestion) | S1 – S3 |
| API & Communication Patterns | S4 |
| Message Queues & Event Streaming | S5, S39 – S40 |
| Batch vs. Stream Processing | S6, S21, S37 – S38 |
| Observability & Reliability | S7, S27, S63 – S64 |
| Container Orchestration (Kubernetes) | S8, S42 |
| Security & Identity | S9, S44, S46, S48 |
| Multi-Region & Global Systems | S10 |
| Real-World Case Studies | S11 (Uber), S12 (Netflix), S13 (WhatsApp/Discord), S30 (Ticketmaster), S50 (Surge Pricing) |
| E-Commerce & Transactions | S14, S20 |
| ML & AI Systems | S15, S57 – S58, S60 |
| Advanced Rate Limiting | S16 |
| Distributed Consensus | S17 |
| Capacity Estimation | S18 |
| Database Sharding & Internals | S3, S19 |
| Data Warehouse & Lakehouse | S23, S31, S52 |
| Workflow Orchestration | S24, S53 |
| Data Mesh & Governance | S25, S49, S56 |
| dbt & SQL Transformations | S26, S51, S59 |
| Real-Time OLAP | S28 |
| API Gateway & Backend for Frontend | S29 |
| Apache Spark (Internals & Tuning) | S34 – S36, S65 – S66 |
| Apache Flink & CEP | S37 – S38, S62, S67 |
| Event Sourcing & CQRS | S41 |
| Infrastructure as Code & CI/CD | S43, S45, S72 |
| Cloud Cost Optimization | S47 |
| Data Catalog & Data Contracts | S49, S54 |
| Reverse ETL & Data Activation | S70 |
| Cloud Data Platforms (Snowflake, Databricks) | S71 |
| GDPR & Data Compliance | S74 |
This repository reflects personal engineering notes and interview preparation materials. If you spot an error or have a suggestion, feel free to open an issue or pull request.
Content in this repository is shared for educational purposes. Please credit the source if you reuse or adapt it.
Spotted an error or want to suggest a new scenario?
- Content errors / typos — open a bug report
- New scenario ideas — open a scenario request
- Pull requests are welcome — please follow the PR template and match the existing scenario structure
Please read the Code of Conduct before contributing.
📂 Part of my engineering notes — explore more at sepuri-sai-krishna.pages.dev · by Sepuri Sai Krishna