The Timing Decorator
A medium Python mock interview question on DataDriven. Practice with AI-powered feedback, real code execution, and a hire/no-hire decision.
- Domain
- Python
- Difficulty
- medium
- Seniority
- L4
Interview Prompt
Implement `apply_timer_decorator(func_calls)`. Inside it, define a `@timer` decorator that wraps any function: it records `time.time()` before and after the call, prints the elapsed time, and returns whatever the wrapped function returns. The decorator must forward arbitrary `*args` and `**kwargs`. `func_calls` is a list of `[name, args, kwargs]` triples, where `name` selects a built-in callable ("add", "sub", "mul", "concat", "noop"), `args` is a list of positional arguments, and `kwargs` is a dict of keyword arguments. For each triple, apply your timer decorator to the named callable and invoke it with the given arguments. Return a list of `True` (one per successful call), in input order. An empty `func_calls` returns an empty list.
Summary
Wrap any function to capture how long it takes.
How This Interview Works
- Read the vague prompt (just like a real interview)
- Ask clarifying questions to the AI interviewer
- Write your python solution with real code execution
- Get instant feedback and a hire/no-hire decision