PracHub
QuestionsPremiumLearningGuidesCheatsheetNEWCoaches
|Home/Software Engineering Fundamentals/Waymo

Design a Ride Scheduler

Last updated: Apr 27, 2026

Quick Overview

This question evaluates object-oriented design, event-driven scheduling and simulation, state management for ordered task execution, API design, and handling dynamic operations such as cancellations and time-skipping.

  • medium
  • Waymo
  • Software Engineering Fundamentals
  • Software Engineer

Design a Ride Scheduler

Company: Waymo

Role: Software Engineer

Category: Software Engineering Fundamentals

Difficulty: medium

Interview Round: Onsite

Design an object-oriented scheduler for a single autonomous vehicle. The vehicle starts at a known location at time 0. Ride requests arrive in input order, and the vehicle must serve accepted requests in that same order. Each request contains: - `request_id` - `request_time` - `pickup_location` - `dropoff_location` Assume a helper function `travel_time(a, b)` returns the travel time between two locations. Requirements: 1. Add a new ride request. 2. Simulate execution of the schedule and return the final completion time. 3. Support a `skip_to_next_event()` operation so the simulation can jump directly to the next arrival, pickup, or drop-off event instead of advancing one time unit at a time. 4. Support `cancel(request_id)` for any request whose pickup has not started yet. 5. Explain the core classes, state transitions, APIs, and how you would test edge cases. Discuss a clean design first; code is optional.

Quick Answer: This question evaluates object-oriented design, event-driven scheduling and simulation, state management for ordered task execution, API design, and handling dynamic operations such as cancellations and time-skipping.

Related Interview Questions

  • Build a React naval board - Waymo (medium)
Waymo logo
Waymo
Feb 6, 2026, 12:00 AM
Software Engineer
Onsite
Software Engineering Fundamentals
7
0
Loading...

Design an object-oriented scheduler for a single autonomous vehicle.

The vehicle starts at a known location at time 0. Ride requests arrive in input order, and the vehicle must serve accepted requests in that same order. Each request contains:

  • request_id
  • request_time
  • pickup_location
  • dropoff_location

Assume a helper function travel_time(a, b) returns the travel time between two locations.

Requirements:

  1. Add a new ride request.
  2. Simulate execution of the schedule and return the final completion time.
  3. Support a skip_to_next_event() operation so the simulation can jump directly to the next arrival, pickup, or drop-off event instead of advancing one time unit at a time.
  4. Support cancel(request_id) for any request whose pickup has not started yet.
  5. Explain the core classes, state transitions, APIs, and how you would test edge cases.

Discuss a clean design first; code is optional.

Solution

Show

Comments (0)

Sign in to leave a comment

Loading comments...

Browse More Questions

More Software Engineering Fundamentals•More Waymo•More Software Engineer•Waymo Software Engineer•Waymo Software Engineering Fundamentals•Software Engineer Software Engineering Fundamentals
PracHub

Master your tech interviews with 7,500+ real questions from top companies.

Product

  • Questions
  • Learning Tracks
  • Interview Guides
  • Resources
  • Premium
  • For Universities
  • Student Access

Browse

  • By Company
  • By Role
  • By Category
  • Topic Hubs
  • SQL Questions
  • Compare Platforms
  • Discord Community

Support

  • support@prachub.com
  • (916) 541-4762

Legal

  • Privacy Policy
  • Terms of Service
  • About Us

© 2026 PracHub. All rights reserved.