Uber front end phone screen

Uber - Front End Software Engineer - Phone screen

Level: Mid level
Education: Masters
Years of Experience: 8
Questions Asked:

Cache With Time Limit

Constructor - initialize the cache with time to live
Set(key, item) - Add a key item to the cache
Get(key) - Get the first non-expired item for the specified key
Count(key) - Count non-expired item for a key
TotalCount - Count the number of non-expired items in the cache

A key can have multiple items