Microsoft has two stages for hiring.
Initially, you will be provided with a phone interview (30 minutes) or an on-campus interview. You may be asked a technical question. Be prepared to answer questions related to your background and projects.
I passed this stage and, in about a week, I was notified that I would be moving on to their on-site interview in Redmond. I was given about a month between the phone interview and my on-site.
Depending on your process, you will either be going to Microsoft Building 111's recruitment event, where you are cycled through 4 interviewers among 10-20 other candidates, or meeting with a recruiter and then going to another building to interview. The latter typically involves 3-5 interviews, including a lunch interview.
This time, I was selected to interview with 3-5 people in the Office team. You are not given your team beforehand. The team you interview with may also not be the team you end up working with.
The problems are algorithmic in nature, and you are expected to test and clarify requirements. Each interview is about an hour long. Between each interview, you will take a break while the interviewers discuss your performance.
From what I've understood, each interviewer has a hire/no-hire decision. If you receive two no-hires out of your first three interviews, your day may be cut short. When you reach the fifth interview, that person is the hiring manager and ultimately has veto power.
For me, it was a rather discouraging experience. I made it to the fifth interview. I felt I performed very well, giving them optimal solutions and struggling with only one and a half of the six problems I was asked, but I ended up solving them optimally in the end. However, I received the discouraging call later that week that I would not be hired. It didn't make sense to me, and I tried to reflect on how I could have performed poorly, given my familiarity with technical interviews at this stage. I felt that what I had to nitpick about myself was where I performed weakly.
The most discouraging part is that they will not tell you anything aside from "apply back next year." At this stage, I'm not even sure how to improve since I do not think I am technically lacking, and I did not believe I came off as rude or obnoxious during the interview. Just my luck.
Swap a doubly linked list in pairs.
This was the problem that I struggled with most and happened to be the first of the two during the last interview. I overthought it because I had visited a problem the evening before of swapping a singly linked list in pairs and had ruined my thought process.
The following metrics were computed from 207 interview experiences for the Microsoft Software Engineer role in Redmond, Washington.
Microsoft's interview process for their Software Engineer roles in Redmond, Washington is fairly selective, failing a large portion of engineers who go through it.
Candidates reported having very good feelings for Microsoft's Software Engineer interview process in Redmond, Washington.