Google interview questions and answers (SWE, PM, etc)

Google interview questions

No matter what role you're applying for, Google interview questions are tough. To get the job, your answers will need to be outstanding.

If that sounds daunting, don't worry, we're here to help. We've helped thousands of candidates get jobs at Google and we know exactly what sort of questions you can expect in your interview.

Below, we'll go through the most common Google interview questions and show how you can best answer each one.

Here’s an overview.

Let's go!

Click here to practice mock interviews with ex-Google interview coaches

6 most-asked Google interview questions and answers (behavioral)

Whichever role you’re applying for, you can expect to face lots of behavioral questions as part of your Google interview process. Google uses behavioral questions to assess your leadership ability, your ability to work in cross-functional teams, your motivations, and your general “Googleyness”.

Let’s zoom in on six of the questions you’re most likely to get at Google and look at how you should approach them, with a sample answer for each.

1. Why do you want to work at Google?

You can expect to be asked this question at least once in your Google interviews. Interviewers want to know that you’ve got the right motivations for joining the company, and you’re not just in it for the prestige or the money.

Aim to give two or three compelling and specific reasons. Do your research so that in your answer you can talk about specific things that attract you to the company. It’s great if you can show that you’ve spoken to Googlers about why they enjoy working there, so try and do some networking if possible.

Things to AVOID:

  • offering vague, generalized praise for Google
  • spending too long answering (aim for 1 minute)
  • giving an answer that lacks structure

Let’s see what a good answer looks like:

Example answer:

“I want to work at Google for three reasons.

First, I'm excited to join Google because of its deep technical culture. I loved my PhD in Computer Science and for me, programming is a hobby, not just a job. I know that by joining the company I'll be working with colleagues who are as excited as I am about advanced technology.

Second, I'm attracted to Google because of its spirit of innovation, exemplified by the famous 20% policy—whether or not that policy is still a hard and fast rule at the company today. Being creative and pursuing novel opportunities is what inspired me to organize a coders club and internal innovation events in my previous position, which ended up reducing turnover in my team by 15%. It sounds like Google is a place that encourages special projects like these.

Finally, I studied with Anika Kumar and Aaron Fox, who were part of the same PhD program and now work at Google. Both of them are enjoying their time here and encouraged me to apply to join the team.”

For a more detailed look at how to ace this crucial question, check out our “How to answer "Why Google?" interview question” guide (written for PMs but relevant to all roles).

2. What is your favorite Google product?

Googlers are passionate about their products and interviewers want to see that you share this passion. Of course, they’ll also want to see that a) you are able to understand what makes a good product and b) your communication skills are good enough to explain your reasoning.

It doesn’t really matter which product you pick, the key is giving some good reasons as to why, and structuring your argument properly.

Engineering candidates often get asked this as a kind of warm-up question in a technical interview (PMs are also asked this but will need to give a more in-depth answer).

Let’s see an example.

Example answer

“As a software engineer, one of my favorite Google products is Google Kubernetes Engine (GKE). I started using it a year ago in my current role, and I absolutely love using it.

It allows me to have a really high level of control and I’ve been learning how to take advantage of the very advanced configuration options. I particularly like the deployment options it offers such as the rolling updates, blue-green deployments, canary releases.

I’ve also found that the integration with Cloud Storage, Cloud SQL, and Cloud Pub/Sub is really smooth.

So yes, I love using GKE and I think it’s fantastic that Google provides this kind of infrastructure because it makes it much more accessible for small businesses to launch apps. I’d love to work on making something like this myself.”

3. Tell me about a time you failed at work

Even Google execs make mistakes. In fact, they make lots of mistakes, as you can see from this graveyard of discontinued Googe products! The key to acing this question is to show that you’re someone who owns their mistakes and sees failure as a learning opportunity. So use a real failure, explain what went wrong, and what you learned.

Again, we recommend using the SPSIL framework. For this question, the Lessons part is the most important, and has the benefit of enabling you to conclude on a positive note.

Let’s see an example.

Example answer:

“About 6 months ago I was working on a project where I had to implement a new online booking feature for a client. I had a tight deadline and was working under pressure to get it done. I was in such a hurry that I didn’t take as much time as I normally do to check my code for bugs. 

Unfortunately, it did have a bug and it caused a lot of follow-on problems on the client’s website.

I tried to solve it but I quickly started to feel a bit out of my depth, so I decided to ask for help from my manager as well as team member who had a lot more experience than me. We worked together to identify the root cause of the issue, and we came up with a plan of action.

We had a very frank meeting with the client where we laid out the extent of the problem and the steps we were going to take to fix it.

We had to work some long hours to get everything fixed, but in the end, we were successful. We missed the deadline, but not by too much, and our relationship with the client actually improved in the long-term as they saw how committed we were to fixing the problem, and that we had been transparent with them.

I learned three things through this experience. One, don’t skip on testing code properly or you’ll pay for it later on. Two, it’s important to always be transparent and honest, in this case both with my manager and then with the client. And three, I learned that when you have to tell someone that something has gone wrong, it’s a lot better if you can also explain what you’re going to do to solve the problem.”

Get more tips on answering this common question in our guide: 5 ways to answer ‘Tell me about a time you failed’ interview question

4. Tell me about yourself

Google interviewers frequently use questions like this one to break the ice and to get to know a little bit about you. These questions set the tone for the interview as a whole. 

The interviewer will likely follow up on one or more of the details you share in your answer, so be prepared to dive deeper into certain points of your past experience. 

Google interviewers love entrepreneurship and “scrappiness”, so if you have any examples of side projects, things you’ve set up yourself, include them briefly in your answer. That said, this question isn’t about your private life. Everything you say should be designed to convey the idea that you’re very well suited to the role in question.

Example answer:

“I’ve just left my role as an engineering manager at Thanus, an online gaming service, where I hired and developed my own team of 6 engineers from scratch. During my time there, I’ve revamped the product backlog by classifying work items into Epics, and I built the architecture to overhaul our risk and fraud services.

Before Thanus, I was a lead software engineer at Sweep, an online travel booking company. That’s where I got to try my hand at project planning with management teams for the first time, and where I built out the new service-oriented-architecture for our lodging services. 

And in my free time, I love fixing things and I spend way too much time in the basement fiddling around with robotics. So that’s me in a nutshell. Would you like me to go into more detail on any of that?”

5. Tell me about a time you led a team through a difficult situation

Google wants to employ people who are ready to take on difficult challenges, and ready to show leadership even if their position doesn’t explicitly demand it.

If you don’t have experience in leadership positions, consider using examples from outside the workplace. The requirement here is to show that you’re resilient, capable of owning a problem, and able to align people around you towards a common goal.

Example answer:

“I spent three years working at a small start up, and after an initial period of rapid growth, revenue dropped off and we started losing money.

I was leading a team of five, and understandably people were extremely worried about their jobs. I also had pressure from the CEO to implement cost-cutting and revenue-generating measures that would help us get back to break-even as soon as possible.

