System Design Interview

Alex Xu provides a 4-step framework for tackling system design interviews, featuring 16 real interview questions with detailed solutions and 188 diagrams explaining how different systems work. The book covers essential designs from URL shorteners to scalable platforms like YouTube and Google Drive, including back-of-the-envelope estimations and fundamentals like sharding, load balancing, and caching. Written by an experienced engineer from Twitter, Apple, and Zynga, it helps candidates master what are widely considered the most difficult technical interview questions.

11 sections ยท 35 lessons

Course outline

Scaling Fundamentals

  1. Server-Database Separation
  2. Load Balancers & Stateless
  3. Caching & CDNs
  4. Power of Two
  5. Latency & Storage
  6. Scaling Fundamentals

Interview Framework

  1. Clarify Requirements
  2. Design & Deep Dive
  3. Interview Framework

Traffic Management

  1. Token Bucket Algorithm
  2. Window-Based Rate Limiting
  3. Load Balancing Algorithms
  4. Traffic Management

Data Distribution

  1. Consistent Hashing
  2. Virtual Nodes
  3. Database Replication
  4. Database Sharding
  5. Data Distribution

Storage Systems

  1. SQL vs NoSQL
  2. Key-Value Stores
  3. CAP Theorem
  4. Distributed ID Generation
  5. Storage Systems

Caching

  1. Cache-Aside & Read-Through
  2. Write-Through & Write-Behind
  3. Caching

Common Patterns

  1. URL Shortener Design
  2. Web Crawler Politeness
  3. Multi-Channel Notifications
  4. News Feed Fan-Out
  5. Common Patterns

Real-Time Communication

  1. WebSocket Chat
  2. Chat Storage & Groups
  3. Autocomplete Trie
  4. Real-Time Communication

Media Systems

  1. Video Upload & Transcoding
  2. Adaptive Bitrate Streaming
  3. File Chunking & Sync
  4. Metadata & Conflicts
  5. Media Systems

Asynchronous Processing

  1. Message Queue Benefits
  2. Delivery Guarantees & DLQs
  3. Asynchronous Processing

Architecture Patterns

  1. Stateless Architecture Principles
  2. When Stateful Works
  3. Architecture Patterns

Start learning with Wondering