SkillByAIOpen interactive version →

System Design Interview Prep

Practise structured, defensible design conversations: a repeatable interview framework, back-of-envelope maths, the core building blocks and classic case studies, with the key numbers computed by small Python simulations you can run.

Start course →

What you'll learn

Syllabus

The Interview Framework

  1. What Interviewers Look For
  2. A Four-Step Framework
  3. Functional and Non-Functional Requirements

Back-of-Envelope Estimation

  1. Traffic and Storage Estimates
  2. Latency Numbers and Their Implications
  3. Availability Maths

Core Building Blocks

  1. Load Balancers and Stateless Services
  2. Consistent Hashing
  3. Caching Strategies

Data Storage at Scale

  1. SQL or NoSQL
  2. Sharding and Shard Keys
  3. Replication and Consistency
  4. Generating Unique IDs

Asynchrony and Reliability

  1. Message Queues and Worker Sizing
  2. Idempotency
  3. Rate Limiting

Case Studies: Shortener, Feed, Crawler

  1. Design a URL Shortener
  2. Design a News Feed
  3. Design a Web Crawler

Case Studies: Proximity, Chat, Notifications

  1. Design a Proximity Service
  2. Design a Chat System
  3. Design a Notification System

Delivering a Strong Interview

  1. Trade-offs and Bottlenecks
  2. Communication and Time Management
  3. A Practice Plan and Checklist