As a team leader, my primary focus was on keeping the team motivated and productive, even in the face of uncertainty. My first action was to schedule a meeting to specifically discuss the situation and provide an honest and transparent overview of what was happening.

I acknowledged the challenges that the company was facing, but I also emphasized that our team was essential to the company's success and that our work was valuable to the company's mission. I was already holding bi-weekly 1-1s with each team member but I made it clear that if they had any pressing concerns outside that time they could always come to me.

We also came up with a list of team actions we could take that would reduce costs and over the next 6 months I arranged bi-weekly updates with the CEO to show how we were progressing. 

Through these actions my team played a major part in getting the company back on track, and I made sure this was visible to the CEO. There were no lay-offs in our area and morale and productivity stayed strong.

It was a difficult experience to go through but I learned that when you’re managing a team, constant communication is vital in a crisis. People always have doubts and hypothetical scenarios you hadn't even thought of, and it’s really useful to provide a space where you can listen to them and give them a more accurate picture of what’s going on, even if that picture is incomplete.”

6. Tell me about a time you dealt with conflict

Google interviewers often ask questions about conflict, especially in management position interviews. They want to know that you’d be able to effectively manage the conflicts that inevitably arise when people are solving complex problems and working under pressure.

Example answer:

“In my past job, when I first joined I was very eager and frequently jumped in with ideas and volunteered to lend a hand in many tasks.

I began to notice in our team meetings that one of my coworkers began cutting me off when I presented ideas. Later, when I volunteered to help with a task that concerned his functional area, he neglected to give me the information and resources I needed.

To solve this, my first step was to examine my own behavior to understand how it may have sparked the conflict. I determined that my eagerness to contribute to the discussions and project may have overstepped some bounds.

My next step was to meet with my coworker. I politely expressed how his behavior was preventing me from speaking up in meetings and helping with important tasks, then asked if I had overstepped any boundaries. He agreed, explaining that I had taken up too much time in the meetings, giving him and others less of an opportunity to present their teams’ work.

First, I apologized for my initial behavior, and promised I would be more attentive to the time I spent speaking in meetings and would only volunteer for tasks when I was confident I was well equipped to contribute. In exchange, I requested that he approach me in case further issues arise, instead of closing me off from discussions or projects. He agreed.

We each adjusted our behavior and avoided further conflict while working together.

This experience taught me to be much more receptive to coworkers’ feedback and work to keep my contributions quick and to the point in meetings. Also, it taught me to address issues as soon as they arise, as we were able to move on from that conflict very quickly instead of allowing it to grow into a larger problem.”

Learn more about how to ace this question by using our guide: 5 ways to answer "Tell me about a time you had a conflict"

Now we’ve covered the most common behavioral questions, let’s zoom in to more role-specific questions you can expect to face at Google. 

7. Google software engineer questions (and answers)

Google software engineers solve some of the company’s most difficult problems through code, while working closely with cross-functional teams.

As well as the common behavioral questions we’ve laid out above, as a software engineer you can expect to face a range of coding questions and some tough system design problems.

Let’s take a look at some typical examples we’ve found from our analysis of Google SWE interview reports on Glassdoor.

Can you confidently answer the nine questions below? If so, you’re well on the way to acing your Google interview!

7.1 “How would you design X?”

Google system design interviews are typically given to software engineer and TPM candidates at levels L5 and up. Each system design interview lasts 45 minutes and is focused on one complex problem such as “Design Google Maps.”

You’ll want to approach the problem in an extremely structured way and talk through your thinking with the interviewer as you go.

Let’s take a look at a brief answer outline:

Example answer outline: Design Google Maps

Ask clarifying questions

  • What are the functional and nonfunctional requirements? (e.g. route planning, time and distance estimations, identifying roads, availability, accuracy, etc.)
  • How many monthly average users are there? How frequently do they access the app?

Design high-level

  • How will your system designate the fastest route from point A to point B? (Dijkstra’s algorithm, Bellman Ford Algorithm, Floyd-Warshall Algorithm, etc.) 
  • How will you store the above information?
  • How will you optimize the system to only take into account relevant roads instead of all roads in the world or country?

Drill down on your design

  • How will you map out the architecture, and what components will you use to handle requests? Which components will you build yourself versus using specific tech (Cassandra, Hadoop, WebSocket managers, etc).
  • Can you dive deeper on a specific aspect? (traffic predictions, estimated time of arrival, etc.)

Bring it all together

How can you improve what you’ve built? Are there bottlenecks you could resolve or aspects you could optimize?

Check out our guide on Google system design interviews for more help on acing these questions.

7.2 "Given a binary tree, find the maximum path sum. The path may start and end at any node in the tree."

Google software engineer candidates can expect questions on common data structures and algorithms, including graphs, arrays, strings, dynamic programming, recursion, and more.

Talk through your thinking and be ready for your interviewer to interrupt and pick holes in your answer.

Example answer:

“To find the maximum path sum in a binary tree, we can use a recursive algorithm that traverses the tree and keeps track of the maximum path sum found so far. At each node, we can calculate the maximum path sum that includes the current node by adding the value of the node to the maximum of the maximum path sum from the left subtree and the maximum path sum from the right subtree. We can then update the global maximum path sum if the maximum path sum that includes the current node is greater than the current global maximum.

Here's the Python code for the algorithm:

The algorithm uses a nested function dfs to perform a depth-first search traversal of the binary tree. At each node, dfs returns the maximum path sum that includes the current node and at most one of its subtrees. The max function with the arguments 0 and the recursive call to dfs ensures that negative sums from a subtree are ignored.

The curr_path_sum variable calculates the maximum path sum that includes the current node, its left subtree, and its right subtree. We update self.max_path_sum if curr_path_sum is greater than the current maximum path sum. Finally, dfs returns the maximum path sum that includes the current node and at most one of its subtrees to the parent caller.

To call the function, we can create a TreeNode object to represent the root of the binary tree and pass it to the maxPathSum method of a Solution object:

In this example, the maximum path sum in the binary tree with root node 1, left child 2, and right child 3 is 6, which corresponds to the path 2 -> 1 -> 3.”

 

You'll need to work through lots of coding interview examples before your Google interview. We recommend using our coding interview prep guide as a jumping off point.

7.3 How do you ensure quality and catch errors?

We’ve seen this question reported numerous times on Glassdoor. Google products come with high quality expectations and interviewers will want to know how you’ll ensure that your code is effective and bug free.

Example answer:

“In my current role, there are various ways in which I ensure quality and catch any errors I might have made. Firstly, I review my code myself. Then I conduct a code review with another engineer on the team to identify potential bugs, improve code quality, and ensure compliance with coding standards.  Sometimes we use automated tests, like unit tests and integration tests.

I’m always trying to improve the quality of my work, and one thing that’s really useful for this is user feedback. Not only for catching bugs but for better understanding how the customers are using our product and how we can make things work better for them.”

7.4 “How would you design a database for a tiny URL implementation?

This is another common system design question at Google. Again, the key to a strong answer is giving a well-structured answer. Let’s take a look at an example.

