Microsoft interview question

Implement an LRU cache and explain design decisions