High-Level Design (system design) rounds at Microsoft lean toward well-known building blocks — caches, URL shorteners, messaging systems — but interviewers push hard on non-functional requirements like scalability and concurrency rather than accepting a surface-level architecture diagram.
Design a distributed (multi-node) LRU cache that supports constant-time get/put operations and a correct eviction policy under concurrent access, and be ready to produce both a high-level and a low-level diagram for it.
Requirements to clarify first
- How large is the working set — does it comfortably fit on one node, or does it need to be sharded across many nodes from the start?
- Is slightly stale data acceptable on a node failover, or must every read reflect the very latest write?
- What's the expected read:write ratio, and does eviction need to be exact LRU, or is an approximate (e.g. clock-based) policy acceptable at scale?
More system design prompts Microsoft has asked recently
The full architecture, API design, data model and scaling discussion for these are part of the Placement-Ready PYQ Kit.
1 more system design prompt with a full architecture writeup in the full Placement-Ready PYQ Kit

