Ride Sharing (Uber)
Difficulty: Hard
What It Tests
Real-time geo matching, driver tracking, dynamic pricing, trip management.
Topics Covered
- Proximity / Geo Search
- Real-time Updates
- Consistent Hashing
- Database Design: SQL vs NoSQL
- Message Queues & Async Processing
Hello Interview Breakdown
Read the full Hello Interview breakdown →
Video Walkthroughs
- System Design Interview: Design Uber (Ex-Meta Staff Engineer) →
- Uber System Design | Ola System Design Interview Question →
Approach Hints
- Drivers publish location updates every 4 seconds via WebSocket, store driver locations in Redis geospatial index (GEORADIUS)
- Use geohash to find nearby idle drivers
- Match rider request to closest driver with a distributed lock to prevent double-assignment
- Surge pricing computed via stream processing (supply/demand ratio per geohash cell)