Senior Engineer's Guide To Microsoft's Interview Process and Questions

~20 minute read

Microsoft’s interview process and questions

Microsoft’s interview process consists of the following steps:

  • Recruiter call (and a hiring manager call from principal engineers and above)
  • Technical phone interview or Codility quiz
  • Onsite interviews
  • Team matching
Microsoft’s interview process: recruiter call, technical phone screen or Codility quiz, onsite, team matching

Before we get into the details of each of these steps, here are a few general notes about Microsoft’s process, evaluation criteria, and interviewers.

Microsoft lets you interview with different teams at the same time; if you want to maximize your chances interview with several of them simultaneously.

Microsoft’s process is mainly (though not fully!) team-dependent. That means that while you interview for a specific team, you may not necessarily be interviewing just with people on that team. For example, sometimes you might interview with the hiring manager for a specific team, and your other interviewers will be individual contributors from other teams.

Each team runs their own processes, which can vary quite a bit from team to team as well. Sometimes Microsoft bakes a quasi-team-matching activity into an interview process: where a candidate can meet multiple hiring managers in the same loop. Another variation is some candidates’ first round screens are with a hiring manager instead of a recruiter.

Step 1: Recruiter call

Please see the section above called “A note about recruiter calls”

Step 2: Technical interview (phone screen or a Codility quiz)

Microsoft’s technical phone screen is a traditional LeetCode-style coding interview, with technical questions ranging from easy to medium. Interviewers aren’t given a rubric. Some of them get training, others don’t. They have freedom to ask whatever they want and judge your technical skills however they want in this round.

If you end up getting the asynchronous Codility quiz instead, you sign on and have to answer several algorithmic questions in a short amount of time. In some ways, this is harder than the technical phone screen with the human because if you don’t pass the test cases, you get filtered out. You’re judged on several factors including: test cases, correctness, and code quality.

Step 3: Onsite

The onsite format can vary per org, but it typically includes the following round of interviews:

  • One behavioral round of behavioral interview questions
  • Two or three coding rounds
  • One system design round
  • One domain-specific round

Microsoft’s interview types in detail


This is the most important round at Microsoft.

Anecdote from a Microsoft Interviewer

“Since most engineers at Microsoft use C#, if you can, you should use C#, Java, or Python in the technical rounds. This way, your interviewer will be able to understand your code better and may even be able to help.”

Microsoft usually asks LeetCode-style medium-difficulty questions in coding rounds. Interviewers get to pick their own coding questions, but, according to interviewers, Microsoft favors the following topics (in no particular order):

  • Arrays and strings
  • Linked lists
  • Graphs and trees

LeetCode’s Top Questions for Microsoft is also a helpful resource.

Anecdote from a Microsoft Interviewer

“Tree questions are most popular, e.g., various types of tree sum, tree traversals of certain orders, subtrees, etc.”

Dynamic programming used to basically never happen, but now it’s a little more common. When you do get dynamic programming problems, it’s usually the classic ones like coin change, stair steps, edit distance, and various types of counting problems.

Tooling for coding interviews is at the team’s discretion, but many teams use Codility.

For everything you need to prepare for Microsoft’s coding interview, check out the section called "Microsoft coding interview preparation resources" below.

System design

System design is tied for the second most important round at Microsoft, and it’s sometimes conducted by a hiring manager. One idiosyncratic aspect of Microsoft’s process is their penchant for asking questions about compliance-related topics.

Anecdote from a Microsoft Interviewer

“My Microsoft interview was insanely easy. I tried to step it up when I started being an interviewer at Microsoft. But then I realized that's how it has to be. Technical is like 25% of it. It’s not a generic FAANG interview. It’s more about three things: a) ‘How well does this candidate know this system they’re going to be working on?’, b) ‘How do they meet the exact needs we have on this team?’, and c) ‘Do they understand the little things we value? Like compliance, manipulating data, data pipelines, EU data processing, etc.’”

Anecdote from a Microsoft Interviewer

“Microsoft is obsessed with the details of compliance. I don’t think I have seen a system that is as set up for auditing as Microsoft. Employees are asked to log so much. There’s a centralized grid system which is built into Azure. All logs are to be routed into that. This allows for centralized log spanning and auditing. Which I have not seen anywhere else.”

Outside of compliance-related questions, here are examples of other system design questions you might encounter:

  • Let's go back in time, how would you ship cargo to customers? Discuss an approach that touches on availability, latency, reliability, communication, etc.
  • Let's say we are interested in palindromes and we want to store them durably whenever we come up with them. Design a system that lets you enter a new palindrome every time someone comes up with one, and allows users to check if a palindrome exists in a system.
  • Assume you are a teacher and you want to test students if they know the country names correctly. You are provided a list of countries and pictures. Design a webpage + backend API that mimics a test for students to evaluate their knowledge (this would be for a full-stack role).

Tooling for system design interviews is at the team’s discretion, but many Microsoft employees use Codility Canvas or Excalidraw.

Domain-specific round

The domain-specific round is tied for the second most important round at Microsoft. Microsoft is more likely to do these types of rounds than other FAANGs, and these rounds can feel similar to system design but involve some coding.

Usually, domain-specific rounds are customized to the domain a given team works on and dives deep into that technology. So, whatever area this team is in (cloud networking, big data, etc.), that’s what they’ll ask you about.

On some occasions, Microsoft customizes a round to the candidate’s skills. For example, if you’re a backend engineer, they might ask you to design an API or design a database. They also may ask you open ended trivia questions about the programming language you are most familiar with.

