I applied in-person. The process took 1+ week. I interviewed at Microsoft (Boulder, CO) in Feb 2014
Interview
I applied on a campus recruiting event and got contacted by HR in a week. They set up a in-person interview for half an hour coding interview. I needed to write the code on a paper.
I applied through a recruiter. The process took 2 months. I interviewed at Microsoft (Vancouver, BC) in Oct 2013
Interview
During my last year at school, I contacted one of the recruiters on campus. She setup an interview on campus.
It was a 45 minute interview. There were questions regarding my classes; projects; interests; some high-level questions on operation systems, version control, and design; and a couple simple programming questions.
About six weeks later I went through the six hour interview process, where each 50 minute block was an interview with a current engineer. They asked the usual questions about data structures, algorithms, and testing.
Interview questions [1]
Question 1
Suppose there's a rabbit on the edge of a stream. In the stream, at unit sized spaces, there are potentially rocks, i.e. for each space in the stream, there is either a rock there, or there isn't. The rabbit can hop onto a rock, but can't swim.
If the rabbit can initially jump one space, then for each subsequent jump, jump n + 1, n, or n - 1 spaces, where n is the number of spaces previously jumped, design an algorithm to determine if the rabbit can successfully cross an arbitrary stream.
I applied through college or university. I interviewed at Microsoft
Interview
A recruiter went to my university (not in USA) and gave a talk about the benefits of working in the company and things related. At the end of the presentation he gave us his email in order to send him our resume.
After waiting for two weeks he sent me a mail telling me that I was selected for an interview.
The interview was a little awkward because he was very quiet and when i had to ask questions about the problems he just answered with short sentences. At first he asked me non-technical questions, and then I had around 45 minutes to solve programming questions in paper.
Interview questions [2]
Question 1
Non-technical:
1-Why did I choose to work in Microsoft?
2-Why should they choose me?
3-What has been my most challenging project?
4-And how was my english?
Technical:
Most of the questions consisted in problems related with Strings in the language I put as my main in the resume. I remember 2 questions (sorry for not remembering more)
1- Make a method which receives an String and returns its reversed version.
2- Find the longest palindrome in a sentence.