Engineering manager interviews are tough to crack if you aren't well prepared. Companies like Facebook, Google, and Amazon tend to ask three types of questions: behavioral, system design, and coding questions.
Here's the good news. We've analyzed over 75 engineering manager interview questions, and have compiled our findings into the below guide, to help you strategically focus your preparation time.
In this guide, we'll give you an overview of the types of questions that are most frequently asked during engineering manager interviews. We'll provide real example questions from Facebook, Google, and Amazon that you can use to practice. And we'll also recommend an overall preparation approach you can use to land the engineering manager job you're targeting.
Here's an overview of what we'll cover:
1.1 Overview of question types
You can expect three broad types of questions in your engineering manager interviews.
- Behavioral questions (high frequency) test your ability to lead people and projects while working with cross-functional teams.
- System design questions (medium frequency) test your technical knowledge, your thought process, and your familiarity with architecture and scaling.
- Coding questions (medium frequency) test your problem-solving skills and your ability to think in a structured way when it comes to code (note that Amazon tends not to ask coding questions in EM interviews).
To get more insight into the process and questions at a particular company, refer to one of our company-specific preparation guides below. You'll notice that Amazon uses the term ‘software development manager’ but it's essentially the same role.
- Facebook engineering manager interview guide
- Google engineering manager interview guide
- Amazon software development manager interview guide
Now, let’s have a look at how the interview process usually works for engineering managers.
1.2 Overview of interview process
What's the interview process and timeline for an engineering manager? It normally takes between 2 and 8 weeks in total, but can take longer, especially at Google. It typically follows these steps:
- HR recruiter phone screen
- First-round: 1 or 2 phone interviews
- Onsite: 5 or 6 interviews
Let's take a look at each of those steps in a bit more detail.
1.2.1 HR recruiter phone screen
In most cases, you'll start your interview process by talking to an HR 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 the company. You should expect typical behavioral and resume questions like, "Tell me about yourself","Why Facebook/Google/Amazon?", or "Tell me about your current day-to-day."
If you get past this first HR screen, the recruiter will then help schedule a first-round interview. At this time, they’ll also walk you through the next steps in the hiring process and they’ll likely share some company resources to help you prepare.
1.2.2 First-round interview
If you get past the HR screen, you’ll make it to the first-round interview stage, where you’ll have one or two phone interviews.
The type of questions you’ll face at this stage depends on which company you’re applying to. Google tend to use the first-round interview as a ‘technical screen’ for engineering managers, while Facebook and Amazon tend to focus on behavioral questions.
If you pass the first-round interview, you'll be invited "onsite". The onsite interviews are the biggest test for engineering manager candidates. During this interview loop, you'll have 5 or 6 one-hour interviews, with several different interviewers from the company.
You'll mostly be interviewed by current engineering managers. But, depending on the company, role, and circumstances, you may also have interviews with an HR rep, a senior executive and, potentially, a more junior engineer. If you're physically onsite, you'll typically have lunch with another engineer not involved in the feedback process.
In the next section, we’ll dig into the types of questions you can expect to face.
[COVID Update] Given the Covid-19 pandemic, your onsite interviews will likely be conducted virtually. You can ask your recruiter for the latest information on their Covid-19 adjustments.
Before we jump in, it's important to reiterate that all of the below example questions are real interview questions that were originally reported on Glassdoor by Facebook, Google, and Amazon candidates (we've just made changes in some places to improve the grammar or phrasing).
After analyzing 75+ engineering manager interview questions, we divided them into three categories to help you prepare for your interviews strategically.
Let’s dig deeper into each category. You’ll see that we've selected over 50 example questions to help you practice. Let's start with the most common type of questions: behavioral.
Engineering managers need to have excellent soft skills to coordinate teams and lead projects. For that reason, whichever top tech company you interview at, you can expect behavioral questions to be the most frequently asked, and they’ll broadly fit into these four sub-categories:
- Culture fit questions. Top tech companies make a lot of effort to cultivate their own unique culture. Interviewers will want to see whether your personality will have a positive impact on the company's way of doing things.
- Past projects questions. These enable the interviewer to dig down into what you’ve done so far in your career and to see if you have the necessary mindset and experience. You should be open and honest about your successes and failures.
- People management questions. People management questions tend to dive into how you will lead your team. You can expect questions about how you will get the best out of people and how you’ll deal with problems and conflicts that may arise.
- 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.
Before we look at some examples, it’s worth noting that we’ve included both behavioral and hypothetical questions in this section. 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 lead a team through a difficult situation?" is a hypothetical question.
Let’s take a look at some example questions.
Example behavioral questions asked in engineering manager interviews
1. Culture fit
- Tell me about yourself
- Why are you leaving your current job?
- Why Facebook/Google/Amazon etc?
- Tell me about a mistake you made and the lesson you learned from it
- How do you handle conflicts?
- Describe a time when a customer asked you for one thing, but you knew that they needed something else
- When was the last time you did something innovative?
2. Past projects
- Tell me about what you've been working on over the last year
- Tell me about a project, product or system you worked upon. What were the design and technical problems you faced? How did you solve them?
- Tell me in detail about the architecture of a project you've been involved with
- Tell me about a time you scaled a system
3. People management
- How do you deal with low performers?
- How do you deal with high performers?
- Tell me about a time you developed and retained team members
- How do you manage your team’s career growth?
- Tell me about a difficult employee situation that you handled well/not so well
- What would you do with someone that had stayed at the same level for too long?
- How do you recruit good engineers?
- Give an example of how you helped another employee
- Tell me about a time you had a conflict with your supervisor and how you resolved it
4. 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 steps that you took to remedy the situation
- Tell me how you would balance engineering limitations with customer requirements
- What was the largest project you've executed?
- Tell me about a time you needed to deliver a project on a deadline but there were multiple roadblocks and constraints to deliver. How did you manage that situation?
When you’re preparing for this part of the interview, we recommend using this step-by-step guide we wrote on answering behavioral questions.
Let’s move on to the next type of question you’ll face.
Facebook, Google, and Amazon products have millions of monthly active users. Their engineering managers therefore need to be able to design systems that are highly scalable.
This is the part of the interview where you want to show that you can both be creative and structured at the same time. The questions you'll be asked are typically quite open-ended and feel more like a discussion.
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.
And you'll need to be thorough in your explanations - you'll be expected to draw boxes and arrows on a whiteboard (or an online equivalent) to illustrate your answers.
Here are some example system design questions asked by Facebook, Google, and Amazon.
Example system design questions asked in engineering manager interviews
- Design the next Twitter
- How would you design a system that reads book reviews from other sources and displays them on your online bookstore?
- How do you handle calls between clients and REST API services with increased volumes?
- Design a short URL system
- Design a real-time comment system to go under a Facebook post which may have millions of concurrent active users
- How would you design the Facebook newsfeed?
- How would you use a load balancer for memcache servers?
- How would you design Google Docs?
- 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?
To help you dig deeper into system design questions, we've written an in-depth guide on how to answer them.
Let's move on to the final question type.
Engineering managers and their teams use code to tackle some of the most important and complex challenges their companies face. It's therefore essential that they have strong problem-solving skills.
If you’re interviewing at Facebook or Google, you’ll still need to show that you can write well in at least one programming language, can think in a structured way, and can apply good understanding to a range of coding and algorithm challenges (note that Amazon typically doesn't ask coding questions in engineering manager interviews).
We’ve analyzed Glassdoor data to provide you with a list of questions asked by Facebook and Google in engineering interviews. The list includes questions asked in regular (non-management) interviews, but you can expect the types of coding questions asked at the engineering manager level to be very similar.
To make these questions easier to study, we've divided them into the following categories, with the most frequent first.
- Graphs / Trees (34% of questions, most frequent)
- Arrays / Strings (32%)
- Dynamic Programming (15%)
- Recursion (6%)
- Search/ Sort (5%)
- Geometry/ Maths (5%)
- Linked lists (2%)
- Stacks / Queues (1%)
We've also modified the phrasing to match the closest problem on Leetcode or another resource, and we've linked to a free solution.
Example coding questions asked at engineering manager interviews
1. Graphs / Trees (34%)
- "Given the root node of a binary search tree, return the sum of values of all nodes with value between L and R (inclusive)." (Solution)
- "Given a Binary Tree, convert it to a Circular Doubly Linked List (In-Place)." (Solution)
- "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)
- "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)
- "Implement an iterator over a binary search tree (BST). Your iterator will be initialized with the root node of a BST." (Solution)
- 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 an array nums of n integers where n > 1, return an array output such that output[i] is equal to the product of all the elements of nums except nums[i]." (Solution)
- "Given a non-empty string s, you may delete at most one character. Judge whether you can make it a palindrome." (Solution)
- "Implement next permutation, which rearranges numbers into the lexicographically next greater permutation of numbers." (Solution)
- "Given a
target, return the number of non-empty submatrices that sum to target." (Solution)
- "Given a list of non-negative numbers and a target integer k, write a function to check if the array has a continuous subarray of size at least 2 that sums up to the multiple of k, that is, sums up to n*k where n is also an integer." (Solution)
- "Say you have an array for which the ith element is the price of a given stock on day i. If you were only permitted to complete at most one transaction (i.e., buy one and sell one share of the stock), design an algorithm to find the maximum profit." (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)
- "We have a list of points on the plane. Find the K closest points to the origin (0, 0)." (Solution)
- "Given two arrays, write a function to compute their intersection." (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)
- "A linked list is given such that each node contains an additional random pointer which could point to any node in the list or null. Return a deep copy of the list." (Solution)
- "Implement the following operations of a queue using stacks." Note: see more details at the following link. (Solution)
Now that you know what questions to expect, let's focus on how to prepare. Here are the three preparation steps we recommend to help you get an offer as an engineering manager.
3.1 Practice by yourself
As outlined above, you'll encounter three main types of interview questions: behavioral, system design, and coding. Below, we've compiled resources and tips to help you prepare for each of these. Let's get into it!
3.1.1 Behavioral interview questions preparation
For answering behavioral interview questions, we recommend learning our step-by-step method. Each company will be looking for you to demonstrate specific leadership abilities as you answer behavioral questions, and a great way to highlight your top skills is by preparing several "stories" in advance.
When we say "story", all we really mean is a scenario from your past work experience that you've outlined in advance, so that you can use it in your responses to interview questions. For example, maybe you were able to get a past project back on track after it fell behind on deadlines - that would be a great story for your interviews.
When you are preparing your stories, it's a good idea to refresh on the finer details of the project/situation to make sure you're ready to respond to any follow-up questions your interviewers might ask. You should also think about how you can summarize the main points of these experiences for your interviewers, so that you can communicate in a clear and concise way.
3.1.2 System design interview questions preparation
For system design interview questions, we recommend getting used to the step-by-step approach described in the video below. It talks about Amazon, but the advice is relevant whichever company you're interviewing for.
Here is a summary of the approach:
- Step 1: Ask clarification questions
- Understand the goal of the system (e.g. sell ebooks)
- Establish the scope of the exercise (e.g. end-to-end experience, or just API?)
- Gather scale and performance requirements (e.g. 500 transactions per second)
- Mention any assumptions you're making out loud
- Step 2: Design at a high level then drill down
- Lay out the high level components (e.g. front-end, web servers, database)
- Drill down and design each component (e.g. front-end first)
- Start with the components you're most comfortable with (e.g. front-end if you're a front-end engineer)
- Work with your interviewer to provide the right level of detail
- Step 3: Bring it all together
- Refer back to the requirements to make sure your approach meets them
- Discuss any tradeoffs in the decisions you've made
- Summarize how the system would work end-to-end
We'd also recommend studying our system design interview guide, which digs into this method in more detail. It also provides several example questions with solutions.
3.1.3 Coding interview questions preparation
For coding interviews, we recommend following the approach hinted at in the video below, as well as taking on board the various useful bits of advice it shares. This content was made by Google, but again, it's relevant whichever company you're interviewing at.
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 tradeoffs before starting to code
- Plan and implement your solution
- Test your solution, including corner and edge cases
To practice solving questions, we recommend using 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 company-specific questions using Leetcode's premium tier. Don't forget to practice on a whiteboard or Google Doc instead of in an editor.
3.1.4 Practice out loud
One more thing we recommend you do when you are preparing on your own, is to practice out loud. This may sound strange, but it will significantly improve your confidence and the way you communicate your answers during an interview.
Play the role of both the candidate and the interviewer, asking questions and answering them, just like two people would in an interview. Trust us, it works.
3.2 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.3 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 an engineering manager or someone who has experience running interviews at a 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 Facebook, Google, and Amazon. Learn more and start scheduling sessions today.
Any questions about engineering manager interviews?
If you have any questions about engineering manager interviews, don't hesitate to ask them below and we will be more than happy to answer them. All questions are good questions, so go ahead!