Bloomberg System Design Interview: Ride-Sharing Rider–Driver Matching

Based on questions reported for Bloomberg interviews

The interviewer opens

Hello, and thank you for joining. Welcome to your interview for the software engineer role at Bloomberg. 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, the Pause button at the top right will pause the interview.

The problem is a ride-sharing matching service, and it's in the Problem tab now. Please read through the requirements and ask me anything you'd like clarified before you start drawing.

The problem

Design a ride-sharing service like Uber where drivers continuously report their live location, riders request a ride from where they stand, and the system quickly matches each rider with a suitable nearby driver.

Must do

  • Drivers send their live location while online
  • Riders request a ride from a pickup point to a destination
  • System finds nearby available drivers and offers the ride to one
  • Driver accepts or declines; rider sees the assigned driver approaching
  • Trip status tracked from request through completion

Must hold

  • Riders get matched within seconds, even at peak
  • A driver is never assigned to two riders at once