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
JavaGPL-3.0Created 2023-10-25algomaster.io
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

Snapshot: 2026-11-10T09:35:25Z · Data license Apache-2.0 · JSON