Microsoft Interview Process for Software Engineers

 

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:

  • How many interview rounds are there?
  • What questions are asked on Microsoft's phone interview?
  • How to prepare for software engineer interviews?

This guide will help you answer these questions, and will walk you through all the stages ahead of you:

  1. A recruiter's phone call
  2. The online assessment
    Online assessment practice questions
  3. The on-site interviews
    On-site practice questions

 Let's get started.


What is Microsoft’s Interview Process for Software Engineers?

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:

 

Microsoft-interview-process

 

Microsoft has ~6 rounds of interviews and assessments:

  1. An HR recruiter email/ phone call.
  2. The online assessment.

 3-6. On-site/ virtual on-Site interview rounds.


Overall, it usually takes about 3-8 weeks until you go through all the interviews and get an offer. 


Now, let’s look into these stages step by step:


1. A Recruiter’s Phone Call


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:


2. The Online Assessment


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. 

  • If you are a student applying on-campus, you may expect an on-campus interview, similar to the phone screen interview only face to face. You should also expect 1-2 easy-medium coding questions.
  • If you’re applying for a software engineering internship, you’ll likely get both a codility test and a phone interview. Internship interview questions will usually include conceptual problems and easy-level coding questions.

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:

Phone-Interview-Process

Common Microsoft First Round Interview Questions

 
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 positivenegative 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 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:

  • Tell me about yourself and the projects you worked on. 
  • 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.

 

How long does it take to hear back after the first-round interview?

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:  


3. The On-Site Interviews

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:

The “As Appropriate” (AA) Interview

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.

 

On-Site Interview Questions

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:

  • Tell me about yourself.
  • What technology are you most passionate about?
  • What is your favorite Microsoft product and why? What are its downfalls? How would you improve it?
  • Tell me of a time where you had a conflict with someone you worked with.
  • Describe a time when you had to learn a new technical skill on the job.
  • Why do you want to be a software engineer?  

So now you must be thinking,

How To Prepare for Microsoft SE Interviews?


Here are the 4 most important tips to start your preparation:

1. Practice Coding Interview Questions


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? 

  • It is best to start off with easy interview coding questions and work your way up to the more difficult ones. 
  • Try to make your coding practice a regular routine, just like going to the gym. Choose a goal that is realistic, say two coding questions per day, and stick to it. This way you’ll get better and more confident at solving different coding questions, without the extra stress. 
  • To make the most of your preparation time, practice questions that are based on previously asked Microsoft interview questions. This will ensure you’re practicing the most relevant topics for your coding interview.

2. Go Over Basic Computer Science Concepts


You should know how to simply explain main Computer Science concepts.

To do this, go over the basics:

  • Operating systems
  • DBMS
  • Computer Networks

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.

3. Read About The Position


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:

  • Go to Microsoft’s website and try to soak in their culture.
  • Read about Microsoft’s products, think of interesting questions, and research products that interest you.
  • Talk to people you know that have worked at Microsoft and ask them about their experience.

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:

  • What did you like about them?  
  • What didn’t you like? 
  • What obstacles have you faced?  
  • What have you learned? 

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.