Ride-Sharing Service
Preview mode. Log in to write architecture notes, save your answer, and get feedback.
Ride-Sharing Service
Design a ride-sharing service like Uber or Lyft. Functional Requirements: - Riders can request rides by specifying pickup and drop-off locations - Match riders with nearby available drivers - Real-time location tracking for both riders and drivers - Fare estimation before ride confirmation - Payment processing after ride completion - Rating system for riders and drivers Non-Functional Requirements: - Match rider to driver within 30 seconds - Real-time location updates every 3-5 seconds - Support for surge pricing during high demand - Handle millions of concurrent rides Scale: - 50M riders, 5M drivers - 15M rides per day - Need to match riders within a few-kilometer radius in real-time
Examples
How would you implement ride pooling (shared rides with multiple passengers)?
Approach hint
Think about spatial data structures that let you query 'find all points within X km of this location' efficiently.
Common mistake
Skipping assumptions, edge cases, or trade-offs can make an otherwise good answer feel incomplete.