This repository contains System Design resources to ace your interviews.
- Latency vs Throughput
- SQL vs NoSQL
- CAP Theorom
- Load Balancing
- Horizontal vs Vertical Scaling
- Microservices
- Database Sharding
- Database Replication
- SQL Tuning
- Consistency Patterns
- REST vs RPC
- Message Queues
- TCP vs UDP
- Domain Name System (DNS)
- Cache
- ACID Transactions
- Database Indexing
- API Gateway
- Fault Tolerance
- Content Delivery Network
- Idempotence
- Consistent Hasing
- Reverse Proxy
- WebSockets
- Design TinyURL
- Design Distributed Job Scheduler
- Design Yelp
- Design Parking Garage
- Design Mint
- Design Distributed Key-Value Store
- Design YouTube
- Design TikTok
- Design Spotify
- Design Facebook
- Design Notification Service
- Design Twitter
- Design Dropbox
- Design Distributed Cache
- Design Google Search
- Design Uber
- Design Google Maps
- Design Doordash
- Design Distributed Counter
- Design Rate Limiter
- Design Distributed Message Queue
- Design Slack
- Designined Data-Intensive Applications
- System Design Interview Volume 1
- System Design Interview Volume 2
- 20 System Design Concepts Explained in 10 minutes
- System Design for Beginners Course
- Why is Kafka Fast?
- System Design Interview: A Step-By-Step Guide
- The Developing Dev by Ryan Peterman
- ByteByteGo by Alex Xu
- System Design Newsletter by Neo Kim
- Byte Sized Design by Alex Nguyen
- How OpenAI Scales Kubernetes
- How Stripe migrated a million lines of code
- Sharding & IDs at Instagram
- Debugging with a Netflix Engineer
- Sharding Pinterest: How to scale MySQL
- How Instagram suggests new content
- How Figma Scaled to Multiple Databases
- Finding Kafka's limit at Dropbox
Your contributions are appreciated!