Ride Matching (Uber)

Track drivers in real time and match riders to nearby drivers within seconds.

Hard50 minGeo-indexingMatchingHigh write rate

A ride-hailing service like Uber tracks millions of moving drivers and, within seconds, matches each ride request to a suitable nearby driver. It combines a very high write rate of location updates with a matching step that must never assign one driver to two riders.

Clarify requirements

Functional

  • Drivers send location updates while online.
  • Riders request a ride from pickup to destination and see an ETA and price estimate.
  • System matches the rider with a nearby available driver; driver accepts or declines.
  • Both see each other's live location during the trip; trip lifecycle (accepted, arrived, started, completed).
  • Out of scope: payments details, surge pricing model, ratings (mention as integrations).

Non-functional

  • 5M active drivers at peak, 20M rides/day.
  • Match within ~5–10 seconds; location freshness within ~5 s.
  • A driver is never matched to two rides at once (strong consistency on assignment).
  • Highly available per city/region; degrade gracefully.

Try it first

Set a timer, sketch your own design on paper, then compare it with the reference walkthrough.

50:00

Complete & continue

Defend it out loud

The AI interviewer will probe your design for Ride Matching (Uber) and score it.

Mock interview