A comprehensive, free system design course to help you ace Big Tech interviews at companies like Google, Meta, Amazon, Apple, Netflix, and Microsoft.
System design interviews are a critical part of senior engineering interviews. This course provides:
- Structured learning path from fundamentals to advanced designs
- Real interview questions with detailed solutions
- Trade-off discussions that interviewers look for
- Back-of-envelope calculations with practical examples
- Two learning modes - detailed learning and quick revision
- Open source - contribute and learn together
| Version | Best For | Description |
|---|---|---|
| Detailed Learning | First-time learners, deep understanding | Comprehensive explanations with real-world context, diagrams, code examples, and thorough coverage |
| Quick Revision | Interview prep, refresher | Condensed materials for rapid review, key points, cheat sheets |
Internet basics, client-server architecture, networking, OS concepts
Scalability, availability, consistency, CAP theorem, partitioning, replication, consensus
Load balancers, CDN, databases, caching, message queues, blob storage, search engines
Microservices, event-driven, CQRS, saga, circuit breaker, sidecar
- Beginner: URL Shortener, Pastebin, Rate Limiter, Key-Value Store
- Intermediate: Twitter, Instagram, WhatsApp, Notifications, News Feed, Typeahead, Web Crawler
- Advanced: YouTube, Uber, Google Maps, Dropbox, Distributed Cache/Queue, Payment System, Hotel Booking, Search Engine, Ad Aggregator, Task Scheduler, Stock Exchange
Framework, requirements gathering, estimation, high-level design, deep dives, trade-offs
- Complete beginners: Start with Detailed Learning Module 1
- Some experience: Review detailed Core Concepts, then practice system designs
- Interview in 1-2 weeks: Use Detailed Learning for weak areas
- Interview in 1-2 days: Use Quick Revision for rapid review
We welcome contributions! See CONTRIBUTING.md for guidelines.
This project is licensed under the MIT License - see LICENSE for details.