System Design
Learn the building blocks of scalable systems and apply them to real-world case studies to ace the system design interview.
Warning: This course is still under development, but hey!
Foundations & The First Server
Foundational concepts and the first server setup.
- Introduction & The Interview Process
- Back-of-the-Envelope Estimation
- Networking FundamentalsComing Soon
- API Design (REST, gRPC)Coming Soon
- Databases (SQL vs NoSQL, Indexes, ACID)Coming Soon
Scaling to a Distributed System
Key concepts for scaling applications and managing distributed systems.
- Scalability (Vertical vs Horizontal)Coming Soon
- Load BalancingComing Soon
- CAP TheoremComing Soon
- Consistency PatternsComing Soon
- Availability Patterns (Failover, Redundancy)Coming Soon
- Caching StrategiesComing Soon
- ProxiesComing Soon
Data in a Distributed World
Key concepts for managing data in distributed systems.
- Data Partitioning (Sharding)Coming Soon
- Database ReplicationComing Soon
- Consistent HashingComing Soon
- Quorum and ConsensusComing Soon
- Blob Storage for Large FilesComing Soon
Building Modern, Resilient Architectures
Architectural patterns for building modern, resilient systems.
- Monolithic vs. MicroservicesComing Soon
- API GatewaysComing Soon
- Service DiscoveryComing Soon
- Message QueuesComing Soon
- Publish-Subscribe PatternComing Soon
- Event-Driven & Serverless ArchitecturesComing Soon
- IdempotencyComing Soon
Operating a Production System
Key concepts for operating and maintaining production systems.
- Security (AuthN, AuthZ, Encryption)Coming Soon
- Observability (Metrics, Logging, Tracing)Coming Soon
- Rate LimitingComing Soon
- Leader ElectionComing Soon
- Distributed TransactionsComing Soon
System Design Case Studies
Hands-on case studies to apply system design concepts in real-world scenarios.
- Design a URL ShortenerComing Soon
- Design a Social Media FeedComing Soon
- Design a Ride-Sharing AppComing Soon
- Design a Video Streaming ServiceComing Soon
- Design a Chat ApplicationComing Soon
- Design a Web CrawlerComing Soon
- Design a Search TypeaheadComing Soon