A curated list of useful resources for system design interview prep. Pull requests with good additions are welcome (see CONTRIBUTING).
Different courses fit different stages. Pick by where you are:
| Course | Who it is for |
|---|---|
| Grokking System Design Fundamentals | New to system design. Learn the core building blocks first. |
| Grokking the System Design Interview | The core interview prep course, by Arslan Ahmad. Start here for most people. |
| System Design Interview Crash Course | Short on time. A fast, focused path before an interview. |
| Advanced System Design Interview, Volume II | Senior and advanced. Harder problems and deeper dives. |
- Mock interviews: live practice with ex-FAANG engineers.
- DesignGurus blog: free articles on system design and interview prep.
- DesignGurus YouTube: free video lessons.
- Newsletter: system design and interview tips by email.
Free reads that go deeper than the cheat sheets in this repo:
- Caching in System Design Interviews
- CAP Theorem vs PACELC
- Content Delivery Networks (CDN) in System Design
- Data Replication Strategies
- Database Sharding Guide
- Consistent Hashing vs Traditional Hashing
- Database Indexing Explained
- How to Design a URL Shortener
- How to Design a Web Crawler
The most-read foundational guides, ranked by readership:
- 25 Fundamental System Design Concepts
- System Design Interview Guide (2026): Framework and How to Prepare
- The Ultimate System Design Cheat Sheet
- System Design Primer: The Ultimate Guide
- 185+ System Design Guides: The Interview Library
- Back-of-the-Envelope Estimation
- Scalability in System Design
- High Availability in System Design
- CAP Theorem vs PACELC
- Consistency Patterns in Distributed Systems
- 19 Essential Microservices Patterns
- Monolithic vs Microservices vs SOA
- REST vs GraphQL vs gRPC
- Top 10 Software Architecture Patterns
- Patterns: the building blocks.
- Questions: worked-through design problems.
- Cheat sheets: framework, estimation, SQL vs NoSQL.
- Roadmaps: study plans.
- Glossary: the vocabulary.
Start with the interview framework and the core patterns, then practice with the questions. Use the free blogs when you want more depth, and the courses when you want the full guided path with diagrams and worked solutions.