Outline distributed caching.
01
01
Understand the problem
distributed-cache
02
02
Attempt it yourself
Sketch your approach before reading the solution — that's what interviews test.
Stuck? AI Nudge Available
Get a conceptual hint to guide your logic without spoiling the final implementation.
03
03
Study the solution
The solution is waiting
Give it an honest attempt first — then compare your thinking with the full walkthrough.
04
04
Read the code
Per-node LRU eviction
Run Playgroundfrom collections import OrderedDict
class LRUCache:
def __init__(self, capacity):
self.capacity = capacity
self.store = OrderedDict()
def get(self, key):
if key not in self.store:
return None
self.store.move_to_end(key) # mark most-recently-used
return self.store[key]
def put(self, key, value):
self.store[key] = value
self.store.move_to_end(key)
if len(self.store) > self.capacity:
evicted, _ = self.store.popitem(last=False) # drop least-recently-used
print("evicted", evicted)
c = LRUCache(2)
c.put("a", 1); c.put("b", 2)
c.get("a") # 'a' is now most-recently-used
c.put("c", 3) # over capacity -> evicts 'b'
print("a:", c.get("a"), "b:", c.get("b"), "c:", c.get("c"))05
05
Join the discussion
Discussion (0)
Sign in to join the discussion.
No responses yet. Be the first to share what you think.