“To clarify, I’m going to design the data schema, database architecture, and choose a database technology to use for the tiny URL implementation, assuming a simple in memory or local store file would not be suitable for this system.

Given a network with about 300 million daily active users, let’s say 20% (60 million) are frequent original posters who post roughly 1 URL a day, meaning we’d need to create about 60 million URLs a day, or 695 URLs a second. A single server won’t meet this requirement, so let’s go for a distributed system, with a caching layer for the links that get the most traffic.

Here’s an idea of what the system could look like:

Tiny URL system design

A potential problem with this is that the whole system relies on the central ID generator being up all the time, which is a risk if it fails, and it may slow down the system. We could fix this by making a few more ID generators, which the API servers could go ‘round robin’ through to find a new number.”

Remember that the answer above is the shortened version of a realistic sample answer. For a deeper dive into how a hypothetical candidate would design the system above, as well as examples of follow-up questions by the interviewer, consult our guide on how to answer system design interview questions.

7.5 Given a row's x cols binary matrix filled with 0's and 1's, find the largest rectangle containing only 1's and return its area.

This problem can be solved using the concept of the largest rectangle in a histogram. The idea is to treat each row of the matrix as a histogram, where each bar in the histogram represents the number of consecutive 1's in that row up to that point. Then we can find the largest rectangle in each histogram using the same algorithm as for the largest rectangle in a histogram problem.

Here's the algorithm to solve the problem:

  1. Initialize a variable max_area to 0.
  2. Convert the binary matrix to a histogram by counting the number of consecutive 1's in each row up to that point. This can be done using dynamic programming, by defining a new matrix height where height[i][j] represents the number of consecutive 1's in the ith row up to the jth column.
  3. For each row in the matrix, find the largest rectangle in the corresponding histogram using the algorithm for the largest rectangle in a histogram problem. Update max_area if the area of the largest rectangle is greater than max_area.
  4. Return max_area.

Here's the implementation of the above algorithm in Python:

In this implementation, we use dynamic programming to calculate the height matrix, which stores the number of consecutive 1's in each row up to each column. We then iterate over each row of the matrix and use a stack to find the largest rectangle in the corresponding histogram. We update max_area if the area of the largest rectangle is greater than the current max_area. Finally, we return max_area.

To test the function, you can create a binary matrix and call the function with it:

7.6 "How would you approach a complex programming problem where you are not sure of the right solution?"

This is a fairly typical behavioral question for SWEs to face at Google. You’ll want to demonstrate that you’re not fazed by working outside your comfort zone and that you have a method for approaching complex problems.

Example answer:

“I find that when faced with a really hard problem, approaching it in a logical manner always helps. So first I would take the time to really make sure I understand the problem statement and any constraints or requirements that come with it.

Next, I would try to break down the problem into smaller, more manageable subproblems. This would help me identify any patterns or similarities between the subproblems, and I can then work on each subproblem individually before combining them into a solution for the larger problem.

Once I have a good understanding of the problem and its subproblems, I would explore different approaches to solving the problem. I would look for any existing algorithms or data structures that might be relevant and try to apply them. I would also brainstorm my own ideas and solutions, even if they seem unconventional or unorthodox.

After exploring different approaches, I would evaluate each one to determine its feasibility, efficiency, and correctness.Once I have identified a suitable approach, I would implement it and test it thoroughly. I would start with small inputs and gradually increase the size of the input to make sure that the solution works for all cases. I would also consider edge cases and any potential failure points to ensure that the solution is robust and reliable.

Finally, I would iterate and improve the solution. I would look for ways to optimize the solution, improve its performance, or simplify its implementation. I would also consider feedback from other engineers or users to identify any areas for improvement.”

7.7 Given the root node of a binary search tree, return the sum of values of all nodes with value between L and R (inclusive). The binary search tree is guaranteed to have unique values

This google coding interview question assesses whether you can use relevant algorithms to solve problems.

  1. Initialize a variable sum to 0.
  2. Traverse the binary search tree in-order (left, root, right), and at each node: a. If the node value is less than L, recursively traverse the right subtree. b. If the node value is greater than R, recursively traverse the left subtree. c. If the node value is between L and R, add it to the sum and recursively traverse both the left and right subtrees.
  3. Return the final sum.

Here's the algorithm in Python:

In this implementation, we use a helper function dfs to traverse the tree in-order and recursively update the sum variable. We use the nonlocal keyword to indicate that the sum variable is a reference to the outer scope's variable, and not a new local variable. We also define a TreeNode class to represent the nodes of the binary search tree.

To test the function, you can create a binary search tree and call the function with the root node and range limits:

7.8 How would you design Google Search?

Google interviewers often like to ask you to design a Google product in your system design interview.

Check out this Google Search design from a Senior SWE. Click here to download this diagram in full.

Design google search answer

7.9 Describe a challenging software project you have worked on in the past. How did you approach it?

This is a very typical question for an SWE at Google, often in the first-round of interviews.

Be ready with a strong example and use a framework to structure your answer. We always recommend the SPSIL framework.

Example answer:

Situation

"Sure. One of the most challenging projects I’ve faced was creating a web-based project management tool for a large organization. The tool needed to have multiple features including project creation, task assignment, progress tracking, resource allocation, and reporting.

Problem

We faced several obstacles during its development. The main problems we encountered were:

  • The tool needed to integrate with multiple systems, which required extensive work to ensure the smooth flow of data between the systems.
  • There were varying needs and priorities from different stakeholders, which led to some changes in requirements mid-project.
  • We encountered some performance issues during testing, which required us to optimize our queries and make other changes to improve the tool's performance.

Solution

To overcome these challenges, we adopted an agile methodology that allowed us to adjust to changing requirements and incorporate feedback from stakeholders. We also worked closely with the stakeholders to ensure that we were meeting their needs, and we leveraged automated testing and monitoring tools to detect and address issues early.

Impact:

Despite the challenges, we were able to successfully develop and deploy the project management tool. The tool was widely adopted by the organization and helped improve project management processes.

Lessons:

This project taught me several valuable lessons, including:

  • The importance of gathering requirements and working closely with stakeholders to ensure that their needs are met.
  • The benefits of adopting an agile methodology and using automated testing and monitoring tools to detect issues early.
  • The value of perseverance and adaptability in overcoming challenges during software development.
  • The need to prioritize performance optimization during development to prevent performance issues during testing and deployment"

To see more examples and a detailed explanation of the SPSIL framework, check out our guide on how to answer Google behavioral questions.

For lots more Google software engineer questions go to section 6.1 of this guide.

We also recommend reading our Google software engineer interview guide, which has all the information you need to prepare for your Google SWE interviews.

8. Google product manager questions (and answers)

Google PMs must take on a range of tasks, including designing product features, improving existing ones, and setting product vision, all while working with a diverse range of stakeholders.

For that reason, product manager interviews at Google involve questions across a wide range of areas: Design, Analysis, Strategy, Cross-collaboration and Execution.

