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.
- Scalability - Done
- Reliability - Done
- Availability - Done
- Fault Tolerance - Done
- Resiliency - Below are the videos to understand more about Resiliency patterns
- Patterns for Resilient Architecture - Adrian Hornsby - Video It covers Resilancy patterns, Famous 9s of availibility
- Five Design Patterns to build resilient Applications - Derek Bingham - NDC Melbourne 2022 - Video
- AWS re:Invent 2023 - Resilient architectures at scale: Real-world use cases from Amazon.com - Video
- How to verify resiliancy of a cloud-native application
- Understand resiliency patterns in AWS
- CAP Theorem - Done
- ACID Transactions - Done
- Consistent Hashing - Done
- Rate Limiting
- SPOF - Done
- Cascading failure - Done
- Consensus Algorithms
- Gossip Protocol
- Service Discovery
- API Design
- Disaster Recovery
- Distributed Tracing
- NFRs in AWS
- Content Delivery Network (CDN) - Done
- Proxy vs Reverse Proxy - Done
- Domain Name System (DNS)
- Caching
- Caching Strategies
- Distributed Caching
- Load Balancing
- Databases Types
- SQL vs NoSQL
- Database Indexes
- Consistency Patterns
- HeartBeats
- Event Sourcing - Done
- CQRS Pattern - Done
- Circuit Breaker
- Idempotency
- Database Scaling
- Data Replication - Done
- Data Redundancy - Done
- Database Sharding - Done
- Database Architectures
- Failover
- Bloom Filters
- Message Queues
- WebSockets
- Checksums
- API Gateway
- Microservices Guidelines
- Distributed Locking
- Top 15 Tradeoffs
- Vertical vs Horizontal Scaling - Done
- Stateful vs Stateless Design - Done
- Batch vs Stream Processing - Done Example
- Strong vs Eventual Consistency - Done
- Read-Through vs Write-Through Cache
- Push vs Pull Architecture - Done
- Long-polling vs WebSockets - Done
- REST vs RPC
- Synchronous vs. asynchronous communications - Done
- Latency vs Throughput - Done
- Load Balancer vs Reverse Proxy vs API Gateway - Done
- Client-Server Architecture
- Microservices Architecture
- Serverless Architecture - Done
- Event-Driven Architecture - Done
- Peer-to-Peer (P2P) Architecture
- Design URL Shortener like TinyURL
- Design Text Storage Service like Pastebin
- Design Leaderboard
- 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)
- Design WhatsApp
- Design Spotify
- 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 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
- Design Location Based Service like Yelp
- Design Uber
- Design Food Delivery App like Doordash
- Design Google Docs
- Design Google Maps
- Design Zoom
- Design Distributed Counter
- 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
- Design Slack
- Design Live Comments
- Tech Dummies Narendra L
- Gaurav Sen
- codeKarle
- ByteByteGo
- System Design Interview
- sudoCODE
- Success in Tech
- How Discord stores trillions of messages
- Building In-Video Search at Netflix
- How Canva scaled Media uploads from Zero to 50 Million per Day
- How Airbnb avoids double payments in a Distributed Payments System
- Stripe’s payments APIs - The first 10 years
- Real time messaging at Slack
- Paxos: The Part-Time Parliament
- MapReduce: Simplified Data Processing on Large Clusters
- 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