Uber System Design Interview: Uber Eats Nearby Restaurants

Based on questions reported for Uber interviews

The interviewer opens

Hi, and thanks for joining. Welcome to your interview for the software engineer role at Uber. We'll design a system together, and you can sketch on the whiteboard on the right of your screen as you talk. If you need to step out or take a break, you can pause the interview any time with the Pause button at the top right.

The problem is in the Problem tab: it's about how Uber Eats shows nearby restaurants the moment someone opens the app. Please read through the requirements and ask me anything you'd like clarified before you start drawing.

The problem

Design the backend that, when a customer opens Uber Eats, returns the restaurants near the customer's location that can deliver to them, quickly enough that the home screen feels instant.

Must do

  • Return restaurants near the customer's current or chosen delivery location
  • Show each restaurant's distance from the customer
  • Restaurants can be onboarded, moved or removed from the platform
  • Only restaurants currently open should be shown

Must hold

  • The nearby list must load fast enough that opening the app feels instant