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