Anecdote from a Microsoft Interviewer

“Another thing that happens in these rounds is they’ll ask you to discuss a complicated problem you have solved at your job. It's good for candidates to prepare to discuss 2-3 projects in detail: how did they implement caching, deal with scaling issues, and so on.”

Finally, you may get a scenario question that’s commensurate with your skill set. For instance, if you’re a back-end engineer, you may get a question like, “Imagine you're in a team and we're building a credit card registration system. And it's used by different firms. How do you build the interface?”


This is the least important round at Microsoft: the lowest effort way to pass is to not blame your teammates, not show red flags, and stay positive.

Microsoft doesn’t have a specific set of traits they’re looking for. You can expect the usual questions about your strengths and weaknesses, failure, conflicts with colleagues, projects, and lessons you’ve learned from past experiences in your career.

Anecdote from a Microsoft Interviewer

“A lot of people struggle with ‘What are your top 2 strengths and weaknesses?’ probably because they are trying to make up an answer on the spot. Good to prep answers to typical behavioral questions in advance.”

Ultimately, they are screening for three soft skills: positivity, ownership, and communication. They want to hire friendly people who can do the work and not blame others. This is not Apple or Netflix, where they want a particular flavor of personality, or where they ask interviewers to hire candidates they’d like to befriend. It’s more neutral.

Behavioral rounds can sometimes have a coding component as well. When this happens, it might be an easy/medium-difficulty 20-min LeetCode-style problem.

How Microsoft makes hiring decisions

Interviewers grade candidates on different scales, depending on the team.

Some orgs have an asynchronous feedback process, other orgs rely on live discussion, and still-other orgs do both. Some orgs have rubrics, and others don’t. Here’s how a rubric looks at one org:

  • Junior: Has growth mindset, seeks to understand ideas
  • Senior: Drives self development, models openness, failure is okay, open to different ideas
  • Principal: Consistently challenges group thinking towards productive discussion

Microsoft coding interview preparation resources

Here are a few more interview tips and resources to help you prep for a software developer or software engineer interview at Microsoft.

  • Microsoft interviewers can ask whatever questions they want, yet some interviewers repeat questions, so LeetCode’s Top Questions for Microsoft is somewhat helpful.
  • Study up on the services the team you’re interviewing with uses.
  • Ask your recruiter for specifics about your rounds. If you get nothing helpful, then practice practical questions, LeetCode-style questions, and domain-specific questions.

In addition, we’ve aggregated a bunch of useful Microsoft content for you! We have replays of candidates doing mock interviews with Microsoft interviewers, long-form solutions to common Microsoft questions, and deep dives into technical topics that tend to come up in Microsoft interviews.

Microsoft interview replays

Below are a series of mock interview replays, conducted by Microsoft interviewers on our platform. Watch them so you can learn from others’ mistakes.

Solutions to common Microsoft questions

Below are common questions that interviewers from Microsoft ask on our platform. Since our data comes from mock interviews, questions may not be exactly the same as what you'd see in real interviews.

Data Structures and Algorithms

Subarray Sum Equals K

Given an unsorted array of integers and an integer k, find the number of subarrays whose sum equals k.

Data Structures and Algorithms

Even Odd Tree

Given a tree, verify that on even levels, all values in the level are strictly increasing and even. On odd levels, verify all values in the level are strictly decreasing and odd.

Data Structures and Algorithms

K Closest Points To Origin

Given a list of tuples that represent (X, Y) coordinates on an XY plane and an integer K, return a list of the K-closest points to the origin (0, 0).

Data Structures and Algorithms

Currency Conversion

Given a set of parameters, find the conversion rate that maps to the 'from' currency to the 'to' currency from every single query. Your return value should be a number.

Data Structures and Algorithms

LRU Cache

Implement an LRU Cache LRU = Least recently used cache

Data Structures and Algorithms

Sum Root to Leaf Numbers

You are given the root of a binary tree containing digits from 0 to 9 only. Each root-to-leaf path in the tree represents a number, for example, the root-to-leaf path 1 -> 2 -> 3 represents the number 123. Return the total sum of all root-to-leaf numbers.

Data Structures and Algorithms

Partition List

Given a list of integers L and a number K, write a function that reorganizes L into three partitions: elements less than K, elements equal to K, and elements greater than K. No additional lists may be used.

Data Structures and Algorithms

Reverse Words in a String

Given an input string `s`, reverse the order of the words without reversing the words themselves.

Data Structures and Algorithms

Regular Expression Matching

Given an input string (s) and a pattern (p), implement regular expression matching with support for '.' and '*'. '.' Matches any single character. '*' Matches zero or more of the preceding element.

Data Structures and Algorithms

Boundary of Binary Tree

The boundary of a binary tree is the concatenation of the root, the left boundary, the leaves ordered from left-to-right, and the reverse order of the right boundary.

Technical topics

To figure out what technical topics will come up in your Microsoft interviews, we did two things. First, we spoke to a bunch of Microsoft interviewers in our community. Then we cross-referenced all the anecdotes we heard with Glassdoor data AND our own data-set of mock interviews in the style of Microsoft. Based on all of the above, here are the technical topics you’re likely to encounter:

Other Microsoft interview preparation resources


System design and domain-specific

Want to know if you’re ready to interview at Microsoft? Do anonymous mock interviews with real Microsoft interviewers, and see exactly where you stack up.
See available times

We know exactly what to do and say to get the company, title, and salary you want.

Interview prep and job hunting are chaos and pain. We can help. Really.