Microsoft
3.6 of 5 7,019 reviews
www.microsoft.com Redmond, WA 5000+ Employees

Microsoft Software Development Engineer II Interview Questions & Reviews

Updated Feb 22, 2014
All Interviews Received Offers

Getting the Interview 

36%
28%
23%

Interview Experience 

71%
15%
12%

Interview Difficulty 

40 candidate interviews Back to all interview questions
Relevance Date Difficulty
in
4 people found this helpful

No Offer

Neutral Experience

Software Development Engineer II Interview

Software Development Engineer II

Interviewed at Microsoft

Interview Details First round of interview was telephonic. Interviewer asked me these questions
1. Why do you want to join Microsoft
2. How do you check if two linked lists meet or not.
3. How do you find common node of a lined list.
4. What is the complexity of the algorithm that you have applied to solve this question.

Interview Question – Interview was simple. There were no unexpected question.   Answer Question

Was this interview helpful?  
Yes | No
Flag Interview  |  Add Employer Response

6 people found this helpful

Declined Offer

Positive Experience

Difficult Interview

Software Development Engineer II Interview

Anonymous Interview Candidate
Bangalore

I applied through a recruiter and the process took 1 week - interviewed at Microsoft in December 2012.

Interview Details Interview 1

1) You have a c style string containing some spaces. Move the spaces to the starting of the string. Do it in place in one iteration.
2) You have a bit pattern and an infinite stream of bits coming in. You need to raise an alarm whenever the given pattern comes. Storing the stream is not allowed.

Interview 2

1) You have an array of size N. Implement a queue using this.
2) A sorted array has been rotated. You need to find out the point of inflexion, i.e the position at which the smallest element of the array is present.(I did this in log n time)
    For example if the array is [6,7,8,9,1,2,3,4,5], the output should be 4

Interview 3

1) You have a BST and int value(take it to be variable val). You need to print our all possible paths in the BST which sum to val, they may or may not start at the root.
2) You are given a dictionary and two strings a and b. You need to convert the string a to b such that only one alphabet is changed at a time and after each change the transformed string is in the dictionary. You need to do this in the minimum number of transformations. For example the transformation from cat-->boy can be done as follows
     cat-->bat-->bot-->boy (if dictionary has bat and bot)

Interview 4
1) You gave been given a tree(not binary, it can have any number of children) in an array. The ith entry of the array is the parent of the ith node. For the root node this entry is -1. You need to find the height of this tree(O(n) soln was asked for). For example the array [2,6,3,6,3,6,-1] represents the tree below. The height of the tree is 4(the path from 6 to 0)

                                                  6
                                                  / | \
                                                  1 3 5
                                                  / \
                                                  2 4
                                                  /
                                                  0

Interview Question – You are given an array of numbers. You need to print the length of the maximum continuous sequence that you encounter. For example if input is [3,8,10,1,9,6,5,7,2 ], the continuous sequences are{1,2,3} and {5,6,7,8,9,10} the latter is the longest one so the answer becomes 6. O(n) solution was asked for, assuming you have a hash map which supports O(1) insertion and fetching operations   View Answers (3)

Reason for Declining – Salary expectations not met

Was this interview helpful?  
Yes | No
Flag Interview  |  Add Employer Response

1 person found this helpful

Accepted Offer

Positive Experience

Easy Interview

Software Development Engineer II Interview

Software Development Engineer II
Bangalore

I applied through a staffing agency and the process took 6 weeks - interviewed at Microsoft.

Interview Details Started with description of kind of work company does in Hyderabad. Had couple of discussions with HR and GM before interviewing.
First there was a telephonic interview, completely technical in nature.
After that hiring team visited Bangalore for in person intervies of seleted candidates.
I had two technical rounds of in person and a discussion with hiring manager.

Interview Question – I was asked two questions. One was given an array of integers find triplets such that a^2 + b^2 = c^2.   View Answer

Was this interview helpful?  
Yes | No
Flag Interview  |  Add Employer Response

Accepted Offer

Positive Experience

Difficult Interview

Software Development Engineer II Interview

Software Development Engineer II
Bangalore

I applied through a recruiter and the process took 3+ weeks - interviewed at Microsoft in July 2012.

Interview Details Very professional in deciding the roles and teams as per candidates choice.

The recruiter gives detailed feedback for each interview and guides for the interviews to come.

Interview Question – What is one thing that you will develop if given a chance to work for facebook?   View Answer

Was this interview helpful?  
Yes | No
Flag Interview  |  Add Employer Response

1 person found this helpful

Accepted Offer

Positive Experience

Difficult Interview

Software Development Engineer II Interview

Software Development Engineer II
Redmond, WA (US)

I applied online and the process took 2+ weeks - interviewed at Microsoft in October 2010.

Interview Details Had two technical interview over the phone. Both technical interviews where challenging but doable. I had to write the code using a web application that allow both me and the interviwere to see what I was typing. After those interviews, I had one more in-person interview with the hiring manager, this interview was not technical, we talked mostly about business topics. .

Interview Question – Write a program that multiply very large two matrix. Most of the numbers on each of the matrix are zeros (0). Must optimize for memory and speed.   View Answer

Negotiation Details – I asked for a relocation package, which I was able to get. The negotiation were pleasant and professional.

Was this interview helpful?  
Yes | No
Flag Interview  |  Add Employer Response

Accepted Offer

Positive Experience

Difficult Interview

Software Development Engineer II Interview

Software Development Engineer II
Moscow (Russia)

I applied through a recruiter and the process took 4+ weeks - interviewed at Microsoft.

Interview Details 4 interviews - hr, manager, team lead, team

Interview Question – How to build search engine like google   Answer Question