Let's look at some typical questions and how you should approach them.

8.1 How would you improve X product?

Google product managers must be able to consider user experiences from the customers’ perspective and use that point of view to design and improve products.

To answer product improvement questions you’ll need to combine your understanding of the product space with technical and business considerations.

We recommend using the BUS framework to structure your answer. Let’s take a look at an example answer outline.

Example answer: How would you improve Google Chrome?

Business objectives

Start off by considering the different goals we might want to aim for:

  • User acquisition: do we want to try and bring Google Chrome to an even wider audience?
  • User frequency: do we want to focus on increasing the amount of time and frequency users spend on the platform?
  • User satisfaction: Improve how satisfied users are with the product?

Each objective requires us to select a different North star metric. Let’s imagine the interviewer agreed you should focus on increasing user satisfaction. You could suggest using NPS scores or Help Center ticket numbers, etc.

User problems

You’ll want to segment your user base. You could segment them into three segments according to how they use Chrome - Power / Medium / Light.

After segmenting users you can see that it makes sense to focus on power users, and you can drill down into their pain points:

  • High power usage, drains battery
  • Productivity problems - too many tabs open

Solutions

Choose a user problem to focus on and suggest solutions. Let’s say you focus on productivity, you could suggest the following solutions:

  • Smart tab management system that learns from your behavior
  • Universal search bar to more quickly find the tab you need
  • Meeting notifications with links that enable you to join meeting immediately

After you’ve given your solutions, there’s a good chance the interviewer will ask you to prioritize them. So be ready to use a prioritization framework and make a recommendation, being sure to link back to the business objective.

The outline above is a summary of a superb “Improve Google Chrome” answer given by an ex-Google PM. We recommend watching the video to see the full answer, complete with interviewer’s feedback. 

8.2 How would you design X?

Google interviewers use this question extremely frequently. They want to assess your customer empathy, creativity, and ability to use a structured approach to managing products.

Again, we recommend that you structure your approach to design questions by using the BUS framework. Check out the abbreviated sample answer below.

Sample answer: Design a computer keyboard

Business objective

First, clarify the question and confirm its scope:

  • What's the business objective and target user?
  • Are we designing a mouse to go with it?

Let's assume that the interviewer wants you to design a keyboard for casual gamers, and that the business objective is to maximize revenues.

User problems

Brainstorm typical problems casual gamers face when using standard computer keyboards:

  1. Keys are slow to respond, collect dust underneath over time, aren’t easy to replace
  2. Keys that are repetitively used wear out
  3. Keyboard is uncomfortable to use for long periods of time

(see more user problems in the full answer, here).

Most gamers' primary objective is probably to win at the game they play. As a result, it makes sense to prioritize solving problems which will help users improve their performance, like problem one.

Solutions

Here are some solutions which could help solve this problem:

  1. Build keys that don't need to be pressed as hard / deep to register input
  2. Build keys which register user input quicker using alternative technologies 
  3. Build keys that can easily be removed to clean the keyboard

You'll want to prioritize your solutions using a simple framework that allows you to compare effort and impact.

Conclusion

Your prioritization framework might lead you to conclude that solution a) is low effort and high impact. Make sure you link back to the business objective you outlined at the start of the interview and confirm how this solution meets that objective.

There are always trade offs when choosing solutions: in this case, the keys could become overly sensitive, increasing user errors. Show that you're comfortable considering trade offs and be ready to discuss how you might mitigate for them.

Want to see more detail on how to answer this question? For the complete answer and an explanation of the framework, take a look at our guide to product design questions.

8.3 What’s your favorite product and why?

“What’s your favorite product and why?” is a common question asked during PM interviews at Google. Interviewers ask this question to assess:

  • Your understanding of product design
  • Your ability to deliver constructive criticism
  • Your knowledge of a specific product

Example answer: 

"My favorite product right now is Instagram. 

Here’s how I’d like to go about answering this question: First, I’ll explain what the product does at a high level and its business objectives. Second, I’ll outline the target users and their problems. And finally, I’ll explain how the product solves those problems better than competitors and why that makes it my favorite product. 

Does that sound okay to you?¨

(Explain the product)

"Before I explain why it’s my favorite app, I’ll quickly review how Instagram works.

Instagram has two main types of users: end users and advertisers. 

End users choose accounts to follow (e.g. friends and family, influencers, brands, etc.), which in turn creates a personalized feed of photos and videos that provides information, entertainment, and inspiration. These users can also upload photos and videos to share with their own followers. 

Advertisers sell products and build their brand on the platform. They can do this by paying for ads that show up as recommended posts and stories, by building an engaging account that people want to follow, or a combination of the two."

(Define the business objective)

“The more time users are on the app and the deeper their engagement, the more rewarding the platform is to advertisers, which creates a virtuous cycle. Therefore, in terms of its business objectives, Instagram is most likely interested in user engagement and revenue.”

User problems

“I tend to use Instagram mostly as an end user, not an advertiser, so let me explain more about the product from that user perspective. Instagram provides solutions to common problems for users like me. 

One, people often experience boredom in their free time, especially in scenarios where they don’t have much time, and they’re only carrying their phone, like in waiting in line for a coffee. 

Two, it is tough to find one easy place to share casual photos, promote artwork, or build a small business where there are many users who are likely to find and share your content.”

(Solutions)

“Instagram solves these problems better than competitors in a few ways.

“First, by giving users the option of exactly what accounts to follow, there’s a really high chance a user’s feed is full of content they’re going to enjoy as soon as the app launches on their phone. This is a better solution than some alternatives which first require you to choose the type of content you want to engage with before really providing value (like TikTok and Twitter).

“Second, the primary design of the app as a mobile experience built around visuals might be Instagram’s biggest advantage over its competitors. For instance, reading a tweet or a lengthy Facebook post while walking is harder than glancing at a picture. 

The core design of the app therefore makes the barrier to engage with Instagram content really low compared to other alternatives. It also makes it easy for users to curate their content, with attractive photos and easy to use visual effects.”

(Trade offs and improvements)

“One trade-off here is that the focus on visual content inhibits users’ ability to post long-form or written content. This may drive certain users to other social media products, such as Facebook or blogging sites. 

However, the benefits of the visual content ultimately trump the downsides, as it creates a cohesive and visually stimulating experience that keeps the user scrolling. Also, users who want to promote long-form or written content can easily share portions of it with links to their website or other work, if they so choose.”

(Summarize)

“So that’s why Instagram is my favorite product. The endless feed of visuals optimized for mobile provides a simple solution for users looking to be entertained. Given how easy it is to use and engage with the app, it builds a virtuous cycle that creates more revenue opportunities for advertisers.”

Click here for a complete explanation of how to answer the "What's your favorite product" question as a PM.

8.4 Can you define success metrics or react properly to a metric change?

Google asks two types of metric (“analytical”) questions: metric definition and metric change. They test if candidates can perform basic data analysis and select key metrics that matter most to the success of a product. 

Below is an abbreviated example answer to a typical metric change question at Google, using a three-step method.

