I applied through a recruiter. The process took 4 weeks. I interviewed at Microsoft (Chicago, IL) in May 2013
Interview
I was contracted by a Microsoft recruiter though LinkedIn. Had a phone screen with the recruiter talking about my background and a technical phone interview 1 week later. Then I was invited to a hiring event in Chicago for an on-site interview. Onsite interview includes 4 rounds , 1 hour each. Interview questions includes white board coding, system design and some other open questions. All of the interviewers are pretty nice and friendly, they focus on how you approach the problem and communicate with them. I was interviewed on Thursday and got an offer on the following Tuesday.
Interview questions [1]
Question 1
1. Design a String class. Then write code to implement Insert(). Discuss performance about Insert and Lookup. The goal is to fine a solution that achieves O(logN) for both Insert and Lookup.
2. Write code for Push/Get to implement a ring buffer based on a fixed size char buffer.
3. Communication between Client/Server for a remote file system is based on a unreliable link (99% up-time but sometimes packet can be dropped). The client can send request like Open, Read, Write, Seek, Close, Create, Delete to the server. How would this system deal with packet loss? ACK is not allowed, so you CANNOT use a TCP like protocol.
4. Write code to implement a method that returns the top 10 most frequent words in a given string.
I applied through other source. The process took 3 weeks. I interviewed at Microsoft (Chicago, IL) in May 2013
Interview
I was contacted through LinkedIn. Then I had 2 phone interviews. After they were satisfied, they invited me to a hiring event that was scheduled in Chicago for In-person interview. There was a Meet & Greet session scheduled couple of days before my actual interview. This gave opportunity to interact with team members that had members of interview panel.
In person interview had 4 interviews 1 hour each. And it was focussed on problem solving writing programs, discussing approaches, designing data structures.
Interviewers are very friendly & encouraging guiding the entire problem solving process.
I applied through an employee referral. The process took 1 day. I interviewed at Microsoft
Interview
Phone screening for software research. Mostly background stuff with one technical question. I was asked to create a function to check if a binary tree is sorted. I used a recursive solution that, at first, failed in some cases. The interviewer pointed that out there was a bug, I found the problem and devised a different solution. My second solution was correct but the interviewer disagreed. Told her I couldn't find the bug she was referring to, and that I'd email her with a correction as soon as I did. After some research and consideration, it turned out I was correct, so a weird process overall. Didn't get an offer.
Interview questions [1]
Question 1
I was asked to create a function to check if a binary tree is sorted.