Next in Line
A medium Python interview practice problem on DataDriven. Write and execute real python code with instant grading.
- Domain
- Python
- Difficulty
- medium
- Seniority
- L4
Problem
A server pool's dispatch layer is driven by a replayed command stream `ops`, where each entry is a list: `['add_server', id]` registers a server, `['remove_server', id]` deregisters one, and `['get_server']` sends the next request to a server and returns its id. Requests go to servers in the order they registered, wrapping from the last back to the first, and when a server is deregistered the rotation carries on over the survivors so that the server that was due next still serves next, with none skipped or served twice in a single pass. Return the ids produced by the `['get_server']` entries in the order those entries appear; `add_server` and `remove_server` add nothing to the output.
Summary
Every server gets its turn. Keep the line honest as the pool changes.
Practice This Problem
Solve this Python problem with real code execution. DataDriven runs your Python code in a real environment and grades it automatically.