The complete guide for the Microsft hiring process (2024), based on actual interview experiences. Get Microsoft-focused practice questions and tips.
How should I prepare for the Microsoft Codility Test?
So, you finally got that exciting phone call or email about your software engineering (SE or SDE) application at Microsoft.
But when you tried to figure out what interviews to expect, you found bits of conflicting information that only made you more confused and nervous.
First, you’re not alone. Lots of candidates struggle to find clear answers to basic questions about the recruitment process, such as:
This guide will help you answer these questions, and will walk you through all the stages ahead of you:
Let's get started.
Microsoft’s interview process isn't fixed, so the number and order of the recruitment stages may slightly change according to the team you are applying for and your experience level.
Based on SDE interview experiences, this is how the interview process will usually go:
Your recruitment process may either start with an HR recruiter’s phone call (1) or straight with an invitation for the online assessment (2).
In case you start with a phone call, you should expect a short conversation in which the recruiter will want to hear about you and your interests. This is done to make sure you have what it takes to get the job and check what team would be the best fit for you.
You’ll then move on to the trickier interview rounds.
Starting with:
Microsoft first-round interviews will be remote interviews, held by either an online Codility test, a phone screen (video call), or both. In some cases, you might get the option to choose which one you prefer.
Microsoft Codility interview
This online technical screen (OTS) is conducted via an online coding platform called Codility. The Microsoft Codility test usually consists of 2-4 coding questions, to be solved within 60-90 minutes. On these questions, you’ll be expected to implement basic data structures and algorithms.
Microsoft phone screen interview
The Microsoft phone interview is a virtual interview typically held on Microsoft teams or skype. Microsoft’s phone interview will last for about 30 mins, questions can be behavioral, easy-medium level coding problems (1-2 questions), and conceptual questions.
You might be thinking…
What can I expect in a 30-minute phone interview?
Well, this is a typical option:
Here are online assessment questions commonly asked by Microsoft:
Given a singly linked list of N nodes, find the middle element of the linked list.
If there are even nodes, meaning there would be two middle nodes, print the second middle element.
Example:
Input:
LinkedList: 1->2->3->4->5
Output: 3
Given a grid consisting of '0's(Water) and '1's(Land), find the number of islands.
Note: An island is surrounded by water and is formed by connecting adjacent lands horizontally, vertically, or diagonally. i.e., in all 8 directions.
Example:
Input:
grid = {{0,1},{1,0},{1,1},{1,0}}
Output:
1
Given an array Arr that contains N integers (may be positive, negative or zero), find the product of the maximum product subarray.
Example:
N = 5
Arr [ ] = {6, -3, -10, 0, 2}
Output: 180
Given a sorted linked list, delete all nodes that have duplicate numbers (all occurrences), leaving only numbers that appear once in the original list.
Example:
Input:
N = 8
Linked List = 23->28->28->35->49->49->53->53
Output:
23 35
Given a non-negative integer S, represented as a string, remove K digits from the number so that the new number is the smallest possible.
Note : The given num does not contain any leading zero.
Example:
Input:
S = “149811”, K = 3
Output: 111
Given a sorted array Arr[ ] (0-index based) consisting of N distinct integers and an integer k, find the index of k, if it’s present in the array Arr[ ]. Otherwise, find the index where k must be inserted to keep the array sorted.
Example:
Input:
N = 4
Arr = {1 , 3, 5, 6}
k = 5
Output: 2
Here are common Microsoft phone interview questions:
Explain recursion to a 5-year-old.
Why do you want to work for Microsoft?
What is the difference between good code and great code?
There are 9 identical apples except for one which is a little heavier. You have a balance scale that you can only use twice. How do you figure out which apple is the heaviest?
What is a linked list?
What are your two most favorite programming languages? What is the difference between the two?
Get full solutions for 350+ coding questions on our Online Assessment preparation course.
After completing Microsoft’s Codility test and/or phone screen interview, you’ll typically get an answer within 2-4 weeks - either a positive or a negative one. In some cases, it only takes a few days, but there's no need to worry if it takes longer than that.
Passing the first round OA will get you to:
The next 4-5 interviews will be conducted by members of the team you are applying for, ideally all on the same long day.
These interviews may sometimes be Virtual onsite interviews, that will be held on Microsoft Teams or on skype, with technical questions given using Codility.
Each interview will last for about 1 hour. You’ll need to pass each interview to move on to the next one, so if you only go through some of the interviews, you probably didn’t make the cut.
To pass these interview rounds, you need to answer two kinds of Microsoft onsite interview questions: coding and behavioral questions. If you pass your first 3-4 rounds, you’ll be called for a final interview round:
This is the last step before getting an offer.
On the AA interview, you’ll meet a senior executive from Microsoft.
The interviewer will first want to fill in any remaining questions that were left from your assessment. This means the focus may be on either behavioral or technical questions, according to your previous interviews. If you did well in previous interviews, the interviewer would also try and “sell” Microsoft to make sure that you’ll accept their offer if suggested.
Finding a job can be a lengthy and challenging journey, often stretching over months and requiring multiple pre-employment tests and interviews. With our Premium Membership, you'll have the support you need every step of the way.
Typically, each interview will contain 1 or 2 coding questions and some behavioral questions.
If you’re applying for SDE II (and above), you’ll also be asked to solve system design questions
Coding questions
On this segment, you’ll be given coding questions that you’ll have to solve in real-time. This means solving a problem in front of your interviewer, on a whiteboard or similar format, and talking about your solution meanwhile and afterwards.
The interviewer might also change the coding problem as you solve it, to see if you can adjust your solutions to new restrictions and conditions.
Here are technical coding interview questions previously asked by Microsoft:
Given two singly linked lists of size N and M, write a program to get the point where the two linked lists intersect each other.
Example:
Input:
LinkList = 3 ->6 ->9 ->common
LinkList2 = 10 ->common
Common = 15 ->20 ->NULL
Output: 15
A celebrity is a person who is known to all but does not know anyone at a party. The celebrity may or may not be present at the party. You need to find if there's a celebrity in a party of N people.
Example:
Input:
N = 3
M[ ] [ ] = { {0 1 0},
{0 0 0},
{0 1 0} }
Output: 1
Given a binary tree and a node, find the grandparent of a given node in the binary tree.
Our preparation course focuses on Microsoft's Online Assessment. Some of the questions are on a similar level as the onsite interview technical questions, this prep will also help prepare for those.
Behavioral Interview Questions
As mentioned, you will also be asked behavioral questions.
What sets Microsoft questions apart is that they aim to uncover why you want to work specifically at Microsoft.
It can be helpful to ask yourself some of the popular questions asked, prior to your Microsoft interviews.
Here are behavioral interview questions commonly asked by Microsoft:
So now you must be thinking,
Here are the 4 most important tips to start your preparation:
To solve coding interview questions, you should be able to implement data structures and algorithms.
This means A LOT of practice on coding questions and thinking problems.
Ok, so where should you start?
You should know how to simply explain main Computer Science concepts.
To do this, go over the basics:
As well as data structure and algorithm concepts like strings, recursion, Binary trees, etc.
Try to explain them to yourself or to a friend in the simplest way possible.
As mentioned, Microsoft puts special emphasis on the level of your motivation to work specifically at Microsoft.
You are expected to show curiosity and interest in the position and in the company (which is also important for your own personal satisfaction on the job).
Try to ask yourself what interests you in the company, and the position you’re applying for.
Here are a few tips for that:
With that said, you are most definitely not expected to know everything about the job you’re applying for. This is mostly to develop your interest in the position you’re applying for and in Microsoft.
On behavioral interviews, Interviewers will want to understand your personal style: how well you can communicate, initiate, lead, learn from your mistakes and handle criticism.
This is especially important if you’re a junior software engineer. In that case, interviewers would pay more attention to behavioral questions aimed at assessing your ability to adjust and grow within the company.
It’s easier for the interviewer to get a feeling of who you are when you share an experience.
So, to show your skills,
think of projects/courses/past experiences that were meaningful to you.
Try and describe:
So, Microsoft’s interview process for software engineers may seem endless at first.
But now that we’ve broke it down into smaller and clearer stages, you can focus on preparing yourself and passing each upcoming stage, all the way until getting an offer.
Best of luck!
If you have any questions that were left unanswered, please let us know! We would like to help make Microsoft’s interview process as clear as possible for you.
Money Back Guarantee
Since 1992, JobTestPrep has stood for true-to-original online test and assessment centre preparation. Our decades of experience make us a leading international provider of test training. Over one million customers have already used our products to prepare professionally for their recruitment tests.