System Design Cases 10 lessons 22 quiz questions
Design: Ride-Sharing Service (Uber/Lyft)
10-session plan covering geospatial indexing, matching, real-time tracking, and surge pricing.
What You Will Learn
- ✓ Requirements & Core Flow
- ✓ Geospatial Indexing
- ✓ Driver Location Pipeline
- ✓ Driver Matching Algorithm
- ✓ ETA Calculation
- ✓ Real-Time Tracking (WebSocket)
- ✓ Surge Pricing
- ✓ Data Model & Trip State Machine
- ✓ Edge Cases & Failure Handling
- ✓ Mock Interview
Overview
10-session plan covering geospatial indexing, matching, real-time tracking, and surge pricing.
Design: Ride-Sharing Service (Uber/Lyft): Requirements & Scope
Functional Requirements
Before designing anything, clarify what the system needs to do:
Core features — What are the must-have features?
User types — Who uses the system? End users, admins, API consumers?
Scale — How many users? What's the read/write ratio?
Non-Functional Requirements
Availability: 99.9% (8.7 hours downtime/year) or 99.99%?
Latency: < 100ms for reads? < 500ms for writes?
Consistency: Strong or eventual? CAP trade-off?
Durability: Can we lose data? How much?
Clarifying Questions to Ask
What's the expected DAU (Daily Active Users)?
What's the read-to-write ratio?
Do we need real-time updates?
What's our budget constraint?
What geography do we serve?
Interview Tip
"I always spend the first 5 minutes clarifying requirements. This shows structured thinking and prevents designing the wrong system. I explicitly separate functional from non-functional requirements."
Java Implementation
Python Implementation
Sample Quiz Questions
1. Why is Euclidean (straight-line) distance insufficient for ETA calculation in a ride-sharing app?
· Difficulty: easy/5
2. Why must neighboring geohash cells also be queried when searching for nearby drivers?
· Difficulty: medium/5
3. A driver's phone GPS has a 30-second outage. What happens to ongoing trip tracking?
· Difficulty: hard/5
+ 19 more questions available in the full app.
Related Topics
Master Design: Ride-Sharing Service (Uber/Lyft) for Your Next Interview
Get access to full lessons, adaptive quizzes, cheat sheets, code playground, and progress tracking — completely free.