LotusFlare Interview Question

How would you implement a basic cache, and what are the key challenges?