March 03, 2005

The Microsoft Interview - Revolutions

Interview 4:
I called up Ian after an hour and let him know I was down in the lobby. In a couple of minutes I found myself in his office. He said he was training someone on interviewing and wondered if it was OK with me to have him watch. No problemo! So now there were 3 of us. Ian started off with, "Lets write some code." Yay!! I was asked to write a program which was similiar to a mergesort. After writing it, I was asked to test it. While testing it, I was told to correct any errors I found. Writing code on a whiteboard is a whole new experience.

Advice 13: Practice writing code on paper or a whiteboard before your interview.

After finishing off with the above, I asked Ian how he would recommend testing some code like the one I had written. This led to a very interesting conversation where Ian walked me through a step by step process on how one would ideally test code and why certain things were done in certain ways etc. After this I was asked to test a program which would check for 2 rectangles overlapping. But I had to apply everything which Ian had taught me over the last 15 mins. Had I not paid good attention to what he was saying, I would have been in a fix! :-) I felt I did really well here.

We spoke general stuff about testing etc. and then Ian briefed me on how it would be to work at MS. If I was chosen for the group I was interviewing for, what my responsibilities would be, etc. By this time I started thinking I was almost hired which brings me to:

Advice 14: Read Advice 10 of Part 2.


Ian walked me to the lobby and asked me to wait for my next interviewer - Mike.

Interview 5:
Mike also happened to be a Test Manager and my last interview of the day. By this time I was close to being called a Zombie! I could have done with an energy bar which I had not carried. We started off initailly by talking about SDLC and the role of test. Then I was given a "simpler" puzzle and then a difficult one. I got the difficult one rather easily but took time on the simpler one. Heh! At this point Mike said he liked my thought process. Yes, yes, I was on Cloud No. 9. Then he got into the team player mode.

Mike: "I am a fellow tester who hates being disturbed or working as a team. As a matter of fact, the whole team might hate me, I dont care. You need information about a certain part of the project on which I am working. You might need my opinion, you might need my code. How will you approach me?"

My first thoughts were why hire such a person...? But I let those remain as thoughts. After talking generally about team relationships, my reply was a direct approach of walking to the person with a friendly hello, letting him know about the situation I was in and saying it would really help in taking this product dev/test process ahead if he could provide me with his invaluable guidance.

Mike: "Doesnt work for me. Leave me alone, get out of my room."

I assumed it was the fellow testers response and told him about various other approaches I might try. I got the same response to all of them.

Mike made me go through several such excercises and when I look back on them, I messed up in several of those. Some of my answers were actually "pathetic".

Finally Mike picked up his laptop, and asked me to test a certain feature on it. Apparently his desk was all filled with paperwork + desktops so I decided to keep the laptop on my lap (oh, now I know why they named it that!!). But Mike pulled up 2 cardboard boxes, put one on top of the other and said I should use them to place the laptop! After a while I was paying less attention to testing the feature and more attention to balancing the laptop on those boxes!

We finally spoke about trustworthy computing and some other areas where MS plans to grow. I was finally told the positions I was interviewing for. As Mike walked me to the lobby he asked if I planned to get a PhD. He said Building 19 was just across the street and I could walk it up. As I dragged a tired me across the street on a cold January evening, I knew deep inside that I had messed up the last interview. Only if Mike considered balancing his laptop a brilliant act, I might get this job.

Advice 15: Learn to balance laptops! Just kidding! But seriously, towards the end of the day, you will feel dead tired. But these interviews are probably the most important ones (what people call - as appropriate). Just think its now or never and give yourself one last push!

If you love writing code, solving puzzles etc. you wont be mentally drained out. As a matter of fact, even after 5 interviews I felt all pumped up. But my throat was killing me with all the chit-chatting I had done!

Amanda called me on the day she promised she would. "You came very close, it was a tough decision, but the groups you interviewed with have decided not to make you an offer." Oh well, it was a good excuse to go out drinking and drown your sorrows. A week later, Amanda calls while I am in the bus. Hmmm... maybe they made a mistake, maybe I actually got the job! "You came very close, it was a tough decision, but the groups you interviewed with have decided not to make you an offer." Errr... Amanda, you told me that last week. "oh I did, so sorry, I didnt note it down that I made the call. your file is still lying on my desk." Are you sure nothings changed in that file? We both laughed! Its okay... the bus stops right in front of the liquor store!

Advice 16: Know where the liquor store is.

3 Comments:

Anonymous Anonymous said...

Apporva,

I read the whole "MS Interview" thing and it is really nice of you to write the same.

Some of the comments are really good and hope MS pays attention to it.

Good work.

3:41 PM  
Blogger Anita Pillai said...

I had interviewed with Microsoft last year for an SDE internship. I pretty much had the same experience, lot of encouragement along the way and then one interview that I totally screwed up. Tough I have always wondered how genuine their compliments are!

10:40 AM  
Blogger APOO said...

Anita, the compliments are indeed genuine. The fact that you got there means you are surely good. Sometimes it might just be a bad day. I got a little tired and let my gaurd down after the first 4 interviews. When I look back on it, if I was interviewing me, I would have not made an offer to myself.

From what I know, they always believe, "A false negative is better than a false positive." They might lose some brilliant people in that process, but its better than hiring someone who is not a good fit for the job.

I could go on preaching on this....

9:57 PM  

Post a Comment

<< Home