I applied through a recruiter. The process took 2 days. I interviewed at Microsoft in Oct 2008
Interview
For the SDIT role, they focus on how you think and the basic fundamentals of Data Structures: linked list, search, graphs, tree.. etc, and some behavior questions. I have a couple of interviews at the Redmond campus, and at the end of the day, I felt I've been brain picked for a whole week. Normally, the on site interview will be conducted by at least three person, and at least two of the three will give technical interview where the other person will give behavior questions. Some of the questions are not difficult, but it's hard when you have to write a program in the white board and within certain time limit. Good luck!
Interview questions [1]
Question 1
How do you create and reserve a linked list? After you have written the function to create the functions, write a function to sort the linked list.
The process took 2 days. I interviewed at Microsoft in Oct 2007
Interview
The process started with a screening interview by phone where the recruiter asked questions related to the resume and some basic technical questions like what's the difference between c++ and java.
After that I went through 4 or 5 technical 1:1 interviews with different people of different groups inside MS, like office, printing, etc. The 1:1 interviews consisted of producing an algorithm to solve specific problems which required the use of data structures and general programming skills. Be prepare to defend your algorithm in terms of performance (asymptotic notation) and corner cases.
One of the most important things to do during the process is to _verbalize_ your thoughts during the creation of your algorithm/design.
The process took 1 week. I interviewed at Microsoft in Sep 2008
Interview
The phone interview consisted of a 1 hour pre screen phone conversation. It started off by the interviewer asking basic questions about some of the things listed on my resume. After that, the interviewer asked deeper into some of the projects I worked on, and moved onto more specific technical questions about my skills in programming in C++. Finally I was asked a technical brain teaser question.
Interview questions [1]
Question 1
I was asked to write an algorithm in C++ to sort an array. The function I was to write was to take in a string of letters "b" and "r". b = a red ball and r = a blue ball. The function was to return an integer with the least number of swaps needed to separate the balls to be next to their own colors...
So for example, RBBR would return 1, since you only need to swap one of the letters to be RRBB or BBRR.