
Waymo Software Engineer candidates report coding screens and multi-round loops that may mix graph problems, system design, project discussion, behavioral questions, and occasionally ML or autonomy context.
$209K
Avg. Base Comp
$317K
Avg. Total Comp
3-5 rounds
Typical Rounds
2-4 weeks
Process Length
Waymo Software Engineer interviews reported here often begin with a recruiter or technical screen, then move into coding and, for some candidates, a larger virtual loop. Expect to write and explain working code, not just name an algorithm. Candidates describe graph traversal, BFS/DFS, C++ fundamentals, greedy algorithms, and data-wrangling tasks; several also mention edge cases, detailed solutions, or correct, compilable code.
The newest report is especially useful for engineers who expect a conventional coding prompt. Its first phase combined design and implementation: the candidate was asked to build a VehicleTracker that ingests concurrent GPS updates for trucks, drones, and cars while returning each vehicle's exact current location safely. Practice choosing a data model and synchronization approach, then articulate how concurrent writers and readers avoid races and stale reads.
Design preparation may matter too. Candidates reported system design interviews, including an ML system design prompt about deciding whether a car should stop at a pedestrian crosswalk. Prepare project stories with clear ownership, decisions, and constraints; behavioral conversations may probe the same material. Some reports also include ML or autonomous-driving-related discussion, but that is not universal. The exact mix varies substantially across candidate reports.
Synthesized from 12 candidate reports by our editorial team.
Had an interview recently?
Share your experience. Unlock the full guide.
Real interview reports from people who went through the Waymo process.
The most noticeable part of the Waymo interview was that the coding work felt closer to a real application scenario than a standard LeetCode prompt. I was expected to drive the discussion myself, especially with interviewers who were fairly quiet, rather than waiting for hints or a highly interactive back-and-forth. A key expectation was explaining the tradeoffs in my solution: I needed to state the pros and cons, not just arrive at working code.
The technical questions were described as medium-to-hard in difficulty, with emphasis on practical problem solving. Grid traversal and simulation-style problems seemed particularly relevant, such as navigating a car through a 2D grid with circular obstacles or tracing a ball through a grid with diagonal barriers. Other examples included implementing a basic calculator and maintaining segment-based average speeds while supporting add, remove, and query operations. These questions test BFS/DFS, interval handling, grid traversal, and the ability to structure an implementation cleanly under interview conditions.
I also found it important to know the standard function names in the language I was using, since that was an expected baseline. Overall, I would go in prepared to communicate proactively, explain why one approach is preferable to another, and treat the coding round as an applied engineering problem rather than relying only on memorized LeetCode patterns. I did not receive an offer.
Prep tip from this candidate
Practice grid traversal and simulation problems such as obstacle navigation and ball-drop paths, plus stateful interval-style operations like add/remove/query. During every solution, explicitly discuss tradeoffs and proactively narrate your reasoning, since quiet interviewers may not prompt you.
Share your own interview experience to unlock all reports, or subscribe for full access.
Sourced from candidate reports and verified by our team.
Topics based on recent interview experiences.
Featured question at Waymo
Write a function to return the value of the nearest node that is a parent to both nodes.
| Question | |
|---|---|
| Pathfinder in Maze | |
| Shortest Path Algorithms | |
| Location Frequency | |
| Azure Kubernetes Infrastructure | |
| Statistically Significant Test | |
| 2nd Highest Salary | |
| Empty Neighborhoods | |
| Top Three Salaries | |
| Merge Sorted Lists | |
| String Shift | |
| Top 3 Users | |
| Raining in Seattle | |
| First Touch Attribution | |
| Job Recommendation | |
| Minimum Change | |
| Find the First Non-Repeating Character in a String | |
| Daily Retention Summary | |
| Delivery Estimate Model | |
| Find Bigrams | |
| Find the Index with Equal Left and Right Sum | |
| Detecting ECG Tachycardia Runs | |
| Get Top N Frequent Words | |
| Last Transaction | |
| Friendship Timeline | |
| The Brackets Problem | |
| Size of Joins | |
| Level Of Rain Water In 2D Terrain | |
| P-value to a Layman | |
| N-gram Dictionary |
Synthesized from candidate reports. Individual experiences may vary.
Candidates report an initial recruiter screen or a conversation covering their background, projects, and role interests. Prepare a concise account of recent work, the technologies you used, and the decisions you personally owned.
Several candidates report a coding screen, including graph traversal, dynamic programming, C++ fundamentals, or an ambiguous Python data task. One candidate reported a 45-minute screen; timing and exact format may vary.
One candidate reported a first-phase problem to implement a VehicleTracker receiving concurrent GPS updates and serving exact current locations. Practice explaining data ownership, safe concurrent access, and the behavior of reads while updates arrive.
Candidates report multi-round virtual loops with coding plus, in some cases, system design, low-level design, manager, or behavioral conversations. Some coding prompts used autonomous-driving scenarios or asked for follow-up changes and edge-case handling.
Candidates report being asked to discuss design choices, scalability, prior projects, and individual contributions. Some also encountered ML or autonomy-related discussion, so review relevant experience without assuming it will appear in every loop.