Learning path
System Design learning path: everything to study, topic by topic
Comprehensive system design assessment covering requirements gathering, scalability, distributed systems, data architecture, design patterns, and global-scale engineering.
Short answer
To learn System Design, work through 6 modules and 69 topics in the order they build on each other. It starts with Fundamentals, then moves on to Scalability and Distributed Systems. Use the map as a checklist, or measure your level and study only what is missing.
What you will study
Topics are grouped by module. Open one to see its objectives and key concepts.
1 · Fundamentals8 topics
Requirements Gathering
Functional vs non-functional requirements, capacity estimation, SLA definition, and constraint identification
Objectives
- Distinguish functional from non-functional requirements
- Perform back-of-the-envelope capacity estimates
Key concepts
- functional requirements
- non-functional requirements
- capacity estimation
- SLA/SLO/SLI
- back-of-the-envelope calculations
- constraint identification
API Design Basics
REST conventions, resource modeling, HTTP methods, status codes, versioning, and pagination
Objectives
- Design clean RESTful APIs
- Choose appropriate HTTP methods and status codes
Key concepts
- REST principles
- HTTP methods
- status codes
- API versioning
- pagination
- rate limiting
- idempotency
Data Modeling Fundamentals
Entity relationships, normalization, denormalization, schema design, and indexing basics
Objectives
- Design normalized data models
- Know when to denormalize for performance
Key concepts
- entity relationships
- normalization
- denormalization
- primary keys
- foreign keys
- indexing
- schema evolution
Caching Basics
Cache-aside, write-through, write-behind patterns, TTL, eviction policies, and cache invalidation
Objectives
- Choose the right caching strategy for a given use case
- Understand cache invalidation challenges
Key concepts
- cache-aside
- write-through
- write-behind
- TTL
- eviction policies (LRU, LFU)
- cache invalidation
- Redis
- Memcached
Rate Limiting
Protecting APIs and shared resources from excess traffic with token bucket, leaky bucket, fixed and sliding window algorithms, distributed counters, rate limit headers and HTTP 429 responses
Objectives
- Choose and configure a rate limiting algorithm (token bucket, leaky bucket, fixed or sliding window) for a given API and traffic profile
- Design a distributed rate limiter and the HTTP contract (429, Retry-After, rate limit headers) that lets clients behave well under throttling
Key concepts
- token bucket
- leaky bucket
- fixed window counter
- sliding window
- distributed rate limiting
- 429 Too Many Requests
- Retry-After header
- rate limit headers
- burst capacity
- load shedding
- client backoff with jitter
- per-client limit keys
Unique ID Generation
Generating globally unique identifiers in distributed systems: UUID versions, database ticket servers, Snowflake-style bit layouts, time-ordered and k-sortable IDs, and the role clocks play in ordering
Objectives
- Choose between UUIDs, a ticket server, and a Snowflake-style generator for a given scale, ordering and size requirement
- Reason about clock skew, backwards clocks and counter rollover when IDs embed a timestamp
Key concepts
- UUID versions
- ticket server
- Snowflake ID layout
- k-sortable IDs
- time-ordered UUIDv7
- clock skew and backwards clocks
- monotonic counter
- database index locality
- logical clocks
- worker ID assignment
Capacity Estimation
Back-of-the-envelope estimation of request rates, storage, bandwidth and latency orders of magnitude, used to size a system and sanity-check a design before building it.
Objectives
- Turn user and usage assumptions into QPS, storage and bandwidth figures with explicit, defensible assumptions
- Use latency orders of magnitude and Little's law to find bottlenecks and size capacity with headroom
Key concepts
- back-of-the-envelope estimation
- QPS
- peak load
- storage estimation
- bandwidth estimation
- latency numbers
- Little's law
- capacity headroom
- powers of two
Time and Clocks
Why clocks in distributed systems drift, jump and disagree, and how wall-clock versus monotonic time, leap seconds, logical clocks, bounded-uncertainty time such as TrueTime and certificate expiry shape the correctness of timeouts, leases, ordering and transactions.
Objectives
- Distinguish wall-clock time from monotonic time and explain why drift, clock steps and leap seconds break code that measures durations, expires leases or orders events by timestamp
- Choose among monotonic clocks, logical clocks, bounded-uncertainty time with commit wait and certificate-lifecycle automation to keep ordering, timeouts and expiry correct in a distributed system
Key concepts
- clock drift and skew
- wall-clock vs monotonic clock
- NTP clock stepping
- leap seconds and leap smear
- logical clocks and happened-before
- TrueTime uncertainty interval
- commit wait
- certificate validity and expiry
- timeouts and leases based on local clocks
- last-write-wins timestamp conflicts
2 · Scalability8 topics
Horizontal vs Vertical Scaling
Scale-up vs scale-out strategies, stateless design, session management, and auto-scaling
Objectives
- Explain trade-offs between horizontal and vertical scaling
- Design stateless services for horizontal scalability
Key concepts
- vertical scaling
- horizontal scaling
- stateless services
- session affinity
- auto-scaling
- scaling limits
Load Balancing
Layer 4 vs layer 7, algorithms (round-robin, least connections, consistent hashing), health checks
Objectives
- Choose appropriate load balancing algorithms
- Design health check strategies
Key concepts
- L4 vs L7 load balancing
- round-robin
- least connections
- consistent hashing
- health checks
- sticky sessions
- global server load balancing
Database Sharding
Sharding strategies, shard keys, rebalancing, cross-shard queries, and replication
Objectives
- Select effective shard keys
- Handle cross-shard query challenges
Key concepts
- range-based sharding
- hash-based sharding
- directory-based sharding
- shard key selection
- rebalancing
- cross-shard joins
- replication
CDN & Edge Computing
Content delivery networks, edge caching, push vs pull CDN, origin shielding, edge functions
Objectives
- Design CDN strategies for static and dynamic content
- Understand edge computing trade-offs
Key concepts
- CDN architecture
- push vs pull CDN
- origin shielding
- edge caching
- edge functions
- cache busting
- geographic routing
Monitoring & Observability
Health checks, metrics collection, distributed tracing, log aggregation, alerting, SLI/SLO/SLA, and observability pillars
Objectives
- Design a comprehensive observability strategy using the three pillars
- Define meaningful SLIs and SLOs for system components
Key concepts
- health check endpoints
- metrics collection
- distributed tracing
- log aggregation
- alerting strategies
- SLI/SLO/SLA
- golden signals
- observability pillars
Consistent Hashing
How hash rings, virtual nodes and related schemes spread keys over changing sets of servers with minimal remapping, and how to handle hot spots, replication and load bounds in caches, sharded stores and load balancers.
Objectives
- Explain how a hash ring and virtual nodes limit key movement when servers join or leave, and apply them to caches, shards and load balancers
- Diagnose load imbalance and hot spots and choose among virtual nodes, hash slots, jump consistent hash, bounded loads and Maglev hashing
Key concepts
- hash ring
- virtual nodes
- minimal key remapping
- load imbalance and hot spots
- bounded-load consistent hashing
- replication via successor nodes
- jump consistent hash
- Maglev hashing
- hash slots
- heterogeneous node capacity
Real-Time Connections
How servers keep many long-lived client connections open and push data over them: WebSocket, long polling and server-sent events, presence, fan-out of messages across connection-holding servers, and routing and reconnection behaviour
Objectives
- Choose between WebSocket, server-sent events and long polling for a given real-time requirement
- Design a connection gateway, presence and message fan-out path that survive node failures and reconnection storms
Key concepts
- WebSocket
- long polling
- server-sent events
- presence
- connection fan-out
- sticky sessions
- heartbeat and keepalive
- reconnection with resume
- connection gateway
- pub/sub backbone
DNS, BGP and Anycast Traffic Entry
How DNS resolution, caching, GeoDNS, BGP route advertisement and anycast decide how user traffic reaches a system, and how failures in names or routes can take a healthy service off the internet.
Objectives
- Explain how DNS caching, GeoDNS, anycast and BGP advertisements steer users to a site, and what each mechanism can and cannot control
- Analyse outages caused by withdrawn routes, broken DNS records or unsafe network changes, and design traffic entry layers with safeguards, staged changes and a recovery path that does not depend on the failed system
Key concepts
- DNS resolution and TTL caching
- authoritative and recursive resolvers
- negative caching
- serve-stale
- BGP prefix advertisement and withdrawal
- anycast
- GeoDNS and EDNS Client Subnet
- DNS health-check failover
- retry amplification
- out-of-band access
- DNS automation safeguards
3 · Distributed Systems11 topics
CAP Theorem
Consistency, availability, partition tolerance trade-offs, PACELC, eventual consistency
Objectives
- Apply CAP theorem to real system decisions
- Choose between consistency and availability for specific use cases
Key concepts
- consistency
- availability
- partition tolerance
- PACELC theorem
- eventual consistency
- strong consistency
- linearizability
Consensus Algorithms
Paxos, Raft, leader election, quorum-based replication, and split-brain prevention
Objectives
- Explain Raft leader election and log replication
- Design systems that tolerate leader failures
Key concepts
- Paxos
- Raft
- leader election
- quorum
- split-brain
- fencing tokens
- term/epoch numbers
Distributed Transactions
Two-phase commit, saga pattern, compensating transactions, idempotency, and outbox pattern
Objectives
- Design sagas for multi-service transactions
- Implement idempotent operations
Key concepts
- two-phase commit
- saga pattern
- compensating transactions
- idempotency keys
- outbox pattern
- exactly-once semantics
Message Queues
Pub/sub, point-to-point, Kafka, RabbitMQ, SQS, ordering guarantees, and dead letter queues
Objectives
- Choose between message queue technologies
- Design reliable async communication between services
Key concepts
- pub/sub
- point-to-point
- Kafka
- RabbitMQ
- SQS/SNS
- ordering guarantees
- dead letter queues
- backpressure
Consistency Patterns
Strong vs eventual consistency, causal consistency, linearizability, quorum reads/writes, and consistency-availability trade-offs
Objectives
- Choose the right consistency model for a given use case
- Implement read-your-writes and causal consistency guarantees
Key concepts
- strong consistency
- eventual consistency
- causal consistency
- linearizability
- read-your-writes
- quorum-based consistency
- consistency vs availability trade-off
Availability Patterns
Active-active and active-passive topologies, replication strategies, failover, health checks, graceful degradation, and circuit breakers
Objectives
- Design highly available systems using replication and failover
- Implement graceful degradation and circuit breaker patterns
Key concepts
- active-active
- active-passive
- leader-follower replication
- multi-leader replication
- failover strategies
- health checks
- graceful degradation
- circuit breaker pattern
Communication Protocols
REST vs RPC, gRPC, WebSocket, Server-Sent Events, GraphQL, message brokers, and API gateway patterns
Objectives
- Select the right communication protocol for specific system requirements
- Design hybrid communication strategies combining synchronous and asynchronous patterns
Key concepts
- REST vs RPC
- gRPC protocol
- WebSocket
- Server-Sent Events
- GraphQL
- message brokers
- protocol buffers
- API gateway patterns
Idempotent Operations
Idempotency keys, at-least-once delivery, exactly-once semantics, deduplication, HTTP method idempotency, and retry safety
Objectives
- Design idempotent APIs and operations for distributed systems
- Implement deduplication strategies for reliable message processing
Key concepts
- idempotency definition
- idempotency keys
- at-least-once delivery
- exactly-once semantics
- deduplication strategies
- HTTP method idempotency
- database upserts
- retry safety
Leaderless Replication
Replication without a designated leader: tunable read/write quorums, sloppy quorum with hinted handoff, vector clocks for conflict detection, gossip-based membership, and Merkle-tree anti-entropy
Objectives
- Choose N, R and W for a leaderless store and explain what the choice does and does not guarantee
- Explain how hinted handoff, read repair and Merkle-tree anti-entropy keep replicas converging, and how vector clocks expose concurrent writes
Key concepts
- leaderless replication
- quorum reads and writes
- sloppy quorum
- hinted handoff
- vector clocks
- conflict reconciliation
- last write wins
- read repair
- anti-entropy
- Merkle trees
- gossip protocol
- preference list
Job Scheduling
Running work later or periodically across many machines: distributed cron, delayed queues, visibility timeouts, at-least-once delivery, and deduplication so that retries and failovers stay safe
Objectives
- Design a periodic scheduler that survives machine and leader failures without silently skipping or double-launching jobs
- Choose delayed-queue, visibility-timeout, retry and deduplication settings that keep at-least-once job execution safe
Key concepts
- distributed cron
- delayed queues
- visibility timeout
- at-least-once delivery
- deduplication
- idempotent jobs
- leader election
- job launch identity
- missed-run policy
- concurrency policy
- dead-letter queues
- thundering herd
Distributed Locking
How leases, fencing tokens and consensus-backed lock services such as Chubby, ZooKeeper and etcd provide mutual exclusion across machines, and why process pauses, network delays and clock errors make timeout-based locks unsafe unless the protected resource checks them.
Objectives
- Explain why a lease alone cannot guarantee mutual exclusion when clients pause or messages are delayed, and use fencing tokens checked by the protected resource to close the gap
- Choose and design a lock mechanism (single-node store, Redlock, or a consensus-backed service such as Chubby, ZooKeeper or etcd) by separating efficiency locks from correctness locks and reasoning about clocks, sessions and failover
Key concepts
- distributed lock
- lease and expiry
- fencing token
- process pauses
- lock service
- ephemeral sequential nodes
- clock drift and monotonic clocks
- efficiency versus correctness locks
- Redlock
- sessions and keep-alive
- sequencer and lock-delay
4 · Data Systems12 topics
Database Selection
SQL vs NoSQL, document stores, key-value, column-family, graph databases, and polyglot persistence
Objectives
- Select the right database type for specific workloads
- Design polyglot persistence strategies
Key concepts
- SQL vs NoSQL
- document stores
- key-value stores
- column-family
- graph databases
- polyglot persistence
- ACID vs BASE
Data Pipelines
Batch vs stream processing, ETL/ELT, Lambda/Kappa architecture, data lakes, and data warehouses
Objectives
- Design end-to-end data pipelines
- Choose between batch and stream processing
Key concepts
- batch processing
- stream processing
- ETL vs ELT
- Lambda architecture
- Kappa architecture
- data lake
- data warehouse
Search Systems
Inverted indexes, Elasticsearch, full-text search, ranking algorithms, and search relevance
Objectives
- Design search infrastructure for large datasets
- Tune search relevance and ranking
Key concepts
- inverted index
- Elasticsearch
- full-text search
- TF-IDF
- BM25
- tokenization
- relevance tuning
- faceted search
Time-Series Data
Time-series databases, downsampling, retention policies, InfluxDB, Prometheus, and metric aggregation
Objectives
- Design time-series storage for monitoring systems
- Implement efficient retention and aggregation policies
Key concepts
- time-series databases
- downsampling
- retention policies
- InfluxDB
- Prometheus
- metric aggregation
- compaction
Ledger and Reconciliation
Double-entry bookkeeping, immutable append-only ledgers, idempotent posting, and reconciliation of internal records against payment service provider settlement data
Objectives
- Model money movement as balanced, immutable journal entries and derive balances from them
- Design idempotent posting and reconciliation against PSP settlement data, correcting errors with compensating entries
Key concepts
- double-entry bookkeeping
- journal entries
- balanced transactions
- append-only ledger
- compensating entries
- balance derivation
- idempotency keys
- clearing accounts
- PSP reconciliation
- settlement reports
Reservation Concurrency
How to stop two buyers from getting the same seat, room or unit of stock: atomic conditional writes, optimistic and pessimistic locking, constraints that reject overlaps, and time-limited holds that expire and release safely.
Objectives
- Explain why check-then-write logic causes double booking and overselling, and prevent it with atomic conditional updates, constraints, and optimistic or pessimistic locking
- Design time-limited reservation holds whose expiry, release, confirmation and retries stay correct under crashes, pauses and duplicate requests
Key concepts
- double booking
- overselling
- atomic conditional update
- optimistic locking
- pessimistic locking
- retry on conflict
- reservation hold with TTL
- hold expiry and release
- exclusion constraint
- fencing token
- idempotent confirmation
Online Data Migration
How to move live data to a new schema or datastore without downtime or loss: dual writing, backfill, shadow reads, verification, cutover and rollback, and how to sequence them so every step stays reversible.
Objectives
- Sequence an online migration into dual writing, backfill, verification, read switch, write switch and cleanup, keeping each step reversible
- Choose how to keep old and new stores in sync, verify them with shadow reads, and design the cutover and rollback so a failure does not lose or corrupt data
Key concepts
- dual writing
- backfill
- shadow reads
- expand and contract
- cutover
- rollback path
- data verification
- audit log and catch-up
- source of truth
- idempotent and versioned writes
Collaborative Editing
How concurrent edits to a shared document converge on every client: operational transformation versus CRDTs, last-writer-wins at property level, ordering through a central server, tombstones, tree and sequence structure, and offline reconciliation.
Objectives
- Explain how operational transformation and CRDTs make replicas converge while preserving user intent, and choose between them for text, structured documents and offline use
- Design property-level last-writer-wins sync with a central server, including optimistic local apply, deletes, undo, ordering of children and reconnection
Key concepts
- operational transformation
- CRDT
- convergence
- intention preservation
- causal ordering
- last-writer-wins register
- property-level conflict resolution
- central server ordering
- tombstones
- fractional indexing
- optimistic local apply
- offline editing and reconnection
- add-wins and remove-wins semantics
- cycle-free tree reparenting
Feeds and Fan-out
How to assemble home timelines and news feeds for many readers: fan-out on write versus fan-out on read, the celebrity and hot-key problems, hybrid timelines, precomputed feed caches, async fan-out workers and the ranking step on top of candidate posts.
Objectives
- Compare fan-out on write and fan-out on read for a feed, and explain why a hybrid timeline that treats high-follower accounts differently is the usual answer
- Design the write path (queue, fan-out workers, bounded feed cache), the read path (merge, hydration, ranking) and the protection against hot keys and ordering anomalies
Key concepts
- fan-out on write
- fan-out on read
- celebrity problem
- hybrid timeline
- precomputed feed cache
- async fan-out workers
- hot key
- candidate generation and ranking
- feed hydration
- fan-out ordering anomalies
- feed cache reconstruction
Storage Engines
How databases lay data out on disk and keep it durable and consistent: B-tree and LSM-tree designs, write-ahead logging, memtables, SSTables and compaction, write, read and space amplification, and multiversion concurrency control, plus how to pick an engine for a workload.
Objectives
- Explain how B-tree and LSM-tree engines handle writes, reads and durability, including the roles of the write-ahead log, memtable, SSTables, compaction and Bloom filters
- Reason about write, read and space amplification and MVCC version cleanup to choose and tune a storage engine for a workload and to diagnose engine-level latency problems
Key concepts
- B-tree
- LSM tree
- write-ahead log
- memtable and SSTables
- compaction strategies
- write amplification
- read and space amplification
- Bloom filters
- MVCC
- tombstones and deletes
Geospatial Indexing
How geohash, quadtrees and the S2 and H3 cell systems turn locations into indexable cell identifiers so that nearby-search becomes a handful of key lookups, and how to handle cell boundaries, uneven density, resolution choice and sharding of spatial data.
Objectives
- Explain how geohash, quadtrees, S2 cells and H3 cells map coordinates to hierarchical cell identifiers, and turn a radius query into neighbor-cell lookups followed by an exact distance filter
- Diagnose boundary errors, hot cells and resolution mistakes, and choose and shard a spatial index for a given workload
Key concepts
- geohash
- quadtree
- S2 cells
- H3 hexagonal grid
- space-filling curve
- neighbor cell lookup
- cell covering
- proximity search
- boundary effects
- adaptive subdivision
- hot cell and density skew
- index resolution choice
Probabilistic Data Structures
How Bloom filters, HyperLogLog and Count-Min Sketch answer membership, distinct-count and frequency questions in small, fixed memory by accepting controlled error, and how to size them, merge them and decide where approximation is safe in real systems.
Objectives
- Explain the guarantees and error direction of Bloom filters, HyperLogLog and Count-Min Sketch, and size each one from the accuracy and memory a system can afford
- Decide where an approximate structure is safe in production (skip work, dashboards, heavy hitters) and where exactness is mandatory, including merging, deletion and hash quality concerns
Key concepts
- Bloom filter
- false positive rate
- no false negatives
- counting Bloom filter
- sizing from target error
- HyperLogLog
- cardinality estimation
- standard error
- mergeability
- Count-Min Sketch
- one-sided overestimate
- point query and heavy hitters
- hash function quality
- error versus memory trade-off
5 · Architecture Patterns9 topics
Microservices vs Monolith
Service decomposition, bounded contexts, API gateways, service mesh, and migration strategies
Objectives
- Decide when microservices provide value over a monolith
- Plan a migration from monolith to microservices
Key concepts
- monolith
- microservices
- service decomposition
- API gateway
- service mesh
- bounded context
- strangler fig pattern
CQRS & Event Sourcing
Command-query separation, event stores, projections, snapshots, and temporal queries
Objectives
- Design CQRS/ES architectures for appropriate use cases
- Implement event store projections
Key concepts
- CQRS
- event sourcing
- event store
- projections
- snapshots
- temporal queries
- eventual consistency
Domain-Driven Design
Bounded contexts, aggregates, domain events, ubiquitous language, and context mapping
Objectives
- Apply DDD to decompose complex domains
- Design anti-corruption layers between bounded contexts
Key concepts
- bounded context
- aggregate
- domain event
- ubiquitous language
- context map
- anti-corruption layer
- shared kernel
Serverless Architecture
FaaS, event-driven patterns, cold starts, step functions, and serverless data stores
Objectives
- Design serverless architectures that avoid common pitfalls
- Evaluate serverless vs containers for specific workloads
Key concepts
- FaaS
- event-driven architecture
- cold starts
- step functions
- serverless databases
- vendor lock-in
- cost modeling
Performance Antipatterns
Common performance mistakes including N+1 queries, chatty I/O, missing caching, synchronous bottlenecks, and thundering herd
Objectives
- Identify and fix common performance antipatterns in system designs
- Distinguish premature optimization from necessary performance work
Key concepts
- N+1 query problem
- chatty I/O
- no caching strategy
- synchronous bottlenecks
- unbounded queues
- missing pagination
- over-fetching data
- improper indexing
- premature optimization
- thundering herd
Cloud Design Patterns
Ambassador, sidecar, strangler fig, bulkhead, saga, CQRS implementation, event sourcing, and retry patterns for cloud-native systems
Objectives
- Apply cloud design patterns to solve specific distributed system challenges
- Choose the right pattern based on system requirements and constraints
Key concepts
- ambassador pattern
- sidecar pattern
- strangler fig
- bulkhead pattern
- saga pattern
- CQRS implementation
- event sourcing pattern
- retry with exponential backoff
Overload Control
Keeping a service useful when demand exceeds capacity: backpressure, load shedding, retry budgets, metastable failures, and avoiding stampedes during recovery.
Objectives
- Design layered overload protection using backpressure, admission control, and load shedding so a service keeps its goodput under excess demand
- Bound retry amplification with retry budgets, backoff with jitter, and a single retry layer, and diagnose and recover from metastable failures without causing a stampede during recovery
Key concepts
- backpressure
- load shedding
- goodput vs throughput
- admission control
- retry budget
- exponential backoff with jitter
- metastable failure
- cascading failure
- thundering herd
- request prioritization
- deadline propagation
- adaptive client-side throttling
- queue management
Cell Architecture
Partitioning a system into isolated, independent cells (or pods) and using shuffle sharding to shrink the blast radius of failures, with a thin routing layer and a clear split between control plane and data plane.
Objectives
- Design cell-based and shuffle-sharded architectures that limit the blast radius of failures and bad changes
- Separate control plane from data plane and keep the data plane statically stable during control plane outages
Key concepts
- cell-based architecture
- cell router
- partition key
- blast radius
- shuffle sharding
- bulkhead isolation
- control plane vs data plane
- static stability
- poison pill request
- cell sizing
Safe Deployment
How to ship code, configuration and data changes to production with a limited blast radius: blue-green, rolling and canary releases, feature flags and kill switches, automatic rollback, bake time, backward-compatible changes, and staggered rollouts by region, zone and cell.
Objectives
- Explain how blue-green, rolling and canary releases, feature flags and kill switches limit the blast radius of a bad change, and when to choose each
- Design a deployment pipeline with staggered waves, canary analysis, bake time, automatic rollback and backward-compatible two-phase changes that treats configuration and data pushes with the same care as code
Key concepts
- blue-green deployment
- rolling deployment
- canary release
- canary analysis against a control
- feature flags
- kill switch
- automatic rollback
- bake time
- staggered waves by region, zone and cell
- backward-compatible two-phase deployment
- expand and contract schema changes
- blast radius
- configuration and data as deployments
6 · Expert Design21 topics
Global-Scale Systems
Designing for billions of users, data partitioning at scale, global consensus, and edge architectures
Objectives
- Design systems that serve billions of users globally
- Resolve data conflicts across regions
Key concepts
- global partitioning
- data sovereignty
- geo-routing
- edge architecture
- global consensus
- conflict resolution (CRDTs)
Multi-Region Architecture
Active-active, active-passive, data replication, latency optimization, and failover strategies
Objectives
- Design active-active multi-region deployments
- Optimize cross-region data replication
Key concepts
- active-active
- active-passive
- cross-region replication
- latency optimization
- failover
- DNS-based routing
- region isolation
Disaster Recovery
RPO/RTO, backup strategies, chaos engineering, runbooks, and business continuity planning
Objectives
- Design disaster recovery plans with specific RPO/RTO targets
- Implement chaos engineering practices
Key concepts
- RPO
- RTO
- backup strategies
- chaos engineering
- runbooks
- business continuity
- failover testing
Cost Optimization at Scale
Cost modeling, reserved capacity, spot instances, right-sizing, and FinOps practices
Objectives
- Optimize cloud costs without sacrificing reliability
- Implement FinOps practices for engineering teams
Key concepts
- cost modeling
- reserved capacity
- spot instances
- right-sizing
- FinOps
- cost allocation
- efficiency metrics
ML System Design
Designing end-to-end ML systems: feature stores, training pipelines, serving infrastructure, and model lifecycle management
Objectives
- Design end-to-end ML platforms covering feature engineering, training, and model serving
- Prevent training-serving skew and implement model monitoring for production ML systems
Key concepts
- feature store
- training pipelines
- model registry
- online/batch serving
- feature skew
- data versioning
- model monitoring
Designing for Regulatory Compliance
Building systems that comply with GDPR, PCI-DSS, SOC 2, and HIPAA — from data flows to audit trails
Objectives
- Design data architectures that satisfy GDPR right-to-erasure and data residency requirements
- Implement PCI DSS zone isolation and audit trails for payment and healthcare systems
Key concepts
- data residency
- right to erasure
- audit logs
- PCI DSS zones
- PHI protection
- consent management
- data lineage
Chaos Engineering Practices
Designing and running chaos experiments to proactively discover system weaknesses before they cause production incidents
Objectives
- Design and run chaos experiments with defined steady-state hypotheses and blast radius limits
- Build a chaos engineering program that systematically validates system resilience assumptions
Key concepts
- steady state hypothesis
- blast radius
- chaos monkey
- fault injection
- game days
- failure mode analysis
- resilience validation
Real-Time Analytics Architecture
Designing real-time analytics systems using stream processing, CQRS, and lambda/kappa architectures
Objectives
- Design real-time analytics architectures using kappa or lambda patterns for appropriate use cases
- Implement stream processing pipelines with exactly-once semantics and windowing strategies
Key concepts
- kappa vs lambda
- stream processing
- CQRS
- event sourcing
- materialized views
- Flink/Kafka Streams
- OLAP vs OLTP
Cost Engineering & FinOps
Designing cost-efficient architectures: unit economics, right-sizing, spot instances, and FinOps collaboration patterns
Objectives
- Design architectures with cost efficiency as a first-class architectural characteristic
- Implement FinOps practices including unit economics, showback, and automated waste detection
Key concepts
- unit economics
- cost per transaction
- spot instances
- reserved capacity
- waste identification
- showback/chargeback
- FinOps team model
Blob and Video Delivery
How large binary objects and video travel from client to storage and back: multipart and resumable uploads, transcoding pipelines, adaptive streaming over HLS or DASH, CDN cache hierarchies, and object storage that balances metadata cost, durability and access temperature.
Objectives
- Design the upload path for large blobs and video with presigned URLs, multipart or resumable transfer and cleanup of abandoned uploads, and feed an asynchronous transcoding pipeline
- Design the delivery path with segmented adaptive streaming, a tiered CDN with request coalescing or proactive fill, and object storage tiers that trade metadata cost, durability overhead and read throughput
Key concepts
- multipart upload
- presigned URLs
- resumable uploads
- abandoned upload cleanup
- transcoding pipeline
- adaptive bitrate streaming
- HLS segments and playlists
- CDN cache hierarchy
- request coalescing
- proactive cache fill
- hot and warm blob tiering
- erasure coding
- object metadata overhead
Recommender Systems: Retrieval and Ranking
How large-scale recommenders narrow a huge catalog with candidate generation and then order a short list with a ranker, and how to handle implicit feedback, cold start, objectives, blending of candidate sources and offline versus online evaluation.
Objectives
- Explain and design a multi-stage recommender: candidate generation with embeddings and approximate nearest neighbor search, followed by a feature-rich ranker, and choose a ranking objective that matches the product goal
- Handle implicit feedback, cold start, negative sampling, freshness and candidate source blending, and evaluate changes with offline metrics and live experiments without being misled by feedback loops
Key concepts
- candidate generation
- multi-stage ranking
- user and item embeddings
- approximate nearest neighbor search
- implicit feedback
- cold start
- item-to-item collaborative filtering
- memorization and generalization
- negative sampling
- ranking objective
- offline and online evaluation
- freshness and example age
- candidate source blending
Embeddings and Vector Search
How embedding-based retrieval is served in production: approximate nearest neighbor indexes (graph, inverted-file and quantization families), the recall versus latency trade-off, keeping indexes fresh under inserts, deletes and model changes, and combining vector search with filters and term matching.
Objectives
- Choose and tune an approximate nearest neighbor index (graph, inverted-file, quantized) against a recall target, latency budget and memory budget, measuring recall against exact ground truth
- Design vector search serving that stays correct under inserts, deletes, embedding model upgrades and metadata filters, with monitoring that detects recall drift
Key concepts
- approximate nearest neighbor search
- recall versus latency trade-off
- HNSW graph index
- IVF and coarse clustering
- product quantization
- anisotropic quantization
- index updates and deletions
- filtered hybrid search
- similarity metric and normalization
- embedding model versioning
- memory and disk footprint
LLM Serving
How LLM inference servers batch requests at the iteration level, manage the KV cache with paged memory, separate prefill from decode, stream tokens to clients, and balance time to first token, per-token latency and throughput on GPUs.
Objectives
- Explain how prefill, decode, the KV cache, continuous batching and PagedAttention determine GPU memory use, throughput and latency in an LLM serving system, and stream tokens to clients reliably
- Design and review LLM serving architectures by choosing among chunked prefill, prefill-decode disaggregation, prefix sharing and preemption policies against TTFT, TPOT and goodput targets
Key concepts
- prefill and decode phases
- KV cache
- continuous batching
- PagedAttention
- time to first token (TTFT)
- time per output token (TPOT)
- throughput versus latency
- goodput under SLOs
- chunked prefill
- prefill-decode disaggregation
- token streaming
- prefix sharing
- preemption and KV eviction
- GPU memory budget
Retrieval-Augmented Generation (RAG)
How to design retrieval-augmented generation systems end to end: ingesting and chunking documents, hybrid retrieval with fusion and reranking, grounded and cited answers, quality evaluation, and keeping the index fresh and access-controlled.
Objectives
- Design a RAG pipeline from ingestion and chunking through hybrid retrieval, fusion, reranking and context assembly, and justify each stage by the failure it prevents
- Make answers verifiable and operable: ground and cite them, evaluate retrieval and generation separately, and keep the index fresh, versioned and permission-aware
Key concepts
- document chunking
- embeddings and vector index
- hybrid retrieval (BM25 plus embeddings)
- rank fusion
- reranking
- contextual retrieval
- context window budget
- citations and grounding
- faithfulness evaluation
- retrieval recall and precision
- incremental index updates
- index hot-swapping
- access control filtering
Generative Model Architectures
How transformers and attention, tokenization, context windows and diffusion models work inside, and what that implies for designing systems that serve generative models: latency, memory, cost and answer quality.
Objectives
- Explain how self-attention, multi-head attention, positional encoding and autoregressive decoding let a transformer generate text, and how tokenization and the context window bound cost and input size
- Analyze the system implications of LLMs and diffusion models, including KV cache, attention cost, long contexts, latent diffusion, guidance and sampling steps, to choose an architecture and size the serving system
Key concepts
- self-attention
- multi-head attention
- positional encoding
- encoder-decoder vs decoder-only
- autoregressive decoding
- KV cache
- multi-query attention
- subword tokenization
- context window
- quadratic attention cost
- long-context position bias
- denoising diffusion
- latent diffusion
- classifier-free guidance
- sampling steps vs latency
ML Evaluation and Monitoring
How to judge machine learning and LLM systems before and after launch: offline versus online metrics, A/B tests, shadow and canary releases, drift and silent-failure detection, model regression gates and LLM evals including judge-model pitfalls.
Objectives
- Explain why offline metrics, A/B tests and live monitoring answer different questions, and design an evaluation plan that uses each at the right stage of a model's life
- Detect and respond to drift, silent failures and model or prompt regressions, including LLM evals that use judge models, with guardrail metrics, regression gates and rollback paths
Key concepts
- offline vs online metrics
- temporal holdout
- A/B testing
- overall evaluation criterion
- A/A test
- data drift and concept drift
- two-sample tests
- prediction bias
- silent failures
- slice-based metrics
- label delay
- shadow deployment and canary release
- regression test set
- LLM-as-a-judge
- judge biases
- production evals
- action limits
AI Safety and Guardrails
How to design layered defenses around LLM applications and agents: input and output filters, safety classifiers, prompt injection defenses, moderation policy, red teaming, human approval and limits on autonomy, plus the failure modes of both lax and over-strict guardrails.
Objectives
- Design a layered guardrail pipeline (input and output filters, classifiers, policy, monitoring) and explain what each layer can and cannot stop, including prompt injection and over-refusal
- Limit the autonomy of LLM agents with least privilege, human approval and kill switches, and plan red teaming and launch gates that turn incidents into regression tests
Key concepts
- input and output filtering
- prompt injection
- indirect prompt injection
- safety classifier
- content moderation policy
- red teaming
- least privilege for agents
- human approval for high-risk actions
- over-refusal
- defense in depth
- kill switch
Feature Stores and ML Data Pipelines
How feature stores and the data pipelines behind them serve the same features to training and to online inference: offline and online stores, training-serving consistency, point-in-time correct joins, backfills, materialization and feature freshness.
Objectives
- Explain how offline and online stores, shared feature definitions and materialization keep training and serving consistent, and detect training-serving skew when it appears
- Design feature pipelines that are point-in-time correct, support backfills and meet freshness requirements for batch, streaming and on-demand features
Key concepts
- feature store
- offline and online stores
- training-serving skew
- point-in-time correctness
- point-in-time join
- feature freshness
- backfill
- materialization
- feature TTL
- streaming and batch features
- serving-time feature logging
- late-arriving data
ML Training Infrastructure
How large models are trained across many accelerators: composing data, tensor and pipeline parallelism, sharding and recomputing memory, checkpointing without stalling the job, gang scheduling shared GPU clusters, surviving failures and stragglers, and reading utilization metrics to control cost.
Objectives
- Choose and combine data, tensor and pipeline parallelism, memory sharding and recomputation for a model that does not fit on one accelerator, and explain the communication and idle-time cost of each choice
- Design the platform around a training run: gang scheduling, asynchronous checkpointing, health checks, automated recovery and straggler handling, and judge it with model FLOPs utilization and effective training time
Key concepts
- data parallelism
- ZeRO state sharding
- tensor parallelism
- pipeline parallelism and bubble
- activation recomputation
- asynchronous checkpointing
- gang scheduling
- failure detection and recovery
- stragglers
- model FLOPs utilization
- effective training time
Multimodal Generation
How text-to-image, text-to-video and text-to-audio services are built on diffusion pipelines, and how job queues, GPU workers and batching, latency controls, moderation and unit cost shape the serving architecture.
Objectives
- Explain how latent diffusion pipelines for image, video and audio turn a prompt into an output, and how denoising steps, guidance and distillation drive latency, quality and GPU cost
- Design and review generation services with asynchronous job queues, GPU worker batching, retries and dead-letter handling, layered moderation, backpressure and cost-per-generation accounting
Key concepts
- text-to-image diffusion pipeline
- latent diffusion
- denoising steps and latency
- classifier-free guidance
- step distillation
- text-to-video temporal coherence
- text-to-audio generation
- asynchronous job queue
- GPU worker batching
- visibility timeout and retries
- dead-letter queue
- prompt and output moderation
- cost per generation
- result delivery and progress
- admission control and backpressure
- cold start and GPU autoscaling
LLM Agents
How to design systems in which an LLM directs a loop of tool calls: when to prefer workflows over agents, tool design, planning, tiered memory, multi-agent orchestration, durable execution, evaluation, observability and limits on autonomy and permissions.
Objectives
- Explain the LLM agent loop, when a fixed workflow is the better choice, and how to design tools, planning and tiered memory for agents
- Design reliable and safe agent systems: multi-agent orchestration, durable execution, evaluation with pass^k, observability, and least-privilege control of permissions and autonomy
Key concepts
- agent loop
- workflows versus agents
- tool design
- ReAct
- planning and task decomposition
- memory tiers
- orchestrator-workers
- excessive agency
- human-in-the-loop approval
- agent evaluation
- pass^k reliability
- tracing and observability
- durable execution
Levels: Junior, Mid, Senior, and Expert
Explain it in your own words
Graded by AI · no account · 1 questionNo options to guess from: you write, the AI grades against the topic's rubric and tells you what level your answer reads at.
Already studying System Design?
The assessment measures topic by topic, and your plan skips what you already know.
Open to read. An account is only needed to be measured.
Frequently asked questions
Where should I start studying System Design?
Start with Fundamentals: Requirements Gathering, API Design Basics, and Data Modeling Fundamentals. The map orders topics by what they depend on, so each one prepares the next.
How long does a full System Design assessment take?
A full assessment of this path takes about 50 minutes. Study time depends on where you start; a diagnostic shows which topics you can skip.
Do I need an account to use this page?
No. The map, objectives and key concepts are open. You only need an account to be measured, get your gap by topic and receive a plan.