Google engineering manager interviews are really challenging. The questions are difficult, specific to Google, and cover a wide range of topics.
The good news is that the right preparation can make a big difference and can help you land a job as a engineering manager at Google. To help you get there, we’ve put together the ultimate guide below.
Here's an overview of what we'll cover:
- Process and timeline
- Example questions
- Preparation tips
Note that if you're targeting an engineering manager role at other companies as well as Google, you might want to see our more general engineering manager interview guide.
What's the Google engineering manager process and timeline? It usually takes between one and three months and follows these steps:
1.1 What interviews to expect
- Recruiter phone screen
- First-round interview
- Onsite interviews
So you can prepare, your recruiter will send you an EM guide at the beginning of the process which details what interviews you can expect.
1.1.1 Recruiter phone screen
In most cases, you'll start your interview process with Google by talking to a Recruiter on the phone. They are looking to confirm that you've got a chance of getting the job at all, so be prepared to explain your background and why you’re a good fit at Google. You should expect typical behavioral and resume questions like, "Tell me about yourself", "Why Google?", or "Tell me about your current day-to-day as an Engineering Manager."
If you get past this first HR screen, the recruiter will then help schedule your first-round interview. Your recruiter will usually let you know who you are interviewing with and what type of interviews you should expect, and will share resources to help you prepare for them.
1.1.2 First-round interview
Your first interview after talking to the recruiter will be what’s often referred to as a "phone-screen", although it may take place over video chat.
I’s most likely to be a technical interview where you’ll be tested on data structures and algorithms and where you’ll need to write some code. However, you may also get some behavioral questions.
Don’t worry, your recruiter will let you know which type of interview you can expect so that you can prepare properly.
1.1.3 Onsite interviews
If you pass the first-round interview, you’ve made it to the real test: the “onsite” interviews. You'll typically spend a full day at a Google office and do five or six 45-minute interviews in total, consisting of:
- Two leadership interviews
- One or two system design interviews
- One or two coding interviews
We’ll dig deeper into these in section two.
If you’re physically onsite, you’ll probably be expected to use a whiteboard to write your code although the company has also started offering Chromebooks for coding interviews at some locations. These laptops come with an interview app that lets you choose the coding language you want to use.
Finally, in addition to interviews, you'll also have lunch with a fellow engineer while you are onsite. Lunch is meant to be your time to ask questions about what it's like to work at Google. The company won't be evaluating you during this time, but we recommend that you behave as if they are.
[COVID Update] Given the Covid-19 pandemic, your onsite interviews with Google will likely be conducted virtually. You can ask your Google recruiter for the latest information on their Covid-19 adjustments.
1.2 What exactly is Google looking for?
At the end of each interview your interviewer will grade your performance using a standardised feedback form that summarizes the attributes Google looks for in a candidate. That form is constantly evolving, but below we have listed the main components we know of at the time of writing this article.
A) Questions asked
In the first section of the form the interviewer fills in the questions they asked you. These questions are then shared with your future interviewers so you don't get asked the same questions twice.
B) Attribute scoring
Each interviewer will assess you on the four main attributes Google looks for when hiring:
- General cognitive ability. This is often referred to as "GCA" by Googlers. The company wants to hire smart engineers who can learn and adapt to new situations. Here your interviewer will try to understand how you solve hard problems and how you learn.
- Role-related knowledge and experience. This is often referred to as "RRK" or "RRKE" internally. The company wants to make sure that you have the right experience, domain expertise and competencies for the position you're applying for. For instance, if you're applying for a "Engineering Manager - Mobile" position, then you'll be expected to have in-depth knowledge about mobile.
- Leadership. Google looks for a particular type of leadership called “emergent leadership.” You'll typically be working in cross-functional teams at Google, and different team members are expected to step up and lead at different times in the lifecycle of a project when their skills are needed.
- Googleyness (i.e. culture fit). The company wants to make sure Google is the right environment for you. Your interviewer will check whether you naturally exhibit the company's values including: being comfortable with ambiguity, having a bias to action, and a collaborative nature.
Depending on the exact job you're applying for, these attributes might be broken down further. For instance, "Role-related knowledge and experience" could be broken down into "Security architecture" or "Incident response" for a site reliability engineer role. But the total number of attributes does not usually exceed six or seven.
In this middle section, Google's interviewers typically repeat the questions they asked you, document your answers in detail, and give you a score for each attribute (e.g. "Poor", "Mixed", "Good", "Excellent").
C) Final recommendation
Finally interviewers will write a summary of your performance and provide an overall recommendation on whether they think Google should be hiring you or not (e.g. "Strong no hire", "No hire", "Leaning no hire", "Leaning hire", "Hire", "Strong hire").
1.3 What happens behind the scenes
If things go well at your onsite interviews here is what the final steps of the process look like:
- Interviewers submit feedback
- Hiring committee recommendation
- Senior leader and compensation committee review
- Final executive review
- You get an offer
After your onsite, your interviewers will all submit their feedback, usually within two to three days. This feedback will then be reviewed by a hiring committee, along with your resume, internal referrals, and any past work you have submitted. At this stage, the hiring committee will make a recommendation on whether Google should hire you or not.
The hiring committee recommendation will be reviewed and validated by a senior manager and a compensation committee who will decide how much money you are offered. Finally, as you’re interviewing for a senior role, a senior Google executive will review a summary of your candidacy and compensation before the offer is sent to you.
As you've probably gathered by now, Google goes to great lengths to avoid hiring the wrong candidates. This hiring process with multiple levels of validations helps them scale their teams while maintaining a high caliber of employees. But it also means that the typical process can spread over multiple months.
As we mentioned above, you can expect three types of interview for an engineering manager role:
- Leadership interviews in which you can expect mainly behavioral questions that assess your past experience and your ability to manage people and projects.
- System design interviews that assess your technical knowledge, your thought process, and your knowledge of architecture and scaling.
- Coding interviews that assess your problem-solving skills and test whether you can think in a structured way when it comes to code.
In this section, we'll dig deeper into those three types of interviews to give you a clearer idea of what questions to expect, and we'll also provide example questions that you can practice with.
The questions we'll list in the next few sections are real Google EM interview questions that were reported on Glassdoor. We've just categorized the questions, and we've changed the grammar and phrasing in some places to make the questions easier to understand.
Let's jump into the most common type of questions you'll face:
As you're interviewing for a management position, you can expect two leadership interviews during the onsite round. They'll be made up of three types of questions relevant to leadership:
- General behavioral questions (e.g. "Tell me about yourself", "Why Google", etc.). These are to get a sense of your personality and motivations and to see whether you'll fit positively into Google's working culture. They also tend to be asked as an ice-breaker at the beginning of coding and system design interviews.
- People management questions. These tend to dive into how, as a leader, you would support and grow your team. You should expect questions about your approach to developing and retaining team members, your ability to lead teams through difficult situations, and why you think Google is the right culture for you.
- Project management questions. These explore how you would effectively lead projects end-to-end. You should expect questions about project management methodologies, your ability to deal with complex and ambiguous situations, and your experience delivering results.
Questions in a leadership interview can take the form of behavioral questions or hypothetical questions.
What's the difference? Behavioral questions are about how you handled certain circumstances in the past. For instance, "Tell me about a time you led a team through a difficult situation" is a behavioral question. Hypothetical questions are about how you would handle a given situation. For instance, "How would you build a diverse and inclusive team" is a hypothetical question.
Now let’s look at some examples.
Example leadership questions asked in Google engineering manager interviews
- Why are you an effective R&D leader?
- Tell me about yourself
- Why Google?
- 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
- 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
Google Search, GMail, Google Docs, Android, and YouTube all have 1bn+ monthly active users. Google engineering managers therefore need to be able to design systems that are highly scalable and performant.
In system design interviews you'll want to show that you can both be creative and structured at the same time. The questions are typically quite open-ended and it can feel like a conversation. In most cases, your interviewer will adapt the question to your background. For instance, if you've worked on an API product they'll ask you to design an API. But that won't always be the case, so you should be ready to design any type of product or system at a high level.
Here are the most common system design questions asked in Google engineering interviews according to the reports on Glassdoor. For more information, we recommend reading our detailed system design interview guide.
Example system design questions asked in Google engineering manager interviews
- How would you design Google Docs?
- 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?
Google software engineers solve some of the most difficult problems the company faces with code and it’s therefore essential that they have strong problem-solving skills.
Even though you’re applying for a management role, you’ll still need to show that you think in a structured way, can write well in at least one programming language, and can apply good understanding to a range of coding and algorithm challenges.
Below we've listed several Google coding interview questions. There is more data available for regular (non-management) engineer positions at Google, so the below questions are from Glassdoor data on the Google software engineer interview. But, we would expect the types of coding questions asked at the engineering manager level to be similar, so these should still be helpful for your preparation.
To make these questions easier to study, we've put them into the following categories, with the most frequent first.
- Graphs / Trees (39% of questions, most frequent)
- Arrays / Strings (26%)
- Dynamic programming (12%)
- Recursion (12%)
- Geometry / Maths (11% of questions, least frequent)
Example coding questions asked at Google
1. Graphs / Trees (39% of questions, most frequent)
- "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
- "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)
2. Arrays / Strings (26%)
- Implement a SnapshotArray that supports pre-defined interfaces (note: see link for more details). (Solution)
- "In a row of dominoes,
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
B[i]swap values. Return the minimum number of rotations so that all the values in
Aare the same, or all the values in
Bare the same. If it cannot be done, return
- "Your friend is typing his
nameinto 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
typedcharacters of the keyboard. Return
Trueif 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)
3. Dynamic Programming (12%)
- "Given 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
T, find the minimum (contiguous) substring
S, so that
Tis a subsequence of
W. If there is no such window in
Sthat 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)
4. Recursion (12%)
- "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
rootnode of a binary search tree, return the sum of values of all nodes with value between
R(inclusive). The binary search tree is guaranteed to have unique values." (Solution)
5. Geometry / Math (11% of questions, least frequent)
- "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)
Although we didn't find any in the Glassdoor data, the Google EM guide suggests you may also get a question to test if you're familiar with common sorting functions. It could be something like: "Given the head of a linked list, return the list after sorting it in ascending order".
Now that you know what questions to expect, let's focus on how to prepare. Here are the four main steps we would recommend to help you prepare for Google's engineering manager interviews:
3.1 Learn about Google's culture
Most candidates fail to do this. But before investing tens of hours preparing for an interview at Google, you should take some time to make sure it's actually the right company for you.
Google is prestigious and it's therefore tempting to assume that you should apply, without considering things more carefully. But, it's important to remember that the prestige of a job (by itself) won't make you happy in your day-to-day work. It's the type of work and the people you work with that will.
If you know any engineers who work at Google (or used to), then it's a good idea to talk to them to understand what the culture is like. In addition, we would recommend reading the following resources:
Google's mission statement (by Google)
Google's values (by Google)
Google strategy teardown (by CBS Insights)
3.2 Practice by yourself
As discussed above, you'll have to answer three types of questions at Google: leadership (behavioral), system design, and coding. The first step of your preparation should be to brush up on these different types of questions and to practice answering them by yourself.
For leadership questions, we recommend learning our step-by-step method for answering behavioral questions. In addition, you'll want to write down your answers to the common leadership questions we have listed in the previous section.
For system design questions, we recommend studying our system design interview guide. The guide covers a step-by-step method for answering system design questions, and provides several example questions with solutions.
For coding interviews, we recommend getting used to the step-by-step approach hinted at by Google in the video below.
Here's a summary of the approach:
Ask clarification questions to make sure you understand the problem correctly
Discuss any assumptions you're planning to make to solve the problem
Analyze various solutions and trade-offs before starting to code
Plan and implement your solution
Test your solution, including corner and edge cases
To practice solving coding questions we recommend working through our list of questions in section 2.3 above, as well as heading to Leetcode where you can get a lot done with the Free tier. If you want to take things a step further, you can also access Google-specific questions using Leetcode's premium tier. Don't forget to practice on a whiteboard or Google Doc instead of in an editor.
Finally, a great way to improve your communication for leadership, system design, and coding questions is to interview yourself out loud. This may sound strange, but it can significantly improve the way you communicate your answers during an interview. Play the role of both the candidate and the interviewer, asking questions and answering them out loud.
3.3 Practice with peers
Practicing by yourself will only take you so far. One of the main challenges of coding interviews is that you have to communicate what you are doing as you are doing it. To get used to this kind of "thinking out loud" we strongly recommend practicing live coding interviews with a peer interviewing you.
A great place to start is to practice with friends. If you don't have anyone in your network who can interview you, you might want to sign up to the engineering manager waitlist on our free mock interview platform. We'll let you know as soon as we've activated the engineering manager category so that you can start practicing with other candidates.
3.4 Practice with ex-interviewers
Practicing with peers can be a great help, and it's usually free. But at some point, you'll start noticing that the feedback you are getting from peers isn't helping you that much anymore. Once you reach that stage, we recommend practicing with ex-interviewers from top tech companies.
If you know a software engineer who has experience running interviews at Google or another big tech company, then that's fantastic. But for most of us, it's tough to find the right connections to make this happen. And it might also be difficult to practice multiple hours with that person unless you know them really well.
Here's the good news. We've already made the connections for you. We’ve created a coaching service where you can practice 1-on-1 with ex-interviewers from leading tech companies like Google. Learn more and start scheduling sessions today.
If you have any questions about Google engineering manager interviews, don't hesitate to post them below and we'll be more than happy to answer them. All questions are good questions, so go ahead!