This repository contains System Design resources which are useful to learn concepts and prepare for interviews.
- Content Delivery Network (CDN)
- Caching
- Caching Patterns
- Distributed Caching
- Latency vs Throughput
- CAP Theorem
- Load Balancing
- ACID Transactions
- SQL vs NoSQL
- Consistent Hashing
- Database Index
- Rate Limiting
- Microservices Architecture
- Microservices Guidelines
- Strong vs Eventual Consistency
- Consistency Patterns
- REST vs RPC
- Batch Processing vs Stream Processing
- HeartBeat
- Circuit Breaker
- Idempotency
- Database Scaling
- Data Replication
- Data Redundancy
- Database Sharding
- Proxy Server
- Domain Name System (DNS)
- Message Queues
- WebSockets
- Consensus Algorithms
- API Gateway
- Distributed Locking
- Checksum
- Design Leaderboard
- Design URL Shortener like TinyURL
- Design Text Storage Service like Pastebin
- Design Content Delivery Network (CDN)
- Design Parking Garage
- Design Vending Machine
- Design Distributed Key-Value Store
- Design Distributed Cache
- Design Distributed Job Scheduler
- Design Authentication System
- Design Unified Payments Interface (UPI)
- Design Instagram
- Design Tinder
- Design WhatsApp
- Design Facebook
- Design Twitter
- Design Reddit
- Design Netflix
- Design Youtube
- Design Google Search
- Design E-commerce Store like Amazon
- Design Spotify
- Design TikTok
- Design Shopify
- Design Airbnb
- 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 Notification Service
- Design Payment System
- Design Slack
- Design Live Comments
- Design Distributed Counter
- 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