Waymo Interview Experience – Recruiter Screen + 4 Rounds Software engineer fleet response

Recently went through the interview process for a Software Engineer role at Waymo. Sharing a short summary to help others preparing.

Interview Process
Recruiter Screen
Coding Round 1 java
JavaScript / UI Round
Hiring Manager Round
DSA Round
Recruiter Screen

The recruiter discussion was mainly around:

current role and backend experience
interest in Waymo
interview process overview

Round 1 – Coding

This was a progressive coding round.

The problem kept evolving:

Partition a bag of integers into groups of identical values
Then into groups of exactly 5 consecutive integers
Then into groups of 3 or more consecutive integers

What they seemed to care about:

correctness first
runtime / space complexity
adapting the solution as constraints changed

I got through the first two versions cleanly. The third version was harder and became more about explaining the approach and debugging live.

Round 2 – JavaScript / UI

This round was more frontend-oriented.

The problem was to build a generic tree viewer UI component for hierarchical data, like a file explorer.

Topics discussed:

recursive rendering
ul / li for semantic structure
expand / collapse behavior
stopPropagation
event delegation tradeoffs

this round evaluated not just implementation, but also:

debugging
reasoning about DOM/event handling
explaining tradeoffs clearly
Round 3 – Hiring Manager

This round was conversational and scenario-based.

Topics included:

why Waymo
production ownership / on-call
reliability and observability
cross-team collaboration
handling stakeholder misalignment
use of GenAI tools in day-to-day work

The most interesting part was a hypothetical scenario around:

investigating unexpected system behavior
identifying root cause with limited information
reasoning step by step

Round 4 – DSA / System Tracking

This round was about designing a tracker for car positions over time.

Core idea:

record positions for a car
return the most recent positions
then extend the design to keep only a fixed maximum history per car

choosing the right data structures
explaining tradeoffs (List vs Deque)
testing edge cases
runtime / space complexity

This one felt more straightforward than some of the earlier rounds.

rejected.

Comments (1)