Coding: a classic algorithm problem or an original, under-specified problem framed around self-driving
They grade
Clarifying the problem, your own test cases, iterating from brute force
Questions Waymo asks in this round 14
Shortest travel times from a start node to target nodesCodingA weighted graph models a road map. Given a start node and one or more target nodes, return the shortest travel time (an ETA) from the start to each target. Use Dijkstra's…
Last asked Apr 2026
Is a vehicle ready to go after its maintenance events?CodingA vehicle can leave only when all its maintenance work is closed. Its log is a list of events: each opens a maintenance task of some type or ends the open task of that type…
Last asked Sep 2026
Validate a parent-child forestCodingGiven a list of parent-child pairs, decide whether they form a valid forest: no node has two parents, there are no cycles, and every tree has one root. Return the reason when it…
Last asked May 2026
Best meeting point on a gridCodingA grid marks several people's (or points') positions. Find the cell that minimizes the total distance to all of them. Start with a brute force (for example a BFS from each point)…
Last asked May 2026
Decode stringCodingA string is encoded with the rule ktext, meaning text repeated k times; k is a positive integer that may have several digits, encoded parts can be nested, and plain letters can…
Last asked May 2026
Island areas and water boundariesCodingYou are given an m x n grid of characters. Each cell is '1' (land) or '0' (water). Land cells that share a side (up, down, left or right) belong to the same island. Diagonal cells…
Last asked Apr 2026
Maximum gapCodingGiven an unsorted array, return the largest difference between two neighbours in its sorted order, in linear time and space. The trick is bucket sort (pigeonhole): the maximum gap…
Last asked Apr 2026
React Battleship boardCodingIn React, build the board for the game Battleship (just the board, no opponent logic). Each cell can be clicked to change its state (empty, hit, miss), and the board shows which…
Last asked Apr 2026
Serialize an expression tree with the fewest parenthesesCodingGiven a binary expression tree of numbers and operators, print it as an infix expression using only the parentheses that precedence and associativity require (for example, keep…
Last asked Feb 2026
Minimum knight movesCodingOn a chess board (possibly infinite), return the fewest moves a knight needs to get from one square to another. Use BFS, and consider symmetry or bidirectional BFS to make it…
Sliding-window request rate limiterCodingImplement a rate limiter that accepts at most limit requests in any window of ttl milliseconds. - allow(timestamp) is called once per incoming request. timestamp is in…