Example answer: YouTube traffic went down 5% —how would you report this issue to the executive team?

(Define the metric change)

Here are some questions that immediately come to mind to help clarify the question: How do you define “traffic,” what segments and device types is it affecting, and when did it start?

(Explore possible root causes)

Assume the interviewer tells you that the average time spent watching per session is down 5% month-over-month worldwide on mobile only. Now, brainstorm potential factors. Assume the interviewer has asked to focus on internal factors only. 

Internal factors:

  • Data accuracy (e.g. confirm reporting tools are working as expected)
  • Context (e.g. it could be an expected seasonal drop)
  • Access to the product (e.g. possibility of a major outage)
  • Product changes / quality (e.g. possibility of code that introduced a bug)

Assume the interviewer has confirmed that the reporting is working as expected, there is no seasonal drop, and there has been no major outage. Consider product changes: Did they release any significant feature changes?

The interviewer says that the user interface for the video player was recently changed on mobile, which involved making the “Send video to device” button two times larger, and reducing the “Full screen” button by half its original size. 

(Discuss and conclude)

At that point, you could form a hypothesis and say something like, “Have you noticed a change in the frequency at which the ‘Send video to device’ and ‘Full screen’ buttons are being used on mobile? Maybe mobile users are having a harder time tapping the ‘Full screen’ button now that it’s smaller, and are tapping the ‘Send video to device’ button by accident because it’s too big?”

8.5 How many emails does Gmail receive a day?

This question is given as an example analytical question in the prep pack Google sends to product manager candidates.

Google interviewers no longer ask tricky brainteasers such as “how many golf balls fit in a Boeing 747” but they do still ask these kind of estimation questions to test your ability to work with numbers and understand the product market.

Let’s see an example answer outline.

  1. Ask clarification questions
  • Does that include “spam” emails that go direct to Promotions and Social folders?
  • Can you give me an idea of the amount of active users Gmail has, or would you like me to use an estimate?

Let’s imagine that the interviewer wants us to include the spam emails and wants us to make our own estimate for the total Gmail users. 

  1. Map out your calculations

It’s a good idea to explain the calculations you’re going to make to the interviewer before you do them. Be sure to segment users in this type of question as it’s a key PM skill.

  1. Estimate Gmail total active users
  2. Segment users
  3. Estimate emails received by each user segment to get total

We lay out these three steps to the interviewer and they’re on board. We can then start our calculations.

  1. Round numbers and calculate

1.Let’s estimate that Gmail has 1 billion active users. In the United States probably more than half the population use Gmail but in countries such as India and China that proportion will be much lower, so 1 billion worldwide seems about right.

2. We can use the 80/20 rule and say that 20% of Gmail users will be highly active. They use Gmail for work and on average could receive 10 emails in their main inbox per day. Meanwhile the other 80% user Gmail for personal use, let’s say they receive five personal emails per day.

3. Remember that we need to include spam emails. We can estimate that a typical user receives 10 emails per day directly to their promotional and social folders.

  1. Let’s estimate the emails sent by each segment

Highly active: 20% of 1 billion = 200million x 10 = 2.billion emails per day

Less active: 80% of 1 billion = 800million x 5 = 4 billion emails per day

Spam: 1 billion x 10 = 10 billion emails per day = 10 billion emails per day

Now we can add the numbers and get the total = 16 billion emails per day

  1. Sense check your results

When you get your answer, take a minute to check if it seems plausible. Sometimes a small math error can lead to a crazy number, so if it doesn’t make sense then you’ll want to go back and check your calculations.

In this case, you could say to the interviewer that 16 billion emails per day seems reasonable and you’re happy to make that your estimation.

Click here to learn more on how to answer estimation questions in PM interviews

9. Google engineering manager questions (and answers)

Engineering managers at Google must have similar technical skills as those tested in software engineer interviews, with an emphasis on soft skills like people and project management. This is because they’re moving from managing individual features to managing projects and teams.

So, be ready to answer lots of behavioral questions that test your ability to lead engineers, in addition to coding and system design interviews. 

Let’s go through some typical questions.

9.1 How would you deal with low performing engineers?

Google wants to know if your people management skills are up to scratch. If possible, answer these types of questions with an example from your past experience, rather than giving a hypothetical answer.

Example answer

"I actually have some experience with this at my current company. Around a year ago, the productivity of one of my engineers started to drop significantly.

I hold regular 1-to-1 meetings with each team member and give them regular feedback. And so I used one of these meetings to talk about his low productivity, giving him two examples of tasks that he had taken much longer on than I expected.

He admitted to me that he was bored by his work and feeling very demotivated, and this was the root cause of his low productivity. 

My next step was to arrange another meeting with him where we talked openly about the kind of work he would prefer to be doing and what opportunities there were. We created a plan of action together and set clear goals. We agreed that if he reached them, then within 6 months he would be given greater responsibilities and more autonomy, which is one of the main things he wanted.

Over the next few months we used our 1-1s to check in with how he was progressing to these goals.  I gradually gave him more responsibilities and more autonomy and the productivity and quality of his work was consistently good. I recently made him lead engineer.

This experience taught me that regular meetings with team members are vital in creating an open, honest space to communicate in. If I hadn’t already established a good working relationship with the engineer, he may not have trusted me enough to explain how demotivated he was and the situation would have been much more difficult to resolve."

For more tips on how to answer these types of people management questions, read our people management primer for tech interviews guide.

9.2 How would you balance engineering limitations with customer requirements?

Your Google interviewers will test your project management abilities with questions like this one that explore how you balance trade offs and align different stakeholders.

Example answer:

"I would approach balancing engineering limitations with customer requirements by following a structured process. 

The first step is to understand the customer requirements and the engineering limitations. This would involve working closely with the product management team and the engineering team to gather the necessary information.

Once we have a clear understanding of the requirements and limitations, we would evaluate the feasibility of meeting the customer requirements within the given engineering limitations, factoring in time, budget, and resource constraints.

We would then prioritize the customer requirements based on their impact on the customer experience and the feasibility of implementation. This would help us to focus on the most important requirements and ensure that we deliver value to the customer.

In my experience it’s really important to communicate the limitations and trade-offs to the product management team. This would involve setting realistic expectations and managing them effectively. Regular communication and feedback would be necessary to ensure that everyone is aligned and informed.

Finally, we would continuously iterate and refine the product based on feedback from the customers and the engineering team. This would help us to identify and address any issues and ensure that we are delivering the best possible solution within the given constraints."

For more help on these kind of management questions, check out our guide to program management questions.

9.3 How would you design a messaging app?

Real-time messaging apps are a common standalone product, or a built-in feature of larger systems. For this question, you might be asked to design a specific app, like Google Chat or Telegram, or a new messaging app.

Ask clarifying questions

  • What is the scale and profile of the user base?
  • What features should be incorporated into the messenger? (e.g. text, video, audio, read receipts, message encryption, etc.)
  • Should we focus on monetizing the system?

