Engineering manager interviews are tough to crack if you aren't well prepared. To get you started, we've listed 11 very typical questions from Facebook, Google and Amazon for you here.
Take a quick look and then we'll dig deeper into the various different types of questions and how best to prepare for them.
11 very typical engineering manager interview questions
- Why /Google/Amazon/Facebook etc? (behavioral question)
- When was the last time you did something innovative? (behavioral question)
- How do you deal with low performers? (behavioral question)
- Describe a project in the past that was behind schedule and provide concrete steps that you took to remedy the situation (behavioral question)
- How do you handle conflict? (behavioral question)
- Tell me about a difficult employee situation that you handled well/not so well (behavioral question)
- How would you design a ticketing platform? (system design question)
- How do you handle calls between clients and REST API services with increased volumes? (system design question)
- Given the root node of a binary search tree, return the sum of values of all nodes with value between L and R (inclusive). (Coding question: solution)
- Given a non-empty string s, you may delete at most one character. Judge whether you can make it a palindrome (Coding question: solution)
- Given an encoded string, return its decoded string. (Coding question: solution)
You'll have noticed that the questions cover a range of different areas and skillsets. That's why you need to prepare strategically. To help you do so, we've analyzed over 75 real interview questions from Facebook, Google, and Amazon, grouped them into categories, and recommended a preparation approach so you can land the engineering manager job you're targeting.
Here's an overview of what we'll cover:
Alternatively, you might want to get more insight into the process and questions at a particular company. If so, 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
Right, ready to get into our general guide to cracking engineering manager interviews? Let's go.
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).
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 three 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.
- 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 /Google/Amazon/Facebook 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. 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
3. Project management
- Tell me about what you've been working on over the last year
- 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?
- 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?
When you’re preparing for this part of the interview, we recommend using this step-by-step guide we wrote on answering behavioral questions. The guide focuses primarily on Facebook but can be applied to any company.
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. You'll be using a whiteboard (or an online equivalent) to illustrate your answers.
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 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?
- Tell me in detail about the architecture of a project you've been involved with
- Tell me about a time you scaled a system
- 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.
Amazon typically doesn’t ask coding questions in engineering manager interviews. But Facebook and Google still do so you’ll 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.
If you’re interviewing for a company other than Amazon, Facebook or Google, we recommend checking with your HR contact as to whether you’ll have to solve coding questions.
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)
So, we've looked at the questions you can expect, but 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:
2.1 What interviews to expect
- 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.
2.1.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.
2.1.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.
[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.
Now that you know what questions to expect and what the typical process is, let's focus on how to prepare. Below are the three preparation steps we recommend to help you get an offer as an engineering manager. For extra tips and resources, take a look at our preparation-focused engineering manager interview prep guide.
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. The guide focuses primarily on Facebook but can be applied to any company.
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 was made by 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!