THE MICROSOFT INTERVIEW.
TECHNICAL INTERVIEW PROCESS
Note: A few months ago, Microsoft’s John Montgomery, Partner Director of Program Management, mentioned that they’re redefining their interview process for software developers. Because this isn’t a company-wide process yet (the article focuses mainly on program managers), we’ll detail the interview process from the point of view of software engineers, not program managers. We'll keep an eye on this topic and update the article if there are any changes.
(keep scrolling FOR A FULL WRITEUP with DETAILS)
THE MICROSOFT INTERVIEW.
Looking to land a job at Microsoft but don’t know what the process looks like? Well, you’ve come to the right place. Detailed in this post is a look at the timeline of the interview process, preparation guidelines, and what’s different or unique about Microsoft's hiring process as opposed to other tech companies.
Microsoft has a pretty standard interview process that resembles much of the other large tech companies. The interviews are a mix of coding and behavioral Q/A.
There are a few things that separate Microsoft from other tech companies and that can be boiled down to their on-site interviews, the fact that they hire for teams, and the "As Appropriate" interview.
Microsoft’s hiring levels start at 59 or 60 for software engineers. Those that fall under these levels will be SDE I and usually have 0-2 years of experience. Levels 61 and 62 are usually for software engineers with 3-5 years of experience and are denoted by SDE II.
We’ll now go through the interview process, preparation tips, and a deeper dive into what makes Microsoft’s hiring process unique. At the end we’ll provide you with some sample questions asked in a Microsoft interview.
BEFORE THE INTERVIEW
The first thing you should do is update your resume to be metrics/deliverables driven. Be succinct, show how what you’ve done relates to the position, and tailor it to the job description as it will better demonstrate how you’re a fit for the role.
As a best practice, it’s recommended that you apply on Microsoft’s career page as well as browse LinkedIn to connect with hiring managers, recruiters, and your own network. This shows that you’re eager to work there, and it may just put you on the fast-track to getting an interview.
When applying through Microsoft’s site, you’ll be asked to create a profile. Include all relevant experiences and skills that you have, as recruiters will use this information to steer you in a direction that aligns with your career goals.
Here is our guide on tackling the actual coding interview process with a 12-week plan.
CHOOSING YOUR LANGUAGE
Screening with a recruiter
The process from resume submission to first contact is generally around a week or two.
If your resume passes the test, a recruiter will reach out to you either via email or LinkedIn to schedule a call. The recruiter will ask what time works for you; assuming you’re brushed up on your coding skills and technical knowledge, it’s ideal to schedule this phone call as soon as possible so that your resume doesn’t get lost in the shuffle.
This phone call will be around 45 minutes and is split into two parts. First, they’ll ask you to walk through your resume, and sprinkled throughout the conversation will be behavioral questions to gauge your leadership, problem-solving style, and your ability to work in a team. You can expect to spend about 10-15 minutes here. Second, there will be one coding question that will be administered through a shared editor. You’ll have the remaining ~30 minutes to develop a solution. The coding question will be based around algorithms and data structures. Sample questions include:
Given an array of integers and a key, write a method that determines if the key is contained in the array.
Given k sorted arrays, merge them into a single sorted array.
Given a directed graph, find the shortest path between two nodes if one exists.
Reminder: Once you’re done, always ask what the next steps are so you have a clear understanding of when you’ll hear back from them and what is expected of you throughout the process.
If your interview went well, you’ll hear back from a recruiter within a week or two. Depending on where you’re located, you may be flown in to any number of the Microsoft campuses.
It’s important to know that with each interview you’ll be moving up the org chart. Each interviewer acts as a gatekeeper and if you perform poorly in your first few interviews, it may end the interview process altogether. Unlike at Amazon, the baggage of each interview stays with you.
The on-site interview is a full day of interviewing so be prepared to do a lot of talking. You’ll meet with 4-5 Microsoft employees for an hour each, who will be developers or managers that are on the team you are looking to join.
Halfway through your interviews, you will be taken to lunch. Now with most companies, the lunch portion isn’t an interview, it’s more of a conversation; at Microsoft, you will be interviewed during lunch. Your last interview will be with someone known as the AS-AP which stands for “As Appropriate”. This individual will have the final say of whether you’re hired or not.
Each round will be a mix of Q/A and coding exercises. The Q/A portion is where they’ll ask you questions specific to your resume. It’s a good idea to practice answering behavioral/personal questions and as a best practice, be able to spend a minute or two talking about each line on your resume. One sentence answers are not going to cut it.
Your coding questions will be centered around algorithms and data structures, so make sure you study up on them. Here is our guide (12-week plan) on preparing for coding interview questions.
Note: If you have a little more experience (3-5 years) you can expect some system design questions.
Be prepared to work through questions on a whiteboard and discuss your thought process, as your interviewer will look at how you approach problems, what questions you ask (this is key as the interviewer will only give a brief overview of the problem statement), and other approaches you may be able to take. In many cases, your interviewer is not so much concerned with whether or not you solved the problem (which is important) but rather how you think about the problem. It’s important to articulate your thought process throughout.
As mentioned above, Microsoft really loves to ask about data structures and algorithms.
Data structures you should know:
Algorithms you should know:
Breadth first search
Depth first search
Searching and sorting algorithms
Divide and conquer
THE OFFER / no offer
At this stage, you can expect to hear from your recruiter within a week.
In the event you don’t receive an offer, you’ll most likely have to wait 6 months to a year to re-apply. You may be able to work with your recruiter to find a different position which can shorten the amount of time for re-applying.
On the other hand, if your interviews went well, Microsoft will reach out to you, at which point they’ll make you an offer, send you some paperwork, discuss details and any further questions you have.
If you perform poorly or completely flunk the first few interviews, Microsoft may send you home early. Don’t expect much feedback, but it’s likely that they have found a better fit for the position. In this event, it doesn’t hurt to reach out to your recruiter and ask for clarification.
HIRING FOR TEAMS
Microsoft hires for specific teams. Because they have a wide range of products (i.e. Azure, SharePoint, etc.) it’s best to identify where your skills overlap and what sounds interesting to you. If you’re not sure where you fit, do some research and work with a recruiter to see where you may be best suited.
AS-AP (as appropriate)
Your last interview will be with someone known as the “As Appropriate”, who is a senior-level manager. They will be interviewing you with all the information from your previous interviews, meaning they already know how your previous interviews went. The AS-AP has a strong say for whether you’re hired or not. Eventually the decision will be made by the AS-AP and the hiring manager.
Microsoft, much like Amazon, has hiring levels. Levels 59 and 60 are going to be entry-level software development engineering roles (or SDE I). Levels 59 and 60 are typically new graduates or those with 0-2 years of work experience.
Levels 61 and 62 are going to be mid-level SDE roles (SDE II). People in these roles usually have 3-5 years of work experience.
Compensations via Glassdoor.
SAMPLE Microsoft interview questions
Over the phone:
Find the longest palindrome in a string
Merge two sorted linked lists without creating a new one
Find the median of two sorted arrays
Given a 2d matrix of numbers where each row and column is sorted in increasing order, describe an efficient algorithm to test whether a given number is in the matrix.
Write a function to reverse the order of words in a string, without using any additional buffer.
If you have all the numbers from 1 to 1,000,000, except one of them. How would you find out which number is missing?
Given a matrix filled with letters (a-z) and a list of words, give an algorithm to find each word in the matrix (or print out message if not found).
Describe a project you worked on in the past (expect probing questions)
What was the most difficult challenge that you have done, and why?
HOW TO BEST PREPARE FOR YOUR INTERVIEW
In our experience, it’s best not to try to memorize specific questions. There are no silver bullets.
The questions that companies ask are always changing, because companies of this size are always trying to stay ahead of the curve and try new things. The questions you face will also depend on the team and the hiring manager.
Instead, it’s best to work your way through the fundamentals so you understand the underlying concepts and can answer even new types of interview questions with confidence.
Need help preparing for the interview?
Check out the Definitive Interview Prep Roadmap,
written and reviewed by real hiring managers.