Implement Cache and Key-Value Store | Lyft Interview Question