Coordinate a Fleet of Restaurant Robots
Company: Amazon
Role: Software Engineer
Category: System Design
Difficulty: medium
Interview Round: Technical Screen
Design a system that coordinates many robots working in a restaurant. Begin by clarifying what work the robots perform, then explain task assignment, execution state, failures, and the boundary between fleet coordination and each robot's local motion control.
### Constraints & Assumptions
- The source leaves the restaurant operations vague. State a narrow baseline, such as delivering prepared orders, before designing the system.
- Physical actions may continue after a communication failure; a lost acknowledgement does not prove an action did not occur.
- Treat local motion safety and emergency controls as an independent robot capability, not something guaranteed by a cloud scheduler.
### Clarifying Questions to Ask
- Do robots deliver orders, clear tables, prepare food, or perform several task types?
- What capabilities, battery constraints, route restrictions, and human handoffs must assignment respect?
- What should a robot do when disconnected, blocked, or uncertain whether a task is complete?
```hint Distinguish task ownership from physical progress
Reassigning a task after a timeout can create duplicate physical work if the first robot is still executing it. Track evidence of progress and reconcile uncertain outcomes.
```
### What a Strong Answer Covers
- A concrete task model, robot capabilities/state, and an assignment policy.
- Commands, acknowledgements, progress, completion, and cancellation semantics.
- Local autonomy and coordination boundaries for shared resources.
- Failure recovery, human intervention, and prevention of duplicate fulfillment.
- Observability and an incremental simulation/testing plan.
### Follow-up Questions
- How would two robots avoid being assigned the same delivery after a scheduler failover?
- What happens when a robot loses connectivity while carrying an order?
Overview: Design restaurant robot coordination with task assignment, durable progress, local safety boundaries, uncertain physical outcomes, and human recovery.
Read the full Amazon Software Engineer interview experience this question came from