Dataford
Interview QuestionsInterview GuidesExperiencesMock InterviewsPricing
Get started

Cache with TTL

HardPython00:00
Practice interviewer
In session
5 left
00:00

Your question is Cache with TTL. Start with the requirements on the right.

Run and submit as often as you like. When you're ready, talk me through your approach or go straight to the code.

You need to log in / sign up to run or submit.

Problem

Implement a cache handling system, including defining and managing TTL (time-to-live) expiration, checking elapsed time, and determining when items should be deleted.

Asked in the Onsite Coding Round stage. Write code for cache handling and deal with TTL logic under tight time constraints.

I/O Contract

Implement run_cache(operations). Each operation is a dictionary with op and a logical time. set also has key, value, and nonnegative ttl; get and delete have key; cleanup has only time. Return one result for each get, delete, or cleanup, in operation order. An expired or missing get returns None; delete returns a Boolean; cleanup returns expired keys in sorted order. An entry expires when time >= insertion_time + ttl.

Constraints

  • 1 <= operations.length <= 10^4
  • Operation timestamps are nondecreasing
  • Keys are nonempty strings
  • Values are JSON-compatible values
  • 0 <= ttl <= 10^9
  • Each operation has a valid operation type and required fields

Function Signature

def run_cache(operations):
Your solutionPython 3
You need to log in / sign up to run or submit.
Run your code to see test output