ashishps1/awesome-system-design-resources
ashishps1/awesome-system-design-resources has 43,276 GitHub stars and 8,957 forks. GitHot measured +82 stars in 24 hours and +217 in 7 days. Last checked 2026-11-11 23:52 UTC. Last push 2026-11-01.
Learn system design concepts and prepare for interviews with free resources.
Measured star growth
- in 24h
- +82
- in 7 days
- +217
- in 15 days
- Update delayed
- in 1 month
- Update delayed
Net star changes over overlapping periods, not daily totals. Missing measurements are left blank. Stars measure attention, not software quality.
README.md
OriginalAwesome System Design Resources
This repository contains free resources to learn System Design concepts and prepare for interviews.
👉 Subscribe to my AlgoMaster Newsletter and get a FREE System Design Interview Handbook in your inbox.
✅ If you are new to System Design, start here: System Design was HARD until I Learned these 30 Concepts
⚙️ Core Concepts
- Scalability
- Availability
- Reliability
- SPOF
- Latency vs Throughput vs Bandwidth
- Consistent Hashing
- CAP Theorem
- Failover
- Fault Tolerance
🌐 Networking Fundamentals
- OSI Model
- IP Addresses
- Domain Name System (DNS)
- Proxy vs Reverse Proxy
- HTTP/HTTPS
- TCP vs UDP
- Load Balancing
- Checksums
🔌 API Fundamentals
🗄️ Database Fundamentals
- Databases Types
- ACID Transactions
- SQL vs NoSQL
- Database Scaling
- Database Indexes
- Database Partitioning
- Database Sharding
- Database Replication
- Bloom Filters
⚡ Caching Fundamentals
- Caching 101
- Caching Strategies
- Cache Eviction Policies
- Distributed Caching
- Content Delivery Network (CDN)
🔄 Asynchronous Communication
🧩 Distributed System and Microservices
- HeartBeats
- Service Discovery
- Consensus Algorithms
- Distributed Locking
- Gossip Protocol
- Circuit Breaker
- Disaster Recovery
- Distributed Tracing
🖇️ Architectural Patterns
- Client-Server Architecture
- Microservices Architecture
- Serverless Architecture
- Event-Driven Architecture
- Peer-to-Peer (P2P) Architecture
⚖️ System Design Tradeoffs
- Top 15 Tradeoffs
- Vertical vs Horizontal Scaling
- Concurrency vs Parallelism
- Long Polling vs WebSockets
- Batch vs Stream Processing
- Stateful vs Stateless Design
- Strong vs Eventual Consistency
- Read-Through vs Write-Through Cache
- Push vs Pull Architecture
- REST vs RPC
- Synchronous vs. asynchronous communications
- Latency vs Throughput
✅ How to Answer a System Design Interview Problem
💻 System Design Interview Problems
Easy
- Design URL Shortener like TinyURL
- Design Autocomplete for Search Engines
- Design Load Balancer
- Design Content Delivery Network (CDN)
- Design Parking Garage
- Design Vending Machine
- Design Distributed Key-Value Store
- Design Distributed Cache
- Design Authentication System
- Design Unified Payments Interface (UPI)
Medium
- Design WhatsApp
- Design Spotify
- Design Instagram
- Design Notification Service
- Design Distributed Job Scheduler
- Design Tinder
- Design Facebook
- Design Twitter
- Design Reddit
- Design Netflix
- Design Youtube
- Design Google Search
- Design E-commerce Store like Amazon
- Design TikTok
- Design Shopify
- Design Airbnb
- Design Rate Limiter
- Design Distributed Message Queue like Kafka
- Design Flight Booking System
- Design Online Code Editor
- Design an Analytics Platform (Metrics & Logging)
- Design Payment System
- Design a Digital Wallet
Hard
- Design Location Based Service like Yelp
- Design Uber
- Design Food Delivery App like Doordash
- Design Google Docs
- Design Google Maps
- Design Zoom
- Design File Sharing System like Dropbox
- Design Ticket Booking System like BookMyShow
- Design Distributed Web Crawler
- Design Code Deployment System
- Design Distributed Cloud Storage like S3
- Design Distributed Locking Service
📇 Courses
📩 Newsletters
📚 Books
📺 YouTube Channels
- Tech Dummies Narendra L
- Gaurav Sen
- codeKarle
- ByteByteGo
- System Design Interview
- sudoCODE
- Success in Tech
📜 Must-Read Engineering Articles
- How Discord stores trillions of messages
- Building In-Video Search at Netflix
- How Canva scaled Media uploads from Zero to 50 Million per Day
- How Airbnb avoids double payments in a Distributed Payments System
- Stripe’s payments APIs - The first 10 years
- Real time messaging at Slack
🗞️ Must-Read Distributed Systems Papers
- Paxos: The Part-Time Parliament
- MapReduce: Simplified Data Processing on Large Clusters
- The Google File System
- Dynamo: Amazon’s Highly Available Key-value Store
- Kafka: a Distributed Messaging System for Log Processing
- Spanner: Google’s Globally-Distributed Database
- Bigtable: A Distributed Storage System for Structured Data
- ZooKeeper: Wait-free coordination for Internet-scale systems
- The Log-Structured Merge-Tree (LSM-Tree)
- The Chubby lock service for loosely-coupled distributed systems
If you find this resource helpful, please give it a star ⭐️ and share it with others!
Explore related projects
sindresorhus/awesome
😎 Awesome lists about all kinds of interesting topics [NOTE: Pull requests are temporarily disabled until I have a chance to catch up with the existing ones]
535,925 starsEbookFoundation/free-programming-books
:books: Freely available programming books
401,493 starsnilbuild/developer-roadmap
Interactive roadmaps, guides and other educational content to help developers grow in their careers.
371,909 starsvinta/awesome-python
The definitive list that answers "I want to do X in Python, which tool should I use?"
334,318 stars