awesome-system-design-resources?tab=readme-ov-file
Learn System Design concepts and prepare for interviews using free resources.
https://github.com/ashishps1/awesome-system-design-resources?tab=readme-ov-file
Last synced: 5 days ago
JSON representation
-
π οΈ System Design Building Blocks
- APIs
- Data Replication
- API Gateway
- Content Delivery Network (CDN)
- Proxy vs Reverse Proxy
- Domain Name System (DNS)
- Caching
- Caching Strategies
- Distributed Caching
- Load Balancing
- Databases Types
- SQL vs NoSQL
- Database Indexes
- Distributed Locking
- HeartBeats
- Circuit Breaker
- Idempotency
- Database Scaling
- Data Redundancy
- Database Sharding
- Database Architectures
- Failover
- Bloom Filters
- Message Queues
- WebSockets
- Checksums
- Microservices Guidelines
- Content Delivery Network (CDN)
-
βοΈ System Design Tradeoffs
- Concurrency vs Parallelism
- Long Polling vs WebSockets
- Top 15 Tradeoffs
- Vertical vs Horizontal Scaling
- Stateful vs Stateless Design
- Batch vs Stream Processing
- Strong vs Eventual Consistency
- Read-Through vs Write-Through Cache
- Push vs Pull Architecture
- Long-polling vs WebSockets
- REST vs RPC
- Synchronous vs. asynchronous communications
- Latency vs Throughput
-
π System Design Key Concepts
- Service Discovery
- Consistent Hashing
- API Design
- Disaster Recovery
- Distributed Tracing
- Rate Limiting
- SPOF
- Fault Tolerance
- Consensus Algorithms
- Service Discovery
- ACID Transactions
- Consistent Hashing
- Rate Limiting
- SPOF
- Fault Tolerance
- Consensus Algorithms
- Scalability
- Availability
- CAP Theorem
- ACID Transactions
-
π Books
-
π© Newsletters
-
ποΈ System Design Architectural Patterns
-
π» System Design Interview Problems
-
Easy
-
Medium
- Design Distributed Job Scheduler
- Design a Scalable Notification Service
- Design Instagram
- 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 WhatsApp
- Design Spotify
- Design Autocomplete for Search Engines
- Design Rate Limiter
- Design Distributed Message Queue like Kafka
- Design Flight Booking System
- Design Online Code Editor
- Design Stock Exchange System
- 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
-
-
π Must-Read Engineering Articles
-
ποΈ Must-Read Distributed Systems Papers
-
Hard
- 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
- Paxos: The Part-Time Parliament
-
Categories
π» System Design Interview Problems
46
π οΈ System Design Building Blocks
28
π System Design Key Concepts
20
βοΈ System Design Tradeoffs
13
ποΈ Must-Read Distributed Systems Papers
9
π Must-Read Engineering Articles
6
ποΈ System Design Architectural Patterns
5
π© Newsletters
1
π Books
1