Low-Level Design rounds at LinkedIn show up from the Senior level onward, and often start as a single-node design that the interviewer then pushes toward a distributed version. Drive requirement clarification yourself before touching a class diagram, and be ready to justify every design pattern choice.
Design an in-memory cache that supports a configurable capacity and a pluggable eviction policy (e.g. LRU or LFU). Be ready to extend the design from a single node into a distributed, multi-node cache.
Requirements to clarify first
- Is capacity measured in number of entries or in bytes — and should a single oversized value be rejected or evict several smaller ones to make room?
- Will many threads read and write the cache at once, and is a slightly stale read acceptable, or must every
getobserve the latestput? - Which eviction policies must ship on day one (LRU, LFU, TTL), and does the caller need to be told when its entry gets evicted?
More LLD prompts LinkedIn has asked recently
The class design, entity list, design-pattern reasoning and follow-up discussion for these — plus the full worked solution above — are part of the Placement-Ready PYQ Kit.
1 more LLD prompts with full class designs in the full Placement-Ready PYQ Kit

