This question evaluates a candidate's competency in designing a crash-resilient LRU cache, including which data and ordering must be persisted, durability and recovery concerns, and trade-offs between latency and persistence.
You have an in-memory LRU cache with fixed capacity and standard get(key) / put(key, value) operations. Normally, an LRU cache is volatile, but now you want the cache to recover useful state after a process crash or restart.
Design a persistence strategy for this cache.
Discuss: