One per architecture. Finish these and you've touched every skeleton below.
hash/encode a key → store → read-heavy lookup + cache
Every one is: make a short unique key, write it once, read it a million times. The whole interview is key generation, collisions and the read:write skew.
🎯 Learn Designing a Simple URL Shortening Service: A TinyURL Approach — the rest are variations.
shared counter or lease in Redis → token bucket → distributed lock with TTL
You will bolt rate limiting onto almost every other design in this list. Learn it once, reuse it in ten interviews.
🎯 Learn Design an API Rate Limiter — the rest are variations.
post → fan-out on write <i>or</i> read → timeline cache → rank
One decision drives all of them: build the timeline when content is posted, or when the app is opened. Celebrity/hot-key problem is the follow-up every time.
🎯 Learn Design Twitter — the rest are variations.
persistent connection (WebSocket) → delivery guarantee → offline queue → heartbeat presence
All share: who is connected, how does a message survive the recipient being offline, and how do you order messages across devices.
🎯 Learn Design Facebook Messenger — the rest are variations.
geo index (geohash / quadtree) → proximity query → match → live location stream
The index is the whole problem — a B-tree can't answer "who is within 2 km". Then matching, and locking so one driver isn't double-assigned.
🎯 Learn Design Uber Backend — the rest are variations.
hold → reserve → confirm, guarded by a lock or optimistic concurrency
The only pattern where <b>strong consistency is the headline requirement</b>. Two users, one seat. Everything else is CRUD around that.
🎯 Learn Design Ticketmaster — the rest are variations.
queue → workers → state machine → retries + idempotent execution
Leases, fencing tokens, at-least-once delivery, and making re-execution safe. Order tracking and CI pipelines are the same engine.
🎯 Learn Design a Task Scheduler — the rest are variations.
double-entry ledger + idempotency keys + saga for multi-step
Exactly-once is a goal you approximate. Idempotency keys, ledgers that never UPDATE, and reconciliation are the recurring answers.
🎯 Learn Design an Online Payment Service — the rest are variations.
crawl/ingest → inverted index → rank → query serving
Inverted index + sharding by term + near-real-time indexing. Typeahead is the same machinery with a trie and a 100 ms budget.
🎯 Learn Design a Web Crawler — the rest are variations.
upload → transcode workers → object store → CDN edge → adaptive bitrate
These are bandwidth and storage problems wearing a compute costume. Same pipeline whether it's video, audio or ebooks.
🎯 Learn Design Youtube or Netflix — the rest are variations.
high-volume ingest → stream processor → time-series store → rollups
Counting at scale: dedup, windowing, approximate structures, hot partitions. Metrics, logs and traces are one pattern in three costumes.
🎯 Learn Design an Ad Click Aggregation System — the rest are variations.
chunk + dedup + version vectors; OT/CRDT when text is edited concurrently
Conflict resolution is the whole game. Dropbox = file-level; Google Docs = character-level (OT/CRDT). Learn Dropbox first, then the CRDT jump.
🎯 Learn Design Dropbox — the rest are variations.
partition → replicate → quorum / consensus → compaction
This is the Dynamo paper wearing different hats. Consistent hashing, quorum reads/writes, anti-entropy, LSM trees.
🎯 Learn Design a Key Value Store — the rest are variations.
model server → request batching → KV cache → GPU scheduling → streaming tokens
Increasingly asked, and directly relevant to your AI track. GPU scheduling and KV-cache management are the parts people miss.
🎯 Learn Design ChatGPT — the rest are variations.
orchestration, virtualization, multi-region failover
Rarely asked outside infra-specific roles. Skip until the other 14 are solid.
states + transitions + guards; one object owns the current state
Elevator, traffic light, vending machine, ATM — identical skeleton, different labels.
🎯 Learn Design an Elevator System — the rest are variations.
encapsulate an action as an object → stack for undo/redo → chain for pipelines
Command pattern. Once you've built undo/redo, middleware chains and plugin systems are the same idea.
🎯 Learn Design a Text Editor with Undo/Redo — the rest are variations.
resource + availability calendar + booking + pricing strategy
The most-asked LLD problem family. Strategy pattern for pricing, factory for resource types.
🎯 Learn Design a Parking Lot — the rest are variations.
recursive part-whole hierarchy; uniform treatment of leaf and node
File systems, spreadsheets and game boards are all composites. Chess adds strategy-per-piece.
🎯 Learn Design a File System — the rest are variations.
subject holds subscribers → state change → notify all
Pub/sub in object form. Chat, logging and event emitters are the same wiring.
🎯 Learn Design a Notification System — the rest are variations.
account entities + transaction objects + invariants that must never break
Encapsulation is the lesson: balance must be unreachable except through methods that preserve invariants.
🎯 Learn Design a Banking System — the rest are variations.
build the primitive itself with correct complexity
Hashmap + doubly linked list. Closest thing to a DSA question in the LLD round.
🎯 Learn Design an LRU Cache — the rest are variations.
entities + relationships + roles + lifecycle
Bread-and-butter modelling. Get the entity relationships and roles right; resist over-engineering.
ingest → chunk/index → retrieve → generate with citations
The base case. Everything else adds tools or agents on top of this.
🎯 Learn Design a RAG-Based Q&A Agent — the rest are variations.
agent loop + tool schemas + planning + result validation
The ReAct loop from your LangGraph notes, applied to a domain.
🎯 Learn Design a Data Analysis Agent — the rest are variations.
repo context → plan → edit → run tests → iterate
Verification is the design problem: the tests are the feedback loop.
🎯 Learn Design a Code Generation Agent — the rest are variations.
coordinator + workers + shared state + handoff protocol
Supervisor pattern — same shape as your LangGraph multi-agent note.
🎯 Learn Design a Multi-Agent Orchestration System — the rest are variations.
input filter → agent → output validation → human-in-the-loop escalation
Guardrails as architecture, not prompt text. Maps to CCAR-P Domain 5.
🎯 Learn Design an AI Content Moderation Agent — the rest are variations.
sandboxing + tool registry + session state + observability + billing
Platform-level thinking. Closest thing to what Anthropic's Managed Agents does.
🎯 Learn Design an AI Agent Runtime Platform — the rest are variations.