Was this interview helpful?  
Yes | No
Flag Interview  |  Add Employer Response

1 person found this helpful

No Offer

Positive Experience

Average Interview

Software Development Engineer II Interview

Software Development Engineer II

I applied through college or university and the process took 2 months - interviewed at Microsoft.

Interview Details Submitted resume at a campus career fair. Heard back a couple weeks later to schedule an on-campus interview. The on campus interview was a half hour long and had just two questions:
    1. Given two nodes in a tree, find their ancestor
    2. Given a function that does some bit operations, determine what it does and find the bug.

About 2 weeks after the on-campus interview I was informed that I would be moving forward in the interview process. This was one negative of the process for me, because I was asked to interview for a position nowhere near the locations I specified as being my preferred choices. The team I interviewed with was also quite different that the interests I discussed in my campus interview.

The hiring event consisted of 4 45-60 minuter interviews. Each interview varied a bit. Some of the other people interviewing received nearly all design questions while others had mostly coding/algorithm questions. I had a mix of design and coding questions which were done on the whiteboard.

For all of the coding/algorithm questions time and space requirements were discussed as the approach was talked through. No specific requirements were given at the start of a question, but the resulting complexities had to be discussed and justified. Some questions related to balancing the time and space requirements. Test cases were also discussed for each question ranging from use cases to catching integer overflow.

The final design question was very open ended, which I think actually tripped me up a bit because after several focused technical questions, I had trouble thinking from a broad design point of view.

Overall, I felt the interviews all went well, but with no feedback from the interviewers I can't say what it was that kept me from getting an offer.

Interview Question – 1. Given a non-negative integer array that is then shuffled and 1 element is removed, find which element was removed.

 2. Assume you are designing/writing code for some small business software how would you go about creating a clean, extensible method for calculating sales tax that can be extended easily to work in different parts of the world.

 3. (Two separate questions)
    3a. Given an integer array, remove the duplicate values and return an integer array
    3b. Test a dice role generator method

 4. Design a system for tracking employee applicants through the interview process
  Answer Question

Was this interview helpful?  
Yes | No
Flag Interview  |  Add Employer Response

Accepted Offer

Positive Experience

Average Interview

Software Development Engineer II Interview

Software Development Engineer II
Seattle, WA (US)

I applied through a recruiter and the process took a day - interviewed at Microsoft.

Interview Details I was first contacted by a staffing member about the opportunity, followed by two phone technical interviews. One from the hiring manager and the other from a team member. Then I flew to Seattle for an onsite interview. There are 6 interviewers from 9am to 5:30pm. The first is the staffing member that originally contacted me, followed by 5 technical interviews examining my skills.

Interview Question – Nothing difficult. If you are the right one for the team then it is easy.   Answer Question

Negotiation Details – Negotiated using another offer.

Was this interview helpful?  
Yes | No
Flag Interview  |  Add Employer Response

1 person found this helpful

Accepted Offer

Positive Experience

Average Interview

Software Development Engineer II Interview

Anonymous Employee
Redmond, WA (US)

I applied through a recruiter and the process took 2+ weeks - interviewed at Microsoft in February 2009.

Interview Details It was 5 years ago. I really forgot the questions. They are not hard. Questions like reverse a linked list, etc. It took 5 hours, too long, after all a director asked me for coffee. It ended up that two teams gave me offer.

Interview Question – It was 5 years ago. I really forgot the questions. They are not hard. Questions like reverse a linked list, etc   Answer Question

Was this interview helpful?  
Yes | No
Flag Interview  |  Add Employer Response

No Offer

Negative Experience

Difficult Interview

Software Development Engineer - II Interview

Anonymous Interview Candidate

I applied online and the process took 3 weeks - interviewed at Microsoft in September 2013.

Interview Details There were totally 2 rounds of Phone Interview.

1st round: "Given a linked list such that one node point to some random node, Write the clone method of a linked list."
I was able to give an approximate solution in C# using Dictionary, the interviewer was helpful and encouraging inorder for me to come to exact solution.

Couple of days later, got a call back from recruiter that I will be interviewed for 2 round of phone interview.

Interview Question – 2nd round:
"What is the data structure which suits best for the Battleship game? The board will be of size n x n, with m different ships each having k1, ..., km lengths. Each ship can either by place horizontally or vertically on the board.

The structures should be designed such that they can support basic operations for playing a game. For example, the board and a particular (i, j) coordinate representing a position on the board may be passed into a function attack(). The function should return hit if a ship was hit at that position, sunk if a ship has sunk after being attacked at that position, and miss if no ship is at that position.

Describe your design of the structures, what kind of data they store, and the runtime complexity of typical operations for playing the game (like the attack() function) as a result of your design decisions"

I was coming with an O(n) solution during attack, which was my first attempt and then I was thinking about optimization. But by then the time was over and interviewer seemed unhappy with my solution or the attempt.
  Answer Question

Was this interview helpful?  
Yes | No
Flag Interview  |  Add Employer Response
RSS Feed Embed
Interviews for Top Jobs at Microsoft

Worked for Microsoft? Contribute to the Community!

Microsoft Videos

Loading...

Microsoft – Why Work for Us?

What do you want in a job? Do you want more than a paycheck? At Microsoft, you can discover potential you didn’t know you had, push your limits, turn your ideas into reality and make a real impact on the industry and… Full Overview

Provided by employer [?]

The difficulty rating is the average interview difficulty rating across all interview candidates.

The interview experience is the percentage of all interview candidates who said that their interview experience was positive, neutral or negative.

Your response will be removed from the review – this cannot be undone.

Glassdoor is your free inside look at Microsoft Software Development Engineer II interview questions and advice. All 40 interview reviews posted anonymously by Microsoft employees and interview candidates.