I applied online. I interviewed at Microsoft in Dec 2015
Interview
Applied online and it took a couple of weeks for the interview to get scheduled. Interview was average.Techical screening was initially done. I did not clear that. Asked me to explain about my projects.
I applied through an employee referral. I interviewed at Microsoft (San Diego, CA) in Nov 2015
Interview
I applied for a summer internship program. I was referred by one of the Microsoft employees. I was invited to their on campus interview several weeks after that. It took me 30 minutes. Ask me two technical questions. One is a coding problem. The other is about operating systems. And ask me about my experience on my resume. About a month later, I got a on-site interview invitation.
Interview questions [1]
Question 1
The first question is to find out a duplicate number in an array.
The second question is to describe how mutex works.
I applied through college or university. The process took 4 weeks. I interviewed at Microsoft (Seattle, WA) in Nov 2015
Interview
Brief technical in person interview and then an onsite interview. The onsite was the most impersonal experience I've ever had with a company. There were around 40 of us there and interviewers would walk into the room and find us by name then lead us to a separate interview room. I should have had 4 rounds of technical interviews, but one interviewer did not show up so I had 3. I was only asked technical questions, very little about my background, and two of my interviewers were very open about how they had not even looked at my resume. You don't know what team you're interviewing with until you get there. HR does the typical "So... Do you have any other offers?" thing. But what Microsoft lacked in personality, they made up for by completely showering us in money. Seriously, they give you the means to spoil yourself while you're there!
Interview questions [3]
Question 1
Given a directory string "c/a/../b/./d" write a method that outputs the final directory. (In this example, "c/b/d"). A "." input stays in the current directory, a ".." input goes back one.
Design a method midNumbers(start, end, length) that prints the middle values between two integers. Ex: midNumbers(0,5,2) would print 2,3. midNumbers(1,10,4) would print 4,5,6,7. This question was left VERY vague and I think it was intentionally left up to the interviewee to clarify as much as possible. Follow ups included "How would you check for appropriate input? How would you protect against attacks, such as a buffer overflow attack? What are some cases that you would test to check that the method is working correctly?"
How would you convert a row number on Excel to a label? Rows are labeled alphabetically with letters added on once the alphabet has been fully used. (Ex. row # 5 is labeled E, row # 27 is labeled AA, row # 28 is AB, row # 53 is BA and so forth) What would the row label be for a large number, such as 1500?