Design high-level

  • How many servers will this system need, and how will clients connect to them?
  • How will the senders and receivers of messages connect to the servers and database?
  • Where will the messages be stored, and for how long?

Drill down on your design

  • How will you scale the system, and where are the bottlenecks?
  • Deep dive into a component: sent, delivered, read notifications; push notifications; media sharing; database design; etc.

Bring it all together

  • Have you met the initial goals you and the interviewer laid out for the system? 

To see another example of how to answer this question, watch this ex-Google engineering manager answer "Design Telegram":

 

9.4 How do you set a vision for your team?

As an engineering manager or manager of any sort at Google, you’ll need to be able to get your team aligned in pursuit of a common purpose, a shared vision. 

So be prepared to explain exactly how you do this, giving specific examples of actions and processes.

Example answer:

“Sure, setting a clear and compelling vision for my team is critical to achieving our goals and ensuring that everyone is aligned and motivated. So let me explain how I do it in my current role.

The starting point has to be the company’s business objectives. Every 6 months I sit down with the senior members of the company and review the company's mission statement and strategic plans. We articulate these in the form of company OKRs.

I then get my team of engineers to brainstorm goals we can set to help the company meet these OKRs. We refine these goals into our own Engineering OKRs.

Once we’ve done this, I like to develop a narrative that articulates an overall vision, to help the team understand how their OKRs contribute to the broader goals of the company and where they might take us in the next 6 or 12 months.

I find that the most important factor is making sure that every member of the team contributes in this activity. The more they feel that they own the goals we’ve set out, the more they will buy into the overall vision and will be more motivated to achieve it.”

9.5 How would you set up a geographically distributed team?

At Google your team may be spread out around the world and even if they're not, Google's hybrid work model means on any given day half of them will be working from home. You'll need to demonstrate you know how to manage a remote team effectively.

Example answer:

“Sure. To begin with, there are the critical things necessary when setting up any team, remote working or not. I’d want to put in place clear project management procedures with clear timelines and milestones, as well as regular meetings to track performance and motivation and encourage growth. 

But I agree that with a geographically distributed team there are certain extra challenges that arise, so here’s what I’d do specifically on that.

Effective communication is critical with remote teams, so I would want to make sure that we have the necessary tools to communicate easily  - obviously at Google I wouldn’t envisage this being a problem! I’d also want to establish a shared working schedule. I’ve worked with engineers across different time zones before and I think it can work well, but I’d hope to establish some overlap hours where all team members are available for meetings and to work in sync. 

I do think that with remote teams you need to make an extra effort to encourage team building and build a sense of community. The exact way to do this sometimes depends on the personalities of the team and I’d ask them for ideas as to how they’d like to do this, but it could be a bi-weekly video call where we play games and quizzes together for an hour, that kind of thing.

Finally, I’d make sure that some of the hiring criteria relates to remote working ability - so even more than ever I’d be looking for engineers who are self-motivated, have good communication skills, and are comfortable working in a remote environment.”

We've got more Google engineering manager questions below, but if you haven't already checked it out, click here to read our Google engineering manager interview guide, it covers everything you need to know.

10. Over 200 Google interview questions (by role)

These questions are all real interview questions asked at Google in the last few years (source: Glassdoor.com).

We've listed questions reported for the following roles; software engineer, product manager, engineering manager, technical program manager, and data scientist.

10.1 Google software engineer interview questions

Coding:

  • "Given a binary tree, find the maximum path sum. The path may start and end at any node in the tree." (Solution)
  • "Given an encoded string, return its decoded string." (Solution)
  • "We can rotate digits by 180 degrees to form new digits. When 0, 1, 6, 8, 9 are rotated 180 degrees, they become 0, 1, 9, 8, 6 respectively. When 2, 3, 4, 5, and 7 are rotated 180 degrees, they become invalid. A confusing number is a number that when rotated 180 degrees becomes a different number with each digit valid.(Note that the rotated number can be greater than the original number.) Given a positive integer N, return the number of confusing numbers between 1 and N inclusive." (Solution)
  • "Given two words (beginWord and endWord), and a dictionary's word list, find the length of shortest transformation sequence from beginWord to endWord, such that: 1) Only one letter can be changed at a time and, 2) Each transformed word must exist in the word list." (Solution)
  • "Given a matrix of N rows and M columns. From m[i][j], we can move to m[i+1][j], if m[i+1][j] > m[i][j], or can move to m[i][j+1] if m[i][j+1] > m[i][j]. The task is print longest path length if we start from (0, 0)." (Solution)
  • "Given a robot cleaner in a room modeled as a grid. Each cell in the grid can be empty or blocked. The robot cleaner with 4 given APIs can move forward, turn left or turn right. Each turn it made is 90 degrees. When it tries to move into a blocked cell, its bumper sensor detects the obstacle and it stays on the current cell. Design an algorithm to clean the entire room using only the 4 given APIs shown below." (Solution)

  • Implement a SnapshotArray that supports pre-defined interfaces (note: see link for more details). (Solution)

  • "In a row of dominoes, A[i] and B[i] represent the top and bottom halves of the i-th domino.  (A domino is a tile with two numbers from 1 to 6 - one on each half of the tile.) We may rotate the i-th domino, so that A[i] and B[i] swap values. Return the minimum number of rotations so that all the values in A are the same, or all the values in B are the same. If it cannot be done, return -1." (Solution)

  • "Your friend is typing his name into a keyboard.  Sometimes, when typing a character c, the key might get long pressed, and the character will be typed 1 or more times. You examine the typed characters of the keyboard.  Return True if it is possible that it was your friends name, with some characters (possibly none) being long pressed." (Solution)
  • "Given a string S and a string T, find the minimum window in S which will contain all the characters in T in complexity O(n)." (Solution)
  • "Given a list of query words, return the number of words that are stretchy." Note: see link for more details. (Solution)
  • "Given an array of words and a width maxWidth, format the text such that each line has exactly maxWidth characters and is fully (left and right) justified." (Solution)
  • "Given a matrix and a target, return the number of non-empty submatrices that sum to target." (Solution)
  • "Given a rows x cols binary matrix filled with 0's and 1's, find the largest rectangle containing only 1's and return its area." (Solution)
  • "Your car starts at position 0 and speed +1 on an infinite number line. (Your car can go into negative positions.) Your car drives automatically according to a sequence of instructions A (accelerate) and R (reverse)...Now for some target position, say the length of the shortest sequence of instructions to get there." (Solution)
  • "Given strings S and T, find the minimum (contiguous) substring W of S, so that T is a subsequence of W. If there is no such window in S that covers all characters in T, return the empty string "". If there are multiple such minimum-length windows, return the one with the left-most starting index." (Solution)
  • "A strobogrammatic number is a number that looks the same when rotated 180 degrees (looked at upside down). Find all strobogrammatic numbers that are of length = n." (Solution)
  • "Given a binary tree, find the length of the longest path where each node in the path has the same value. This path may or may not pass through the root. The length of path between two nodes is represented by the number of edges between them." (Solution)
  • "Given the root node of a binary search tree, return the sum of values of all nodes with value between L and R (inclusive). The binary search tree is guaranteed to have unique values." (Solution)
  • "A group of two or more people wants to meet and minimize the total travel distance. You are given a 2D grid of values 0 or 1, where each 1 marks the home of someone in the group. The distance is calculated using Manhattan Distance, where distance(p1, p2) = |p2.x - p1.x| + |p2.y - p1.y|." (Solution)
  • "You are given two non-empty linked lists representing two non-negative integers. The digits are stored in reverse order and each of their nodes contain a single digit. Add the two numbers and return it as a linked list." (Solution)

