DataDriven
LearnPracticeInterviewDiscussDailyJobs

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.

Related

  • All Practice Problems
  • Mock Interview Mode
  • Python Interview Questions
  • Data Engineering Interview Prep Guide
  • Daily Challenge
  • Data Engineering Lessons