14. Uber

Hard

Design a ride sharing service like Uber

Functional Requirements
  • Users should be able to request a ride based on current location and destination
  • Drivers should be notified and given an option to accept a ride
  • When a ride is confirmed, location should be shared between driver and passenger
Nonfunctional Requirements
  • Drivers are eligible for rides if they are within 10 miles of the passengers current location
  • 99.99% availability
  • Location sharing should be updated every 10 seconds
  • Should function world-wide
Assumptions
  • Drivers set their own hours
  • There is no limit on ride distance
  • We do not need to worry about incidences or reviews
Estimated Usage
  • 300 thousand drivers and 700 thousand passengers are active each day
  • 800 thousand rides per day

Seen this question in a real interview before?

Not all editor features are supported on mobile