The Other Seat
A hard Data Modeling interview practice problem on DataDriven. Write and execute real data modeling code with instant feedback.
- Domain
- Data Modeling
- Difficulty
- hard
- Seniority
- senior
Problem
We run a ride-hailing marketplace where the same person can sign up to drive and to ride, so the model has to capture both roles without splitting one human into two records. Design the entities for drivers, riders, vehicles, and the trips that connect them, knowing that every completed trip records the fare charged, the surge multiplier that was in effect, the specific vehicle used, and a separate rating in each direction. A driver may switch vehicles between trips, and each person's displayed rating is derived from the individual ratings captured on their trips, so the per-trip ratings stay the source of truth even if a current average is also cached on the profile for fast reads.
Practice This Problem
Solve this Data Modeling problem with real code execution. DataDriven runs your solution and checks it automatically.