System design:

  • How would you design Google's database for web indexing
  • How would you design Google Docs
  • How would you design Google Search?
  • How would you design Google Home (voice assistant)
  • How would you design Amazon's books preview
  • How would you design a social network
  • How would you design a task scheduling system
  • How would you design a ticketing platform
  • How would you design a system that counts the number of clicks on YouTube videos
  • How would you design a webpage that can show the status of 10M+ users including: name, photo, badge and points
  • How would you design a function that schedules jobs on a rack of machines knowing that each job requires a certain amount of CPU & RAM, and each machine has different amounts of CPU & RAM? Multiple jobs can be scheduled on the same machine as long as it can support it

Click here for everything you need to know about the Google software engineer interviews.

10.2 Google product manager interview questions

Product design:

  • Re-imagine the emergency phone call system (e.g. calling 911)
  • Design an app for waste management
  • Design an app for a theme park
  • Redesign the shopping cart for online grocery shopping
  • Design a bookshelf for kids
  • Design an alarm clock for people with hearing difficulties
  • How would you design a data center on the moon?
  • Design a search engine for a cat gif library
  • If you were to build the next great feature for Google Search, what would it be?

Product improvement:

  • How would you improve restaurant search?
  • How would you improve Google Maps?
  • How would you improve Gmail?
  • How would you improve Chrome?
  • How would you improve the UX of an app you use frequently?
  • How would you improve YouTube Music?
  • How would you improve WhatsApp?

Favorite product

  • What is your favorite product and why? How would you improve it?

Estimation:

  • How many messages per second does Gmail receive? 
  • What is your favorite restaurant? Estimate how much money they make in a year
  • How much did taxi rides increase or decrease worldwide during Covid?
  • How many police stations are there in the United States?
  • Estimate the number of street lamps in New York City
  • Estimate the market size for a parental control app
  • Estimate the market size for oil changes
  • Estimate the market size for vintage watches
  • How many self-driving cars would be needed to transport every person in London?

Metrics:

  • What metrics would you set for YouTube in a developing country?
  • What are the key metrics for an API in a cloud?
  • Select a product and choose the metrics that you would gauge to measure its success
  • Asana made a new ticketing system—how would you measure its success?
  • How would you measure metrics for BART (i.e. Bay Area Rapid Transit)
  • What metrics are important for Google Docs?
  • You notice a 30% change in usage of your product, what would you do? 
  • As a PM in Gmail you come in on Monday, take a quick look at the metrics dashboard and see received emails have dropped 15% last weekend over the weekend(s) before. What do you do?

Googleyness and Leadership:

  • Tell me about a time when you set and achieved a goal
  • Tell me about your biggest weakness
  • Tell me about a time when you failed
  • How would you solve a problem that you have no idea how to solve?
  • Describe a project that you lead from concept to delivery
  • Tell me about your most proud achievement
  • How well do you work in a fast paced environment?

Cross-functional collaboration:

  • Tell me about how you work with others and achieve the desired results
  • Tell me about a time when you had to work with a difficult teammate
  • Tell me about a situation where internal company issues affected your job, and what did you do to resolve it?
  • Tell me about a time when you were able to create a win-win situation
  • Describe how you would convince Engineering to work on a Business-requested feature that would interfere with their existing work, especially if the Engineering team is working on meeting a deadline
  • How do you resolve conflicting product requirements? What or who determines which requirement takes the hit? (Answer)
  • How would you manage through a latent field failure or bug that is directly impacting customers and driving return rates up or support contacts? 
  • Your largest customer is loudly advocating for a new feature which is not in your prioritized roadmap. Sales, eager to please, have gone straight to Engineering to see if they can drop everything and get this done. What do you do?
Strategic insight:
  • Imagine you’re a PM in Google’s consumer hardware organization. What would you build next?
  • What should Google’s role be in the Metaverse?
  • If you are CEO of an airport what is the one thing that you would do next?
  • You as a startup got all the talents who have capabilities to build an autonomous vehicle. What would you do?
  • How would you price car insurance for autonomous vehicles?
  • How do you see the "creator economy" evolving over the next ten years? If Google wanted to make a new major product investment within this space, what would you recommend we build?
  • How would you drastically boost smart home sales over 5 years?
  • Pretend Google wants to acquire iRobot. What do you look for, and how would you position yourself?
  • How would you revolutionize the car wash industry?
  • How would you grow X product? 
  • Should Google offer a StubHub competitor? That is, sell sports, concert, and theater tickets? 
  • How would you monetize [a certain product] more effectively?

Craft and execution:

  • You're given seed funding to pursue any opportunity. What do you go for and why? Then what's the user journey? What's the Total Addressable Market?
  • If a basic version of Maps has to be built, what all info would  you gather initially? What would your first MVP look like? What would you do if you had data of all the World's traffic?
  • Draft a plan for a start-up that is ready with their MVP to launch a courier service. They have built pods to deliver goods from destination A to B. Keep in mind they do not have a lot of cash to burn.
  • Pick a product of your choice. What are the goals of the product? What’s in your monthly business review deck for the leadership team? 
  • Imagine I'm a VC, offering you $20M to build any technology-enabled product/service you'd like. Please walk me through how you would get started? (Problem, Solution, User, Monetize, TAM) 
  • At what milestone or markers would you look for to determine if a product isn’t performing well and what considerations do you make before you sunset the product? What is the process you would lay out? How do you handle the stakeholders? 
  • You are about to launch a new app that is of strategic importance for the company. 1 month out from launch, internal Dogfood suggests the app isn't ready (you are below target on several key metrics including CSAT). What do you do? 
  • Imagine you launch a new feature, and the day after launch usage drops dramatically. How do you go about inquiring what happened?

Technical:

  • What is the difference between C and SQL, HTTP and HTTPS?
  • Explain what cookies are to a grandmother
  • How does a DNS work?
  • How would you troubleshoot browser based security problems?
  • Explain recursion
  • How does Google Calendar work? (Answer)

Click here for everything you need to know about the Google product mangager interview.

10.3 Google engineering manager interview questions

General:

  • Why are you an effective R&D leader?
  • Tell me about yourself
  • Why Google?

People management:

  • How do you deal with low performers?
  • How do you handle conflicts?
  • How do you handle people who are not team players?
  • How do you deal with high performers? 
  • Tell me about a time you developed and retained team members

