Pages

Friday, February 4, 2011

Microsoft Interview Experience (part 3)

This will be the last part of my blog about microsoft interview.

The interviewer for my forth interview was the same guy as my first interview. Thus there was no introduction. This time he didn't ask me a technical question. He asked what would I do if I know that a product that will be release contain a bug. This bug would make the program crash, however, the bug rarely appeared. The condition for the bug to appear is very unusual. Thus the developer refused to fix the bug. In this case, what would I do? Then after we chat a bit about this question. He asked me second question. This time it was a puzzle. If there are 8 identical balls, one ball will be heavier than the rest. You have a balance. How many times do you need to use the balance to find the heavier ball. At first I answered 3 times using binary search. However, the interviewer told me that this can be done in two times. After thinking a bit I did it in two times. The answer was not hard. You can find a solution to this puzzle from any search engine.
Then he asked me one last question. If I have two weeks and the assignments given by the boss can't be done in two weeks, what would I do. There was NO WAY that the assignments can be finished in two weeks.

After the interview, I came back to the waiting area. I found out that there was one more guy who had the forth interview like me. We waited  awhile. Then the recruiters came to us. One recruiter took the other guy away and the other recruiter sat with me. The recruiter said that "I don't have good news or bad news. You will have one more interview". She also said that we needed more information from you to see if we will have the right position for you or not and don't take this as a good sign or bad sign. At that time, I wasn't feeling anything. It's like every previous interviews drained the energy out of me.

Anyway, the fifth interview was my last interview. The interviewer was the same guy who came to my uni for my first round interview. He asked me that if there are cheeses in a maze. You know where every piece of cheese is located in the maze. There is a mouse. This mouse is randomly located in the maze. The mouse doesn't know where it is and it doesn't know where there cheese is. However, you know where the mouse is. How would you guide the mouse to the closest cheese. After he finished his question I was OMG. I know how to solve the problem, however, if he wanted me to write the code that would be a big problem for me. Luckily, he only wanted explanation and some psudocode.
Then the last question from him was if there was a file contained "name address salary". This file was very big, for example, the file would contained the name of every Chinese people. Define G as 10%richest/10%smallest. How do you find G. You don't have super computer. The program must be able to work on normal laptop/pc.  Basically, how would you solve this problem without using massive amount of memory.

That's it! The end of my interview with microsoft. This was my first job interview. I wouldn't say it was an easy interview. At the end of the interview, I was feeling nothing at all. I didn't care about the result at the point. I felt that it was a really good chance and experience for me. To tell you the truth, I actually thought that the interview was more fun than I had imagined.

By the way, if anyone is curious, I got an offer from microsoft.