Microsoft engineering manager interviews are really challenging. The questions are difficult, specific to Microsoft, 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 an engineering manager at Microsoft. To help you get there, we’ve put together the ultimate guide below.
Here's an overview of what we'll cover:
- Interview process and timeline
- Example questions
- How to prepare
What's the Microsoft engineering manager process and timeline? It usually takes three to eight weeks and follows the steps below.
1.1 What interviews to expect
- Resume screen
- Recruiter phone screen (30-45 min)
- First-round interviews (1-2 calls, 45-60 min each)
- Onsite interviews (4-6 rounds, 45-60 min each)
Now, let’s take a look at each of these steps in more detail.
1.1.1 Resume screen
First, recruiters will look at your resume and assess if your experience matches the open position. This is the most competitive step in the process, as millions of candidates do not make it past this stage.
You can use this free guide to help tailor your resume to the position you’re targeting.
And if you’re looking for expert feedback, you can also get input from our team of ex-FAANG recruiters, who will cover what achievements to focus on (or ignore), how to fine tune your bullet points, and more.
1.1.2 Recruiter phone screen
In most cases, the interview process at Microsoft starts with an HR recruiter call. The objective of this conversation is to understand more about your background and to confirm that you've got a chance of getting the job at all. You can expect behavioral questions such as, "Tell me about yourself," "Why Microsoft?" 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(s). Your recruiter will usually let you know who you are interviewing with and what type of interviews you should expect, and they will share resources to help you prepare.
1.1.3 First-round interviews
Your next interview(s) after talking to the recruiter will be what’s often referred to as "phone screens," although they may take place over video chat. You'll speak to a peer or a potential manager, and they'll ask you a mix of technical and behavioral questions.
In our experience, Microsoft interviewers spend more time on behavioral questions than their counterparts at Facebook or Google. So it's worth making sure that you're ready for common behavioral questions (more on that later).
Some candidates only pass one phone screen in order to move onto the onsite round, while others have two: one focused on leadership and management, and the other focused on technical skills. Don’t worry, your recruiter will let you know which type of interview you can expect so that you can prepare properly.
1.1.4 Onsite interviews
If you pass the first-round interviews, you’ll be invited onsite for four to six interview rounds that last 45-60 minutes each. These interviews will be one-on-ones with a mix of people from the team you’re applying to join, including peers, the hiring manager, and sometimes a senior executive. They’re the biggest test for Microsoft engineering manager candidates.
The types of questions you can expect will be a mix of system design, coding, and behavioral questions. The amount and difficulty of each type will depend on the specific role that you’re applying to. We’ll dig deeper into this in section 2.
The "as appropriate," AA or ASAPP interview
Finally, your last interview will be with a senior executive from Microsoft (e.g. your hiring manager or possibly their boss). This interview is often referred to as the "as appropriate," AA or ASAPP interview because you will only be asked to do that interview if your first three interviews go well. If you don't do well in the first three, then you won't get an AA interview, and you won't get an offer.
AA interviewers have two roles. The first one is to ensure that there's no blind spot in your assessment. For instance, if your first three interviewers have established that you meet the technical hiring standards but aren't sure about culture fit, then your AA interview will mainly focus on behavioral questions. The second role of an AA interviewer is to "sell" the company to you if you did well in previous interviews. The idea here is that Microsoft wants to make sure you'll accept the offer if they decide to make you one.
[COVID Update] Given the Covid-19 pandemic, your onsite interviews with Microsoft may be conducted virtually. You can ask your recruiter for the latest information on their Covid-19 adjustments.
1.2 What exactly is Microsoft looking for?
At the end of each interview your interviewer will grade your performance using a standardized feedback form. Here is some of the information that's contained in the form.
A) Interview notes
Interviewers will file the notes they took during the interview. This usually includes the questions they asked, a summary of your answers, and any additional impressions they had (e.g. communicated ABC well, weak knowledge of XYZ, etc).
B) Competencies assessment
Your interviewer will then grade you on different competencies. They will be trying to determine if you meet the bar or not for each competency they are interested in. In other words, you'll need to convince them that you are at least as good as, or better than, the average current Microsoft engineering manager at the level you're applying for.
The exact list of competencies Microsoft looks for varies depending on groups, roles, and levels. But here are some of the main ones that are usually discussed by Microsoft recruiters:
- Passion for technology
- Problem solving
- Analytical ability
C) Hiring recommendation
Each interviewer will give a hiring recommendation at the end of the interview. The different options are along the lines of: "Strong hire," "Hire," "No hire," "Strong no hire."
D) Suggested follow-ups
The feedback forms are accessible by all the interviewers in your loop. And each interviewer can suggest a follow-up topic for your next interview. For instance, if you didn't check edge cases during a coding question, then your interviewer might flag that with you and also with your next interviewer so they can see if you will apply the feedback.
1.3 What happens behind the scenes
Your recruiter is leading the process and taking you from one stage to the next. Here's what happens at each of the stages described above:
- After the first round, your recruiter and hiring manager decide to move you to the onsite interviews or not, depending on how well you've done.
- After the onsite, each interviewer files their notes into the internal system, grades you, and makes a hiring recommendation (e.g. "Strong hire," "Hire," "No hire," "Strong no hire"). You usually need to receive a "Hire" grade from all interviewers to get an offer. But in some cases, the AA interviewer and / or hiring manager can decide to hire you even if you got one "No hire."
- If everything goes well, the recruiter will be in touch with an offer, usually within a week of the onsite, but it can sometimes take longer
It's also important to note that recruiters and people who refer you have little influence on the overall process. They can help you get an interview at the beginning, but that's about it.
As we mentioned above, you can expect three types of interview questions for an engineering manager role with Microsoft:
- Behavioral questions that assess your past experience and your ability to manage people and projects.
- System design questions that assess your technical knowledge, your thought process, and your knowledge of architecture and scaling.
- Coding questions 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 each category 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 Microsoft EM interview questions that were reported on Glassdoor and Blind, as well as some Microsoft software development engineer questions to round out your preparation. We've just categorized the questions, and we've changed the grammar and phrasing in some places to make them 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 an emphasis on behavioral questions during the overall interview process. Many candidates fail a Microsoft interview because of a lack of preparation for the behavioral section. The good news is that these questions can be easy to prepare for if you know what to expect.
There will be some general behavioral interview questions such as "Tell me about a difficult project you worked on,” "Tell me about yourself,” and “Why Microsoft?" Additionally, Microsoft has recently changed its culture to focus on the growth mindset. Showing that you embrace challenges, persist in the face of setbacks, and learn from criticism are therefore all good ways to show that you'll fit in with the company.
Finally, you’ll want to show that you know how to lead a team, develop talent, and manage your team’s performance. Practice using the questions below.
Example Microsoft engineering manager interview questions: Behavioral
- Why Microsoft? (sample answer from Amazon interviews)
- Tell me about yourself
- Why this role?
- What’s your favorite Microsoft product, and how would you improve it?
- How open are you to new ideas?
- Tell me about a time you learned from your mistakes
- Tell me about a time you were wrong
- Tell me about a time you helped a teammate approach a problem in a new way
- What has been your biggest accomplishment so far?
Leadership / People management
- Tell me about the time you had to drive a feature through
- Tell me about a time you had to manage someone’s performance
- Did you ever fire someone? Did you ever put someone on PIP? Why?
- How is managing other managers different from managing individual contributors?
- How will you be an asset in supporting the career development of those working under you?
- How would you disagree with your manager?
- Tell me about a time you made an unpopular decision
As Microsoft products have millions of monthly active users, the company's engineers need to be able to design systems that are scalable. So come prepared to answer system design questions.
While other technical questions in the interview process have a single optimal solution, many system design questions take the form of an open-ended 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. However, you should be ready to design any type of product or system at a high level.
We've listed some common system design questions which can be found in the Microsoft engineering manager / software development engineer interview reports on Glassdoor or on relevant forums (like the Leetcode forum). Give them a try below. For a complete list of 31 system design interview questions, take a look here.
Example Microsoft engineering manager interview questions: System design
Finally, you should come prepared to answer coding questions during your interviews. It is worth noting that this is the least reported question type for engineering manager candidates at Microsoft, with some candidates even reporting zero coding during their interviews.
However, your interviewer will likely look for assurance that your technical skills are sharp enough to keep up with and manage your team’s work. This is a good place to show that you think in a structured way and can write code that's accurate, bug-free, and fast.
To help you refresh your skills, we've taken some of the questions from Microsoft software development engineer interviews and broken them down into subcategories (e.g. arrays / strings, linked lists, graphs / trees, search / Sort, dynamic programming) This way, you can prioritize what to study and practice first.
Example Microsoft engineering manager interview questions: Coding
- Arrays / Strings
- "Given an input string, reverse the string word by word." (Solution)
- "Given an unsorted integer array, find the smallest missing positive integer...Your algorithm should run in O(n) time and use constant extra space." (Solution)
- "Given a C++ program, remove comments from it. The program source is an array where source[i] is the i-th line of the source code. This represents the result of splitting the original source code string by the newline character \n." (Solution)
- "Given a matrix of m x n elements (m rows, n columns), return all elements of the matrix in spiral order." (Solution)
- Linked lists
- "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)
- "You are given an array of k linked-lists lists, and each linked-list is sorted in ascending order. Merge all the linked-lists into one sorted linked-list and return it." (Solution)
- "Given a linked list, swap every two adjacent nodes and return its head. You may not modify the values in the list's nodes, only nodes themselves may be changed." (Solution)
- Graphs / Trees
- "Given preorder and inorder traversal of a tree, construct the binary tree. Note: You may assume that duplicates do not exist in the tree." (Solution)
- "Serialize and deserialize N-ary tree" (Solution)
- "Given a node in a binary search tree, find the in-order successor of that node in the BST." (Solution)
- "Given a binary tree, determine if it is a valid binary search tree (BST)." (Solution)
- Search / Sort
- "Given a 2d grid map of '1's (land) and '0's (water), count the number of islands. An island is surrounded by water and is formed by connecting adjacent lands horizontally or vertically. You may assume all four edges of the grid are all surrounded by water." (Solution)
- "Given two sorted arrays nums1 and nums2 of size m and n respectively, return the median of the two sorted arrays." (Solution)
- Dynamic programming
- "Given an integer array nums, find the contiguous subarray (containing at least one number) which has the largest sum and return its sum." (Solution)
- "Given n non-negative integers representing an elevation map where the width of each bar is 1, compute how much water it is able to trap after raining." (Solution)
Now that you know what questions to expect, let's focus on how to prepare. Here are the four most important things you can do to prepare for your Microsoft engineering manager interviews.
3.1 Learn about Microsoft's culture
Many candidates neglect this step. But before investing too much time preparing for a Microsoft interview, take a moment to make sure it's actually the right company for you.
Since Microsoft is such a well-known company, it's tempting to ignore this step completely. However, the prestige of the company alone won't make you happy day-to-day. It's the type of work and the people you work with that will.
If you know engineers who work at Microsoft (or used to), talk to them to understand what the culture is like. In addition, we would also recommend reading the following resources:
- Microsoft's growth mindset culture (by Microsoft)
- Microsoft strategy teardown (by CB Insights)
- Microsoft vision and mission analysis (by Panmore Institute)
- Microsoft annual reports (by Microsoft)
3.2 Practice by yourself
As mentioned above, you'll have to answer three types of questions at Microsoft: 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.
3.2.1 Behavioral interview preparation
For behavioral interviews, we recommend consulting our leadership, people management, and program/project management primers for tech interviews, as well as learning our step-by-step method for answering this type of question. You'll find the method in our Facebook-specific behavioral interview guide, but it's applicable to any company.
Here’s a summary:
Step-by-step approach to behavioral questions
- Situation: Start by giving the necessary context of the situation you were in. Describe your role, the team, the organization, the market, etc. You should only give the minimum context needed to understand the problem and the solution in your story. Nothing more.
- Problem: Outline the problem you and your team were facing.
- Solution: Explain the solution you came up with to solve the problem. Step through how you went about implementing your solution, and focus on your contribution over what the team / larger organization did.
- Impact: Summarize the positive results you achieved for your team, department, and organization. As much as possible, quantify the impact.
- Lessons: Conclude with any lessons you might have learned in the process.
Write down and practice your answers to the common behavioral questions we have listed in the previous section using this method.
3.2.2 System design interview preparation
For system design interviews, Microsoft does not give specific recommendations. But Amazon does, and the approach they outline in the video below is quite helpful.
Here is a summary of what you should do. For a complete framework and an example answer, consult our article on how to answer system design questions.
Step-by-step approach to system design questions
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)
- Talk through 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.2.3 Coding interview preparation
For coding interviews, we recommend getting used to the step-by-step approach recommended by Microsoft in the video below.
Here is a summary of the approach recommended by Microsoft:
Step-by-step approach to coding questions
Step 1: Situation, make sure you understand the problem correctly
- Write down the problem provided by the interviewer
- Ask clarification questions
- Agree on inputs and outputs
Step 2: Task, outline how you are going to solve the problem
- Talk through your ideas for solving the problem out loud
- Start with a simple case and work toward a solution, without coding
- Think about different test cases which you'll use for testing later
Step 3: Action, write clean code to solve the problem
- Start writing clean code with clear variable and function names
- Modularize your code with helper functions
- Check with your interviewer before using a library
- Bugs and forgotten variables are ok as long as you catch them early
Step 4: Result, test your solution and suggest improvements
- Run through the different test cases you've developed in step 2
- Incorporate any feedback from the interviewer into your approach
- Analyze the time and space complexity of your code and suggest improvements
To practice solving questions we recommend using our articles, 73 data structure questions and 71 algorithms questions, which have links to high quality answers to each problem. They are organized by type of data structure or algorithm as well as by difficulty level.
Past candidates report that easy and medium-level difficulty questions are sufficient for the interviews. Don't forget to practice questions on a whiteboard or a simple text editor instead of an IDE.
3.3 Practice with peers
Practicing by yourself will only take you so far. One of the main challenges of coding interviews is communicating what you are doing as you are doing it. As a result, we strongly recommend practicing live coding interviews with a peer interviewing you.
If possible, a great place to start is to practice with friends. This can be especially helpful if your friend has experience with engineering manager interviews, or is at least familiar with the process.
3.4 Practice with ex-interviewers
Finally, you should also try to practice engineering manager mock interviews with expert ex-interviewers, as they’ll be able to give you much more accurate feedback than friends and peers.
If you know an engineering manager who has experience running interviews at Microsoft 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 Microsoft and other leading tech companies. Learn more and start scheduling sessions today.