Interview practice
System Design Interviews for Software Developers with Examples
Practice reasoning about system design, explaining trade-offs, and working through realistic interview scenarios.
Start with a lesson that meets you where you are.
Try questions to check what you understand.
Sign in to keep your practice progress together.
Lessons
18 of 39 topics have lessons available today. Choose any available lesson.
- 01
Foundations of System Design
Read the lesson, then try the practice.
- 02
Key Concepts & Terminology
Read the lesson, then try the practice.
- 03
Networking Basics
Read the lesson, then try the practice.
- 04
Core Building Blocks
Read the lesson, then try the practice.
- 05
Databases & Storage
Read the lesson, then try the practice.
- 06
Messaging & Queues
Read the lesson, then try the practice.
- 07
Interview Framework & Strategy
Read the lesson, then try the practice.
- 08
Requirements Gathering
Read the lesson, then try the practice.
- 09
Design Process Steps
Read the lesson, then try the practice.
- 10
Realistic Design Examples
Read the lesson, then try the practice.
- 11
Design URL Shortener & Rate Limiter
Read the lesson, then try the practice.
- 12
URL Shortener (e.g. TinyURL)
Read the lesson, then try the practice.
- 13
Design Social & Streaming Systems
Read the lesson, then try the practice.
- 14
Twitter/Instagram News Feed
Read the lesson, then try the practice.
- 15
YouTube / Netflix Streaming
Read the lesson, then try the practice.
- 16
Chat Application (WhatsApp)
Read the lesson, then try the practice.
- 17
Advanced Topics & Final Prep
Read the lesson, then try the practice.
- 18
Mock Interviews & Communication
Read the lesson, then try the practice.
Topics without lessons yet
These are part of the outline. Lessons are not available for them yet.
- Scalability
- Latency vs Throughput
- CAP Theorem
- HTTP & REST APIs
- DNS & CDN
- TCP vs UDP
- Relational Databases
- NoSQL Databases
- Caching Strategies
- Message Queues (Kafka, RabbitMQ)
- Pub/Sub Pattern
- Functional Requirements
- Non-Functional Requirements
- High-Level Architecture
- Deep Dive & Bottlenecks
- Rate Limiter
- Advanced Architecture Patterns
- Microservices & Service Discovery
- Consistent Hashing & Distributed Systems
- Timed Mock Sessions
- Trade-off Articulation