PracHub
QuestionsCoachesLearningGuidesInterview Prep
|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)
  • Optimize Tensor Runtime Kernels - Waymo (medium)
|Home/Software Engineering Fundamentals/Waymo

Design a Ride Scheduler

Waymo logo
Waymo
Feb 6, 2026, 12:00 AM
mediumSoftware EngineerOnsiteSoftware Engineering Fundamentals
19
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.

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

Write your answer

Your first approved answer each day earns 20 XP.

Sign in to write your answer.
PracHub

Master your tech interviews with 8,000+ 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
  • AI Coding 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.