Project management:

  • As a manager, how do you handle trade-offs?
  • Describe how you deal with change management
  • Describe in detail a project that failed
  • Describe a project in the past that was behind schedule and provide concrete to steps that you took to remedy the situation
  • Tell me how you would balance engineering limitations with customer requirements

System design:

  • How would you design Google Docs?
  • How would you design Google Search?
  • How would you design Google Home (voice assistant)?
  • How would you design a ticketing platform?
  • Design an in memory cache for webpages
  • Design a boggle solver
  • Design a distributed ID generation system
  • How would you design Google's database for web indexing?
  • How would you design a webpage that can show the status of 10M+ users including: name, photo, badge and points?
  • How would you design a system that counts the number of clicks on YouTube videos?

Click here for everything you need to know about the Google engineering manager interview

10.4 Google technical program manager interview questions

Google TPM candidates can expect to face a range of program management and questions as well as interviews on system design, coding and leadership.

General / End-to-end:

  • Tell me about a time you had to manage a technical program from end-to-end
  • How would you manage hypothetical project XYZ (e.g. replace discs in a data center)?
  • What methodology do you use in your projects and programs?
  • What makes a successful program manager?

Prioritization:

  • How do you prioritize your work?
  • How do you make decisions?
  • How do you deliver programs on a tight timeline and with limited resources?
  • How do you prioritize and allocate resources when your team is too small?

Delivery:

  • What is a critical path in project management?
  • How do you make sure you deliver quality outcomes in your projects?
  • Describe and whiteboard a continuous deployment system. And a continuous build system.
  • Compare the agile and waterfall methodologies.
  • Imagine you find a critical bug in software the day before the release date. How do you handle the situation?

Kickoff / Sunset:

  • What's your process to kickoff programs?
  • What's your process to sunset programs?
  • You're joining a project with no timeline and which didn't have a kickoff. What do you do?

Planning:

  • How do you handle additional requirements in the middle of a project?
  • How do you build a forecasting tool / document?
  • How do you forecast a project with no history?

Risk:

  • How do you manage risks on projects?
  • Tell me about a time you had to manage a significant risk on one of your programs?

Vendors:

  • How do you choose to build in house vs. to use a third party solution?
  • What's your process to work with vendors on your projects / programs?

System design:

  • Design a server infrastructure for GMail
  • Design a global system to upgrade software on a fleet of machines
  • Design a web cache
  • Design a file transfer system that can move 100 Petabytes of data from the US East Coast to the US West Coast
  • How would you deploy a solution for cloud computing to build in redundancy for the compute cluster?
  • Design Facebook (read heavy)
  • Design GDrive (write heavy)
  • Design Whatsapp

Technical explanation:

  • What happens when you enter a URL in your browser?
  • How does the cloud work?
  • What is the Ethernet?
  • What is the difference between TCP and UDP?
  • Describe the TCP protocol?
  • What are threads? What is multi-threading?
  • What actually happens when a file is deleted on a machine?
  • Describe the memory structure of an operating system (heap, data, and stack)?
  • Explain XYZ technology listed on your resume

Coding:

  • Write a program to find if an integer is a palindrome
  • Write a program to select two numbers which sum is lower than a target number
  • Write a progam to reverse a string (no built-in functions can be used)
  • Implement a queue in an array
  • Parse all lines in a CSV file with a given string

Leadership:

Click here for everything you need to know about the Google technical program manager interview.

10.5 Google data scientist interview questions

Data scientist candidates at Google can expect to face questions across statistics, machine learning, SQL, and coding, as well as the usual behavioral questions.

General Statistics

  • In what situation would you consider mean over median?
  • For sample size n, the margin of error is 3. How many more samples do we need to make the margin of error 0.3?
  • What is the assumption of error in linear regression? (Solution)
  • Given data from two product campaigns, how could you do an A/B test if we see a 3% increase for one product?

Statistical Probability

  • I have a deck and take one card at random. What is the probability you guess it right?
  • Explain a probability distribution that is not normal and how to apply that.
  • Given uniform distributions X and Y and the mean 0 and standard deviation 1 for both, what’s the probability of 2X > Y? (Solution)
  • There are four people in an elevator and four floors in a building. What’s the probability that each person gets off on a different floor?
  • Make an unfair coin fair. (Solution)

Machine Learning

  • If the labels are known in a clustering project, how would you evaluate the performance of the model?
  • Why use feature selection? (Solution)
  • If two predictors are highly correlated, what is the effect on the coefficients in the logistic regression? What are the confidence intervals of the coefficients?
  • What is the difference between K-mean and EM?
  • When using a Gaussian mixture model, how do you know it is applicable?

Statistical coding

  • Write a function to generate N sample from a normal distribution and plot the histogram. (Solution)
  • Write code to generate iid draws from distribution X when we only have access to a random number generator.
  • Coding in R, multiply all a[i,j] in a i rows j columns dataset.
  • Given a list of characters, a list of prior probabilities for each character, and a matrix of probabilities for each character combination, return the optimal sequence for the highest probability.
SQL
  • How would you find the top 5 highest-selling items from a list of order histories?
  • Can you explain how SQL works?
  • Given three columns of data, how would you compare the first three to the last three?
  • How do you calculate the median for a given column of numbers in a data set?
Other: e.g. data structures, modeling
  • What are some ways to effectively reduce the dimensionality of a data set? (Solution)
  • How do you invert a binary tree? (Solution)
  • How do you code the simulation model to get the probabilities of a given scenario?

Behavioral

  • Why Google?
  • How do you sort your priorities when engaged in multitasking?
  • Describe a past project you worked on.
  • In what direction do you see your career moving?
  • Do you prefer working in small or large teams?
  • How do you push back when disagreeing with a manager?
  • What are the top competencies that you are bringing to our company
Product sense
  • You have a Google app and you make a change. How do you test if a metric has increased or not? (Solution)
  • How do you detect viruses or inappropriate content on YouTube?
  • How would you compare if upgrading the android system produces more searches?
  • The outcome of an experiment is that 5% of one group clicks more. Is that a good result?
  • How would you measure the time spent in Google Search per day per user? If the average searches per day per user data goes down, but the average searches per country goes up, how would you explain it?
  • How would you remove bias and make inferences from data about two ad campaigns?
  • Given there are no metrics being tracked for Google Docs, a product manager comes to you and asks, what are the top five metrics you would implement?

Click here for everything you need to know about the Google data scientist interview.

Are you ready for your Google interviews?

We hope you’ve found this guide to Google interview questions useful. As you prepare, you’ll probably want to deep-dive into more information specific to the role you’re targeting. To do this, check out one of our Google interview guides below:

Whichever role you’re applying for at Google, you'll be expected to give very strong answers and show off excellent communication skills. Use the guides above to structure your prep and practice answering questions on your own.

However, if you really want to get your interview performance up to the next level, the best way to do this is to do as many mock interviews as you can. 

We’ve put together a coaching service where you can practice Google mock interviews one-on-one with real ex-interviewers from Google. Start scheduling sessions today.