waymo interview experience

waymo logo
waymo
November 10, 202538 reads

Summary

I interviewed at Waymo and went through two technical rounds. The first round involved a coding problem on task scheduling for maximum profit using a greedy approach, and the second round focused on behavioral questions and a coding problem on reading a data stream with an optimization discussion.

Full Experience

My interview experience at Waymo consisted of two rounds.

Round 1

The first round was with an American woman who had a very calm demeanor. We started with some pleasantries, and then moved on to discussing my project background, which made the overall atmosphere quite relaxed.

Coding Question:

I was given a problem: Given several tasks, each with an id, deadline, and reward, schedule the tasks within the time limits to maximize total profit, and return the execution order.

Solution Approach:

My approach focused on maximizing profit within limited time, which I explained could be solved using a greedy strategy:

  1. Sort all tasks in descending order of reward.
  2. For each task, find the first available time slot from its deadline backward.
  3. If a slot is available, schedule it; otherwise, skip it.

The logic seemed clear and simple to implement. After explaining the idea, walking through an example was enough to satisfy the interviewer.

Round 2

This round was conducted by a senior engineer. The first half focused on standard behavioral questions (BQ).

Behavioral Questions:

  • How do you handle disagreements within a team?
  • How do you influence progress without direct authority?
  • What would you do if a project gets stuck?

I emphasized communication and driving progress in my answers, aligning with the company's values of collaboration and influence.

Coding Question:

I was asked to write a function that reads a data stream and returns output based on the sign of parameter n: n > 0 → Output the first n elements. n < 0 → Output the last |n| elements.

Optimization Discussion:

We also discussed optimization: if the stream is very large and n is negative, how can we save memory? My suggestion was to use a circular buffer of fixed length |n| to store the most recent chunk of data.

More Waymo experience can be referred to this site.

Interview Questions (5)

Q1
Task Scheduling for Maximum Profit
Data Structures & Algorithms

Given several tasks, each with an id, deadline, and reward, schedule the tasks within the time limits to maximize total profit, and return the execution order.

Q2
Handling Team Disagreements
Behavioral

How do you handle disagreements within a team?

Q3
Influencing Progress Without Authority
Behavioral

How do you influence progress without direct authority?

Q4
What to do if a Project Gets Stuck
Behavioral

What would you do if a project gets stuck?

Q5
Data Stream Reader (First N / Last N)
Data Structures & Algorithms

Write a function that reads a data stream and returns output based on the sign of parameter n:

  • n > 0 → Output the first n elements.
  • n < 0 → Output the last |n| elements.
Discussion (0)

Share your thoughts and ask questions

Join the Discussion

Sign in with Google to share your thoughts and ask questions

No comments yet

Be the first to share your thoughts and start the discussion!