Scale is a set of trade-offs

High-Level Design (HLD)

A good system design answer is a calm walk through constraints, bottlenecks, and failure modes — with clear decisions at each step.

Concepts

The building blocks you should be able to combine.

Caching

TTL, invalidation, hot keys, and cache-aside vs write-through.

Queues

Async processing, retries, idempotency, backpressure.

Storage

RDBMS vs NoSQL, indexing, replication, and consistency.

Sharding

Keys, resharding, hotspots, and routing.

CDN

Edge caching, origin strategy, and content freshness.

Observability

SLOs, dashboards, tracing, alerting, and failure drills.

Drill

For any prompt, write down: top 3 bottlenecks, top 3 failures, and one mitigation per item. Do it before drawing boxes.