Taro Logo

Software Development Engineer Interview Experience - Redmond, Washington

February 1, 2013
Positive ExperienceGot Offer

Process

I submitted my resume online at the end of the year (in December). The HR department informed me that they would contact me only in January or February, as they normally freeze hiring for new graduates during that period. As promised, they contacted me in February and scheduled a phone screening with one of the development engineers.

The phone screening was normal. The person who contacted me was easy to communicate with. He asked about myself, the projects I worked on, my interests, and which products and teams at Microsoft appealed to me. This was to get an overall idea of where my interests lay and which team would be a good fit. Following this, there was a simple algorithm question on linked lists: delete a node and do so in an optimized way, ensuring all corner cases were considered.

After nearly two weeks, they called me for an onsite interview. The process was pretty smooth. Every day, I received emails from HR regarding things I needed to do, as well as travel and accommodation arrangements. I even received a 'best wishes' email from them prior to the interview day.

On the day of the interview, I was interviewed by five people. It involved both technical and behavioral questions. The interviews were held in the cubicles of the respective engineers and managers.

The first interview focused on detailing my resume. The interviewer asked about all the projects listed on my resume, so being well-prepared is essential. He also asked if I had any conflicts with others during project work and how I resolved them. This was followed by whiteboard coding problems. Initially, the focus was on how I approached the problem, and then I had to write the code. He inquired about time complexity.

The second interview was again about projects. Specifically, he asked about my internship project. Then, I was asked to solve a problem. We discussed the pros and cons of my approach, and then I was asked to write the code, including time complexity. For one problem, he asked about the drawbacks of my approach and if I could find a way to resolve them. I provided a solution and proceeded to the third interview.

The third interview was a lunch interview. I had no idea about the team I would be interviewing with until that morning. This is Microsoft's policy: not to let candidates know the team they will be interviewing with, so you cannot research them beforehand. Therefore, the lunch interview is all about you talking. Be ready to ask questions and speak. It's all about demonstrating your interest in the job and the team, and how well you communicate. I started by discussing the team's business model, architecture, technologies used, comparing them with other technologies, competitors, and new features. I also commented on the negative aspects of the product and compared them with competitors' features. Importantly, don't stop talking.

If you perform well in the first three interviews, you will be invited for the fourth.

My fourth interview was more about coming up with a data structure for a problem, then solving a given problem and writing an API. Try to start with a normal approach and then optimize it. Speak your thoughts, even if they might be wrong; they are more than willing to help if you get stuck. This interview also involved questions about conflicts you encountered and your influence on any project. It doesn't need to be something significant; just show that you have your opinion and are in a position to voice it.

If you pass the fourth interview, you will be invited for a fifth one with the development manager or director of the team.

This interview is not technical but purely about your interest again. It was also a 60-minute interview.

After one day, I was informed that I had been selected.

Questions

Nothing unexpected. But be prepared to talk about the conflicts you faced and how you overcame them, and your interests, and your resume.

  1. Find an element in a 2D sorted array (sorted row-wise and column-wise) in O(n) complexity.
  2. Finding a common ancestor in a BST and a binary tree.
  3. Reverse a linked list with and without recursion. The head pointer must also be moved.
  4. Code for the Boggle game. You have to design and write code for both the dictionary and the board. Time complexity.
  5. Design and write code for the data structure and API for the Battleship game.

Was this helpful?

Interview Statistics

The following metrics were computed from 214 interview experiences for the Microsoft Software Development Engineer role in Redmond, Washington.

Success Rate

45%
Pass Rate

Microsoft's interview process for their Software Development Engineer roles in Redmond, Washington is fairly selective, failing a large portion of engineers who go through it.

Experience Rating

Positive75%
Neutral17%
Negative8%

Candidates reported having very good feelings for Microsoft's Software Development Engineer interview process in Redmond, Washington.

Microsoft Work Experiences