System Design
101 posts in this series.
BASIC for system design interviews: the most reliable sequence for thinking at architecture scale
System design interviews are not just “bigger coding interviews.”
System Design Card 356 — Requirements Clarification / Breakdown
Every design starts with defining what must be true for the system to be considered successful. A notification system for security alerts is a different system from a marketing…
System Design Card 357 — Requirements Clarification / Assess
Every design starts with defining what must be true for the system to be considered successful. A notification system for security alerts is a different system from a marketing…
System Design Card 358 — Requirements Clarification / Structure
Every design starts with defining what must be true for the system to be considered successful. A notification system for security alerts is a different system from a marketing…
System Design Card 359 — Requirements Clarification / Implement
Every design starts with defining what must be true for the system to be considered successful. A notification system for security alerts is a different system from a marketing…
System Design Card 360 — Requirements Clarification / Check
Every design starts with defining what must be true for the system to be considered successful. A notification system for security alerts is a different system from a marketing…
System Design Card 361 — Scope Control / Breakdown
Scope control keeps the design proportional to the prompt and prevents architecture theater. A firstpass URL shortener does not need global multiregion consistency if the prompt…
System Design Card 362 — Scope Control / Assess
Scope control keeps the design proportional to the prompt and prevents architecture theater. A firstpass URL shortener does not need global multiregion consistency if the prompt…
System Design Card 363 — Scope Control / Structure
Scope control keeps the design proportional to the prompt and prevents architecture theater. A firstpass URL shortener does not need global multiregion consistency if the prompt…
System Design Card 364 — Scope Control / Implement
Scope control keeps the design proportional to the prompt and prevents architecture theater. A firstpass URL shortener does not need global multiregion consistency if the prompt…
System Design Card 365 — Scope Control / Check
Scope control keeps the design proportional to the prompt and prevents architecture theater. A firstpass URL shortener does not need global multiregion consistency if the prompt…
System Design Card 366 — Capacity Estimation / Breakdown
Rough numbers create the pressure model that justifies caches, queues, partitioning, or simpler choices. Daily active users, QPS, object size, retention, and peak bursts all shape…
System Design Card 367 — Capacity Estimation / Assess
Rough numbers create the pressure model that justifies caches, queues, partitioning, or simpler choices. Daily active users, QPS, object size, retention, and peak bursts all shape…
System Design Card 368 — Capacity Estimation / Structure
Rough numbers create the pressure model that justifies caches, queues, partitioning, or simpler choices. Daily active users, QPS, object size, retention, and peak bursts all shape…
System Design Card 369 — Capacity Estimation / Implement
Rough numbers create the pressure model that justifies caches, queues, partitioning, or simpler choices. Daily active users, QPS, object size, retention, and peak bursts all shape…
System Design Card 370 — Capacity Estimation / Check
Rough numbers create the pressure model that justifies caches, queues, partitioning, or simpler choices. Daily active users, QPS, object size, retention, and peak bursts all shape…
System Design Card 371 — Traffic Patterns / Breakdown
The read/write shape, burstiness, and fanout pattern determine the hot path and bottlenecks. A feedread service with heavy fanout differs from a mostly writeonce audit log.
System Design Card 372 — Traffic Patterns / Assess
The read/write shape, burstiness, and fanout pattern determine the hot path and bottlenecks. A feedread service with heavy fanout differs from a mostly writeonce audit log.
System Design Card 373 — Traffic Patterns / Structure
The read/write shape, burstiness, and fanout pattern determine the hot path and bottlenecks. A feedread service with heavy fanout differs from a mostly writeonce audit log.
System Design Card 374 — Traffic Patterns / Implement
The read/write shape, burstiness, and fanout pattern determine the hot path and bottlenecks. A feedread service with heavy fanout differs from a mostly writeonce audit log.
System Design Card 375 — Traffic Patterns / Check
The read/write shape, burstiness, and fanout pattern determine the hot path and bottlenecks. A feedread service with heavy fanout differs from a mostly writeonce audit log.
System Design Card 376 — API Design / Breakdown
APIs reveal system boundaries, product semantics, idempotency, and the shape of client interaction. A createnotification endpoint should expose enough information about delivery…
System Design Card 377 — API Design / Assess
APIs reveal system boundaries, product semantics, idempotency, and the shape of client interaction. A createnotification endpoint should expose enough information about delivery…
System Design Card 378 — API Design / Structure
APIs reveal system boundaries, product semantics, idempotency, and the shape of client interaction. A createnotification endpoint should expose enough information about delivery…
System Design Card 379 — API Design / Implement
APIs reveal system boundaries, product semantics, idempotency, and the shape of client interaction. A createnotification endpoint should expose enough information about delivery…
System Design Card 380 — API Design / Check
APIs reveal system boundaries, product semantics, idempotency, and the shape of client interaction. A createnotification endpoint should expose enough information about delivery…
System Design Card 381 — Data Model / Breakdown
The data model should fit the access patterns, consistency needs, and entities that matter most. A messaging system may need message records, user preferences, templates, provider…
System Design Card 382 — Data Model / Assess
The data model should fit the access patterns, consistency needs, and entities that matter most. A messaging system may need message records, user preferences, templates, provider…
System Design Card 383 — Data Model / Structure
The data model should fit the access patterns, consistency needs, and entities that matter most. A messaging system may need message records, user preferences, templates, provider…
System Design Card 384 — Data Model / Implement
The data model should fit the access patterns, consistency needs, and entities that matter most. A messaging system may need message records, user preferences, templates, provider…
System Design Card 385 — Data Model / Check
The data model should fit the access patterns, consistency needs, and entities that matter most. A messaging system may need message records, user preferences, templates, provider…
System Design Card 386 — Storage Choice / Breakdown
Storage determines consistency, latency, indexing flexibility, and operational complexity. Keyvalue storage may suit a shortlink lookup, while relational or searchoriented systems…
System Design Card 387 — Storage Choice / Assess
Storage determines consistency, latency, indexing flexibility, and operational complexity. Keyvalue storage may suit a shortlink lookup, while relational or searchoriented systems…
System Design Card 388 — Storage Choice / Structure
Storage determines consistency, latency, indexing flexibility, and operational complexity. Keyvalue storage may suit a shortlink lookup, while relational or searchoriented systems…
System Design Card 389 — Storage Choice / Implement
Storage determines consistency, latency, indexing flexibility, and operational complexity. Keyvalue storage may suit a shortlink lookup, while relational or searchoriented systems…
System Design Card 390 — Storage Choice / Check
Storage determines consistency, latency, indexing flexibility, and operational complexity. Keyvalue storage may suit a shortlink lookup, while relational or searchoriented systems…
System Design Card 391 — Caching / Breakdown
Caching can remove load from the hot path, but only if keys, invalidation, and staleness are acceptable. Caching shortlink lookups or popular feed fragments can change capacity…
System Design Card 392 — Caching / Assess
Caching can remove load from the hot path, but only if keys, invalidation, and staleness are acceptable. Caching shortlink lookups or popular feed fragments can change capacity…
System Design Card 393 — Caching / Structure
Caching can remove load from the hot path, but only if keys, invalidation, and staleness are acceptable. Caching shortlink lookups or popular feed fragments can change capacity…
System Design Card 394 — Caching / Implement
Caching can remove load from the hot path, but only if keys, invalidation, and staleness are acceptable. Caching shortlink lookups or popular feed fragments can change capacity…
System Design Card 395 — Caching / Check
Caching can remove load from the hot path, but only if keys, invalidation, and staleness are acceptable. Caching shortlink lookups or popular feed fragments can change capacity…
System Design Card 396 — Load Balancing / Breakdown
Load balancing keeps request distribution, horizontal scaling, and failure handling tractable. Ingress traffic to stateless API nodes usually scales better when the node pool can…
System Design Card 397 — Load Balancing / Assess
Load balancing keeps request distribution, horizontal scaling, and failure handling tractable. Ingress traffic to stateless API nodes usually scales better when the node pool can…
System Design Card 398 — Load Balancing / Structure
Load balancing keeps request distribution, horizontal scaling, and failure handling tractable. Ingress traffic to stateless API nodes usually scales better when the node pool can…
System Design Card 399 — Load Balancing / Implement
Load balancing keeps request distribution, horizontal scaling, and failure handling tractable. Ingress traffic to stateless API nodes usually scales better when the node pool can…
System Design Card 400 — Load Balancing / Check
Load balancing keeps request distribution, horizontal scaling, and failure handling tractable. Ingress traffic to stateless API nodes usually scales better when the node pool can…
System Design Card 401 — Queues and Async Processing / Breakdown
Async pipelines absorb bursts, decouple components, and isolate slow or failureprone downstream work. Notification sending, video processing, and search indexing often belong off…
System Design Card 402 — Queues and Async Processing / Assess
Async pipelines absorb bursts, decouple components, and isolate slow or failureprone downstream work. Notification sending, video processing, and search indexing often belong off…
System Design Card 403 — Queues and Async Processing / Structure
Async pipelines absorb bursts, decouple components, and isolate slow or failureprone downstream work. Notification sending, video processing, and search indexing often belong off…
System Design Card 404 — Queues and Async Processing / Implement
Async pipelines absorb bursts, decouple components, and isolate slow or failureprone downstream work. Notification sending, video processing, and search indexing often belong off…
System Design Card 405 — Queues and Async Processing / Check
Async pipelines absorb bursts, decouple components, and isolate slow or failureprone downstream work. Notification sending, video processing, and search indexing often belong off…
System Design Card 406 — Search and Indexing / Breakdown
Search requirements often demand specialized indexing and denormalized views beyond the sourceoftruth store. Product search, document search, and feed discovery differ materially…
System Design Card 407 — Search and Indexing / Assess
Search requirements often demand specialized indexing and denormalized views beyond the sourceoftruth store. Product search, document search, and feed discovery differ materially…
System Design Card 408 — Search and Indexing / Structure
Search requirements often demand specialized indexing and denormalized views beyond the sourceoftruth store. Product search, document search, and feed discovery differ materially…
System Design Card 409 — Search and Indexing / Implement
Search requirements often demand specialized indexing and denormalized views beyond the sourceoftruth store. Product search, document search, and feed discovery differ materially…
System Design Card 410 — Search and Indexing / Check
Search requirements often demand specialized indexing and denormalized views beyond the sourceoftruth store. Product search, document search, and feed discovery differ materially…
System Design Card 411 — Consistency Models / Breakdown
Consistency choices shape correctness guarantees, latency, and uservisible behavior. A ledger, a chat app, and an analytics dashboard can tolerate different forms of staleness or…
System Design Card 412 — Consistency Models / Assess
Consistency choices shape correctness guarantees, latency, and uservisible behavior. A ledger, a chat app, and an analytics dashboard can tolerate different forms of staleness or…
System Design Card 413 — Consistency Models / Structure
Consistency choices shape correctness guarantees, latency, and uservisible behavior. A ledger, a chat app, and an analytics dashboard can tolerate different forms of staleness or…
System Design Card 414 — Consistency Models / Implement
Consistency choices shape correctness guarantees, latency, and uservisible behavior. A ledger, a chat app, and an analytics dashboard can tolerate different forms of staleness or…
System Design Card 415 — Consistency Models / Check
Consistency choices shape correctness guarantees, latency, and uservisible behavior. A ledger, a chat app, and an analytics dashboard can tolerate different forms of staleness or…
System Design Card 416 — Sharding and Partitioning / Breakdown
Partitioning changes how data and load scale, but it also introduces hotspots, rebalancing, and crosspartition complexity. User ID, tenant ID, or content ID may all be candidate…
System Design Card 417 — Sharding and Partitioning / Assess
Partitioning changes how data and load scale, but it also introduces hotspots, rebalancing, and crosspartition complexity. User ID, tenant ID, or content ID may all be candidate…
System Design Card 418 — Sharding and Partitioning / Structure
Partitioning changes how data and load scale, but it also introduces hotspots, rebalancing, and crosspartition complexity. User ID, tenant ID, or content ID may all be candidate…
System Design Card 419 — Sharding and Partitioning / Implement
Partitioning changes how data and load scale, but it also introduces hotspots, rebalancing, and crosspartition complexity. User ID, tenant ID, or content ID may all be candidate…
System Design Card 420 — Sharding and Partitioning / Check
Partitioning changes how data and load scale, but it also introduces hotspots, rebalancing, and crosspartition complexity. User ID, tenant ID, or content ID may all be candidate…
System Design Card 421 — Replication and Failover / Breakdown
Replication improves durability and availability, but it changes write paths, read semantics, and operational complexity. Primaryreplica databases, leader election, or multiregion…
System Design Card 422 — Replication and Failover / Assess
Replication improves durability and availability, but it changes write paths, read semantics, and operational complexity. Primaryreplica databases, leader election, or multiregion…
System Design Card 423 — Replication and Failover / Structure
Replication improves durability and availability, but it changes write paths, read semantics, and operational complexity. Primaryreplica databases, leader election, or multiregion…
System Design Card 424 — Replication and Failover / Implement
Replication improves durability and availability, but it changes write paths, read semantics, and operational complexity. Primaryreplica databases, leader election, or multiregion…
System Design Card 425 — Replication and Failover / Check
Replication improves durability and availability, but it changes write paths, read semantics, and operational complexity. Primaryreplica databases, leader election, or multiregion…
System Design Card 426 — Rate Limiting / Breakdown
Rate limiting protects multitenant fairness, abuse resilience, and downstream stability. An API gateway or notification ingress often needs both peruser and pertenant controls.
System Design Card 427 — Rate Limiting / Assess
Rate limiting protects multitenant fairness, abuse resilience, and downstream stability. An API gateway or notification ingress often needs both peruser and pertenant controls.
System Design Card 428 — Rate Limiting / Structure
Rate limiting protects multitenant fairness, abuse resilience, and downstream stability. An API gateway or notification ingress often needs both peruser and pertenant controls.
System Design Card 429 — Rate Limiting / Implement
Rate limiting protects multitenant fairness, abuse resilience, and downstream stability. An API gateway or notification ingress often needs both peruser and pertenant controls.
System Design Card 430 — Rate Limiting / Check
Rate limiting protects multitenant fairness, abuse resilience, and downstream stability. An API gateway or notification ingress often needs both peruser and pertenant controls.
System Design Card 431 — CDN and Media Delivery / Breakdown
Static and mediaheavy workloads often need edge distribution rather than centralorigin delivery for acceptable performance. Imageserving, file download, and streaming content…
System Design Card 432 — CDN and Media Delivery / Assess
Static and mediaheavy workloads often need edge distribution rather than centralorigin delivery for acceptable performance. Imageserving, file download, and streaming content…
System Design Card 433 — CDN and Media Delivery / Structure
Static and mediaheavy workloads often need edge distribution rather than centralorigin delivery for acceptable performance. Imageserving, file download, and streaming content…
System Design Card 434 — CDN and Media Delivery / Implement
Static and mediaheavy workloads often need edge distribution rather than centralorigin delivery for acceptable performance. Imageserving, file download, and streaming content…
System Design Card 435 — CDN and Media Delivery / Check
Static and mediaheavy workloads often need edge distribution rather than centralorigin delivery for acceptable performance. Imageserving, file download, and streaming content…
System Design Card 436 — Authentication and Security / Breakdown
Security concerns determine access, data exposure, auditability, and abuse surfaces. Sensitive notifications, file storage, and admin tooling all need explicit identity and…
System Design Card 437 — Authentication and Security / Assess
Security concerns determine access, data exposure, auditability, and abuse surfaces. Sensitive notifications, file storage, and admin tooling all need explicit identity and…
System Design Card 438 — Authentication and Security / Structure
Security concerns determine access, data exposure, auditability, and abuse surfaces. Sensitive notifications, file storage, and admin tooling all need explicit identity and…
System Design Card 439 — Authentication and Security / Implement
Security concerns determine access, data exposure, auditability, and abuse surfaces. Sensitive notifications, file storage, and admin tooling all need explicit identity and…
System Design Card 440 — Authentication and Security / Check
Security concerns determine access, data exposure, auditability, and abuse surfaces. Sensitive notifications, file storage, and admin tooling all need explicit identity and…
System Design Card 441 — Observability / Breakdown
Without metrics, logs, and traces, scale and reliability claims are mostly speculation. Queue lag, error rates, cache hit ratios, and P95 latency often matter more than…
System Design Card 442 — Observability / Assess
Without metrics, logs, and traces, scale and reliability claims are mostly speculation. Queue lag, error rates, cache hit ratios, and P95 latency often matter more than…
System Design Card 443 — Observability / Structure
Without metrics, logs, and traces, scale and reliability claims are mostly speculation. Queue lag, error rates, cache hit ratios, and P95 latency often matter more than…
System Design Card 444 — Observability / Implement
Without metrics, logs, and traces, scale and reliability claims are mostly speculation. Queue lag, error rates, cache hit ratios, and P95 latency often matter more than…
System Design Card 445 — Observability / Check
Without metrics, logs, and traces, scale and reliability claims are mostly speculation. Queue lag, error rates, cache hit ratios, and P95 latency often matter more than…
System Design Card 446 — Cost Efficiency / Breakdown
Reasonable designs are not only fast and reliable; they are proportionate to the business value and expected usage. Precomputing everything, storing everything forever, or…
System Design Card 447 — Cost Efficiency / Assess
Reasonable designs are not only fast and reliable; they are proportionate to the business value and expected usage. Precomputing everything, storing everything forever, or…
System Design Card 448 — Cost Efficiency / Structure
Reasonable designs are not only fast and reliable; they are proportionate to the business value and expected usage. Precomputing everything, storing everything forever, or…
System Design Card 449 — Cost Efficiency / Implement
Reasonable designs are not only fast and reliable; they are proportionate to the business value and expected usage. Precomputing everything, storing everything forever, or…
System Design Card 450 — Cost Efficiency / Check
Reasonable designs are not only fast and reliable; they are proportionate to the business value and expected usage. Precomputing everything, storing everything forever, or…
System Design Card 451 — Resilience and Disaster Recovery / Breakdown
Resilience asks how the system degrades, recovers, and protects data when parts of it fail badly. Backup strategy, regional failover, replay, deadletter handling, and controlled…
System Design Card 452 — Resilience and Disaster Recovery / Assess
Resilience asks how the system degrades, recovers, and protects data when parts of it fail badly. Backup strategy, regional failover, replay, deadletter handling, and controlled…
System Design Card 453 — Resilience and Disaster Recovery / Structure
Resilience asks how the system degrades, recovers, and protects data when parts of it fail badly. Backup strategy, regional failover, replay, deadletter handling, and controlled…
System Design Card 454 — Resilience and Disaster Recovery / Implement
Resilience asks how the system degrades, recovers, and protects data when parts of it fail badly. Backup strategy, regional failover, replay, deadletter handling, and controlled…
System Design Card 455 — Resilience and Disaster Recovery / Check
Resilience asks how the system degrades, recovers, and protects data when parts of it fail badly. Backup strategy, regional failover, replay, deadletter handling, and controlled…