Welcome to the ultimate open-source collection of free resources to learn System Design — from beginner-friendly guides to advanced architecture deep dives.
🎯 Whether you’re preparing for FAANG interviews or building scalable systems, this repo is your one-stop hub for all things System Design — completely free.
- 📖 What Is System Design?
- 📚 Learning Roadmap
- 🧩 Core Concepts
- ⚙️ Popular System Design Problems
- 🎥 Best Free Courses & Playlists
- 📄 Articles & Blogs
- 🧠 Mock Interview Practice
- 🌐 Open Source Projects to Study
- 🧾 Contribute
- ⭐ Support
System Design is the art of designing scalable, reliable, and maintainable systems — the backbone of modern tech infrastructure.
You’ll learn how to build systems like:
- 🌍 Twitter Feed
- 🛒 Amazon
- 🚗 Uber
Here’s a structured way to learn system design from scratch:
-
Basics
- What is scalability, availability, reliability?
- Client–Server Architecture
- Load Balancing, Caching, and Databases
-
Intermediate
- Consistent Hashing, CAP Theorem, Replication
- Message Queues & Event-Driven Systems
- Sharding and Partitioning
-
Advanced
- Distributed Systems Design
- Microservices & API Gateways
- Data Lakes, Streams, and Event Sourcing
📎 Follow this roadmap → System Design Roadmap.md
| Topic | Resource |
|---|---|
| Load Balancer | GeeksForGeeks - Load Balancing |
| Caching | System Design Primer - Caching |
| Databases | NoSQL vs SQL Explained |
| CAP Theorem | CAP Theorem Simplified |
| CDN | How CDNs Work - Cloudflare |
| Problem | Description |
|---|---|
| Design TinyURL | URL shortening system |
| Design YouTube | Video upload + streaming architecture |
| Design WhatsApp | Real-time messaging system |
| Design Netflix | Scalable video distribution |
| Design Twitter | Feed generation and ranking |
🧾 Each problem will include:
- Problem Statement
- High-level Design
- Detailed Architecture
- Trade-offs & Scaling Discussion
| Platform | Course |
|---|---|
| YouTube | System Design Simplified - Gaurav Sen |
| YouTube | System Design Interviews - Tech Dummies |
| Coursera | Cloud Computing Concepts - UIUC |
| GitHub | System Design Primer (Most Starred) |
| Project | Description |
|---|---|
| MinIO | High-performance object storage |
| NATS | Cloud-native messaging system |
| Redis | In-memory data store |
| Apache Kafka | Distributed streaming platform |
Your contributions are what make this repo great ❤️
- Fork this repo
- Add high-quality free resources
- Submit a Pull Request
📌 Make sure the resource is:
- Free to access
- Well-structured & educational
- Relevant to System Design or Distributed Systems
If you find this project helpful:
- Give it a ⭐ Star
- Share it with your friends preparing for interviews
- Follow for future updates
Together, we can make System Design learning free and accessible for everyone 🚀
Maintainer: Arpit
📩 Pull requests and suggestions welcome!