ashishps1 /awesome-system-design-resources
Learn System Design concepts and prepare for interviews using free resources.
★ 43,173⑂ 8,941👁 469⑃ 29● 37▤ 0◈ 0
43,173
stars
+18
8,941
forks
469
watchers
29
prs
37
issues
0
releases
0
discussions
README
Awesome 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 - APIs - API Gateway - REST vs GraphQL - WebSockets - Webhooks - Idempotency - Rate limiting - API Design 🗄️ 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 - Pub/Sub - Message Queues - Message Brokers - Change Data Capture (CDC) 🧩 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 -
Top issues
#52Add more system design concept articles and learning resources4 comments · 2026-04-11#35Add GitHub Issue Templates2 comments · 2025-09-20#20Sliding window log issue2 comments · 2024-08-25#56Bug: Fix a link in README: AutoComplete for Search Engines1 comments · 2026-06-21#53Add Observability Fundamentals section to the repository1 comments · 2026-05-01#48Practical Resources for System Design and ML Interview Questions (repo+website)1 comments · 2026-03-08#29Edit and add one more point1 comments · 2025-05-09#63Rate limiting examples execute long-running demos during import0 comments · 2026-09-18