Waymo

A recruiter call, a 45-minute coding screen, then a virtual onsite of about four rounds: two coding, system design and a behavioral or hiring-manager round, often with a data fluency round. An extra round before the decision is common.

62 questions

  • Autocomplete search bar with a hand-written debounceCodingBuild an autocomplete search bar: as the user types, show suggestions for the current text, fetched from a suggestion service. Calls must be debounced, so the service is called…
    Last asked Sep 2026
  • Count squares formed by vertical and horizontal segmentsCodingYou get a set of vertical and a set of horizontal line segments. Every point where a vertical and a horizontal segment cross or touch is an intersection. Count the squares whose…
    Last asked Sep 2026
  • Design a global caching service for small imagesSystem designDesign a global caching service for small images, backed by a single database that holds every image and is the source of truth. Cover the read path, the update path, the cache…
    Last asked Sep 2026
  • Design a matchmaking service for an online gameSystem designDesign a matchmaking service. It must let players join the queue and cancel, match two compatible players, notify both when a match is found, and deal with disconnects and…
    Last asked Sep 2026
  • Design an AI chatbot appAI systemBuild a chatbot app on top of a hosted LLM API: conversations, streamed answers, history, and per-user usage limits.
    Last asked Sep 2026
  • Filter an n-ary tree by substring and render it indentedCodingEach node of an n-ary tree has a string value and a list of children. 1. Given a search string, return the filtered tree: keep every node whose value contains the substring, plus…
    Last asked Sep 2026
  • Insert plus, times and parentheses to reach a targetCodingYou are given an equation whose left side is a sequence of non-negative integers with no operators between them, and whose right side is a target. For example: 2 3 4 = 20. Insert…
    Last asked Sep 2026
  • Is a number line fully covered after each landing point?CodingPoints land one at a time on the segment 0, 50. Each point covers the interval of length 1 centred on it (0.5 to each side), and covered parts stay covered. After each landing…
    Last asked Sep 2026
  • Link object tracks across two perception systemsCodingTwo perception systems, A and B, track the same objects around a vehicle independently, each with its own IDs, and each emits observations of its tracks over time. Implement an…
    Last asked Sep 2026
  • Project deep dive: present a project you ledBehavioralPresent a project you led in about 20 minutes: context, your role, the architecture, three hard trade-offs, metrics, cost and return, and what you would change. Then take 25…
    Last asked Sep 2026
  • Character at an index of a run-length encoded stringCodingA string is stored run-length encoded, like "B1A2E3C1" for BAAEEEC. Return the character at a given index without decoding the string. Follow-up: many queries; precompute prefix…
    Last asked Sep 2026
  • Copy a rectangle within a 2D array in placeCodingGiven a 2D array, a rectangular block (top-left corner, height, width) and a destination for its top-left corner, copy the block to the destination with O(1) extra memory. The…
    Last asked Sep 2026
  • Custom sort stringCodingGiven an order string of distinct letters and a string s, rearrange s so its letters follow the order given; letters missing from order may go anywhere. Count letters and emit…
    Last asked Sep 2026
  • Deduplicate a 256 GB file with 128 MB of memoryCodingA 256 GB file holds records, some duplicated. The machine has 128 MB of memory. Produce output that holds every distinct record exactly once. Explain the approach (for example…
    Last asked Sep 2026
  • Design an S3-like object storage systemSystem designStore trillions of objects of any size with eleven nines of durability, and serve reads and writes over an HTTP API at high throughput.
    Last asked Sep 2026
  • Drive to an unseen destination without going in circlesCodingA car must reach a destination on a map it cannot see in advance. Each time it arrives at a place, it learns which directions it can continue in from there. Write the search that…
    Last asked Sep 2026
  • LRU cacheCodingBuild a key-value cache with a fixed capacity that evicts the least recently used entry when it is full. get(key) returns the value or a miss, put(key, value) inserts or updates…
    Last asked Sep 2026
  • N-th number whose digits are all 3, 5 or 6CodingA good number is a positive integer whose decimal digits are all 3, 5 or 6: 3, 5, 6, 33, 35, 36, 53, ... Given n, return the n-th good number. Notice the link to counting in base…
    Last asked Sep 2026
  • Parse a raw CSV string and handle corrupted rowsCodingAnother team receives data as a raw CSV payload in one string. Write code that turns it into a data structure other teams can consume. Some rows are corrupted (wrong number of…
    Last asked Sep 2026
  • Predict the winner of a pick-from-either-end gameCodingTwo players take turns removing a number from either end of an array and adding it to their score; player 1 moves first and both play optimally. Return whether player 1 can win (a…
    Last asked Sep 2026
  • Return every word that starts with a prefixCodingBuild a structure over a word list, once, that answers many prefix queries: for a prefix, return every word in the list that starts with it, without rescanning the whole list. A…
    Last asked Sep 2026
  • Sort a transformed arrayCodingGiven a sorted array and the coefficients a, b, c of f(x) = ax^2 + bx + c, apply f to every element and return the results in sorted order in O(n). Use two pointers from both…
    Last asked Sep 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
  • Handle competing work prioritiesBehavioralTell me about a time several important pieces of work competed for your time. A good answer shows how you judged what mattered most, who you talked to, what you dropped or delayed…
    Last asked Aug 2026
  • Shortest distance from all buildingsCodingA grid has empty land, buildings and obstacles. Find the empty cell whose total walking distance to every building is smallest (moving up, down, left or right), or return -1 if no…
    Last asked Aug 2026
  • Design a shared-ride matching serviceSystem designDesign the service that matches riders into shared rides and runs those trips: taking requests, deciding which riders share a vehicle, planning pickups and drop-offs along the…
    Last asked Aug 2026
  • Format bytes as a hex and ASCII dumpCodingWrite a function that prints a byte buffer as a hex dump, like xxd or hexdump -C: each line shows the offset, a fixed number of bytes in hex, and the same bytes as ASCII with…
    Last asked Aug 2026
  • Design a fleet system that collects mapping dataSystem designDesign the system behind a fleet of sensor-equipped vehicles whose job is to collect data for building and refreshing maps. Cover how mapping needs (new areas, stale areas) become…
    Last asked Jun 2026
  • Find dictionary words that stretch into a given stringCodingA word can produce a string by repeating some of its letters in place: help can produce heellp. Given the string and a dictionary, return every dictionary word that could produce…
    Last asked Jun 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
  • Debug an Angular UI from user reportsCodingYou get an Angular application and a handful of user bug reports. Reproduce each problem, find the cause in the code and fix it, explaining how you narrowed it down.
    Last asked May 2026
  • Run promise tasks with bounded concurrencyCodingGiven a list of async tasks (functions returning promises) and a limit k, run them with at most k in flight at once, start the next as soon as one finishes, and resolve with all…
    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
  • Design an elevator control systemOO designModel a bank of elevators: hall and car requests, a dispatching strategy, direction and door states, and capacity limits.
    Last asked Apr 2026
  • Largest axis-aligned rectangle from pointsCodingYou are given a list of distinct points on a 2D integer grid. Each point is a pair x, y. Return the largest area of a rectangle whose sides are parallel to the x and y axes and…
    Last asked Apr 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
  • 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
  • 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
  • Design a drop-off spot selector for a robotaxiML designDesign an ML system that picks where an autonomous ride-hail vehicle should drop off its passenger near the destination. Cover the candidate spots, the signals and labels you…
    Last asked Mar 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…
    Last asked Feb 2026
  • Design an online experimentML designDesign an online experiment (A/B test) for a product or model change. Cover the hypothesis and metrics, randomization unit, sample size and duration, guardrail metrics, how you…
    Last asked Feb 2026
  • Jump gameCodingEach element of an array is the maximum jump length from that position. Starting at index 0, decide whether you can reach the last index. Solve it greedily in O(n) by tracking the…
    Last asked Feb 2026
  • Move instructions for a robot that cannot see the mazeCodingA robot is in a 2D maze but cannot see it. Produce the sequence of move instructions that gets it to the goal, under the rules the interviewer gives for what happens when a move…
    Last asked Jan 2026
  • 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…
    Last asked Jan 2026
  • Garage occupancy at every timestampCodingA parking garage records occupancy over n discrete timestamps, numbered 0 to n - 1. You get a list of parking tickets. Ticket entry, exit means one car arrived at timestamp entry…
  • Minimum workers with first-free job assignmentCodingJobs arrive as (jobid, start, end) with half-open times start, end). Workers are numbered 0, 1, 2, ... Part 1. Process jobs by start time (ties by job id). Each job goes to the…
  • Score a tile board by connected terrain regionsCodingA tile-laying board game ends when every player has filled a rectangular board. You must compute a player's final score. You are given board, a 2D list of strings with R rows and…