Saturday, March 25, 2006

Microsoft On-site Interview 03/15/06


My first MS on-site interview .. it was a great experience! Hopefully this post will help all of you prepare for MS or for that matter any other interview.

Preparation : First a little bit about how I prepared for the interview. This is no way close to complete ...

There's always Google ! I found so many microsoft questions online ! So many good websites talking day and night about technical, logical and HR questions and their expected answers. Here are a few websites that I found useful :

http://www.sellsbrothers.com/fun/msiview
http://www.techinterviews.com/?p=115
http://geekswithblogs.net/jolson/archive/2005/01/21/20636.aspx
http://blogs.msdn.com/jobsblog/archive/2004/03/24/95265.aspx
http://www.glaak.com/interviews/ ---> Very Very Useful
http://discuss.fogcreek.com/joelonsoftware/default.asp?cmd=show&ixPost=17697
http://www.techinterview.org/
---> Very Very Useful for logical questions

If you search online, you will find many such sites and believe me, just to read all that stuff online, you need at least 2 to 3 days !! There are a few videos available online as well which describe the MS interview process. They are here :

What is it like to interview at Microsoft : http://channel9.msdn.com/ShowPost.aspx?PostID=18608
Shuttle Experience : http://channel9.msdn.com/ShowPost.aspx?PostID=18718
Whiteboard Question Example : http://channel9.msdn.com/ShowPost.aspx?PostID=19171

Go get yourself a copy of the book "Programming Interviews Exposed" ! One of the very rare books which explains the logic and thinking involved behind the correct solution. Starting from obvious (and maybe wrong) solutions to correct and hard solutions - it gives all ... there are a few mistakes in the book but use the book to develop your logic & thinking process !

Interview :

All the above sites had specifically mentioned that you dont have to wear a coat / tie for the interview if you are not comfortable wearing it. So I decided to be in simple formals without tie / coat. The interview was scheduled to start at 9.00 I reached a little early at around 8.30 at building 30. I was to be interviewed by Live Communications Server group for a Software Development Engineer in Test (SDET) position.

1. My first interview was HR with the recruiting coordinator. She first of all told me about the heirarchy of peple in the group and also gave me names of first three interviewers. She then gave me a few tips such as always ask questions, just be yourself, understand and reiterate the question, state your assumptions clearly etc. Then she asked me a few non-technical questions such as "why Microsoft ?" , "where do you see yourself in 5 - 10 years" and other normal questions. This started at about 9.15 and ended by around 10 or so.

2. My first technical interview was with the SDET Lead (directly under whom I would work if selected). He took me to his room and asked me a few startup questions like which language are you most familiar with ( C/ C++ / JAVA ), tell me a little bit about your previous job and responsibilities .. then he gave me my first whiteboard question "Write a non-recursive function to reverse a singly linked list in place" .. I had done this so many times before but doing it on whiteboard is still different !! I asked him a number of questions such as what should it return ? what if null linked list is passed etc ... then explained to him the algorithm ... wrote the code after that ... he seemed happy. Then he asked me to delete a node from a singly linked list when only the pointer to that node is given. A few more questions on the similar lines and then I was given a chance to ask any questions if any. Its always best to ask questions so I asked him about the job resposibilities and work environment etc ..

3. My next technical interview was with SDE lead (this was a special request by the SDET lead, normally SDET interviewees are not interviewed by SDE leads but oh well !!). He started with some general questions regarding binary trees and their properties. Later he gave me an inverted binary tree (two children pointing to their parent node). Numbered the children in a specific order and asked me to find a relation between the numbered nodes. Then he asked me to write a function on whiteboard to place all the nodes of this binary tree in an array (of nodes) given the depth d. (as depth d is known, the number of nodes will be 2^d - 1 so array can be used). I wrote that and then I had to come up with cases to test it e.g. what if d is negative .. what if d is more than 32 .. 2 ^32 wont be integer anymore ! etc ) HE seemed to be happy with those cases ... then he changed the problem from inverted 'binary' tree to inverted 'n'ary tree and asked me what changes will the code have & so on.. After this excercise, he asked me to write a function to find the intersection of two linked lists. I was very close and had almost solved it ... but then I needed a hint from him to get to the final solution ... he seemed ok with that ...

4. It was about 12 O'clock and it was time for lunch interview with another SDET Lead. He took me out to a chinese buffet ... While driving asked me a number of technical and non-technical questions such as swap 2 integers without using temporary buffer, what problems are there with this solution, previous job etc ... During lunch, he asked me to write a function to find the second maximum in a given array on the tissue paper ! I wrote that and tested it with different examples ... wrote test cases ... then he asked me to write a function to find if the given string is a substring of other string - return true/ false. Again writing test cases and testing it with few examples was necessary. This interview was probably the longest as it was about 1.30 pm when we came back to MS campus.

He told me that my next interview is at 3 O clock and someone will meet me at the lobby. This is normally a good sign. Unlike other places, MS interviewers communicate with each other during the interview process and if the first 3 interviews are not good, candidate is sent back home right then. So when I was told that I have more interviews, that gave me a huge confidence boost.

5. At 3 O'clock, Test Manager (higher up the heirarchy from SDET lead) took my interview. He kind of shocked me with his first question. What is the difference between packet switching and circuit switching ? I answered that and I think I did good as he gave me a hypothetical scenario ... consider an airplane. I am not concerned about its communication with outside world. For what kind of communications inside the plane, will you use packet switching and for which situations, will you use circuit switching ? .... there was no correct answer ... all I had to do was justify whatever I say being consistent with the previous answer. Then he asked me a number of questions about software development life cycle and gave me a number of 'if ... then ?" sort of questions ... finally he gave me a whiteboard question ... 'a new database backup system over a network' .. test it .. I must say this was a very abstract interview as there was no code to be written .. no right/ wrong answers .. but I enjoyed it !

6. The final interview was with the Program Manager who had been working in MS for last 12 years ! He initially asked a number of questions based on previous job and why MS etc .. then gave me another whiteboard question "given a fixed length stream (wrap around possible) of characters, implement a puchar and getchar function" ... queue data structure, head and tail maintenance was what he was looking for .. I did that and he asked me for an alternate solution which I could provide after thinking for about couple of minutes ... then he asked me if there was any project / any particular thing I was proud of and such HR type questions ...

Finally at about 5 - 5.15 pm, the interviews were over and I was told that MS will contact me tomorrow (normally they take a week or so but I explained to them my special situation so ...). Once you give an interview, you also kinda feel how the interview was ... you kinda know what the outcome would be ... I felt pretty positive at the end of the day !! It was a long long day and I was tired !!! Next day MS offered me the SDET position which I was more than happy to acept :) !

Labels: , ,

22 Comments:

Anonymous Anonymous said...

Hi Aniruddha,

You gave a good description of your interview. It helped me a lot, because I am having my interview tommorow with MS for the same position. It is a campus interview, but I am still scare.

congrates for your job

Regards,
Bhumika

April 04, 2006 12:22 PM  
Blogger Aniruddha said...

Hey Bhumika,

Thanks ! I am happy that you found the description useful ! Wish you good luck in your interview !

Ani.-

April 04, 2006 5:54 PM  
Anonymous Anonymous said...

As You can see, MS interviews looks around the world similar. If someone interested in this how my experience looked:



Congratulations for all who succeed in such ivs ;-)) At least I have learned a lot, even without job at MS :))

April 20, 2006 4:32 PM  
Anonymous Anonymous said...

Hi Aniruddha,
Today I got a call from Microsoft for an on-site interview. Are there any special areas you recommend me to look at. Also, did they recommeded you to look at any text books?? Can you please send me those e-books if you found them...
Thanks
Manoj

May 08, 2006 7:14 PM  
Blogger Aniruddha said...

Congratulations Manoj ! All you need to stress on is basics - data structures, threads, linked lists, OS fundamentals, SE etc... make sure you have your copy of Programming Interviews Exposed. Thats a wonderful book. Read the Gayle Laakman's site I gave above.
I didnt find any e-books but there is so much stuff available online including the videos and questions/ answers...its more than a handful ..

Good luck !
-Ani.

May 08, 2006 8:28 PM  
Anonymous Anonymous said...

Hey Anirudha..
I really appreciate your blog... I have an on-site interview at Fargo, ND on Nov 2. I am very curious about it... thanks for your information...

Pavan B

October 17, 2006 9:03 AM  
Blogger Aniruddha said...

cool ! Congratulations for getting the interview and good luck !

October 21, 2006 1:53 PM  
Anonymous Anonymous said...

Hi, Ani
Just came accross your blog. I myself will be having an on-site interview with MS later this month. I'm just wondering if you could give some explanations on how you answered the questions you mentioned here. Thanks a lot
Best regards,

Kevin :)

November 11, 2006 12:47 AM  
Blogger Aniruddha said...

Hey Kevin,

As I mentioned in the post, try reading 'PIE' and other books .. thats gonna give you enough information to get you through ... :)

Good luck !

December 09, 2006 2:50 PM  
Blogger confused soul said...

gr8 post. gave me a gud insight of how the interview process goes on. got a SDET interview on 15th of this month. Hope we will meet soon as MS employees. once again, I shud thanq for the informative post.

cheers,
aditya

January 13, 2007 9:44 AM  
Blogger Aniruddha said...

Thats cool Aditya .. Congratulations and wish you all the very best ! I am happy that the post was useful to you !!

January 14, 2007 8:20 AM  
Blogger Unknown said...

Hi Aniruddha:

On July 16th I have onsite Microsoft interviews for the position of Global Supply Chain Planner. Any tips for that interview. I am just reading books and working on my resume. Is there anything else that I can do? I don't know what will they ask and so totally clueless.

Any help is appreciated.

Thanks.
Amit

July 04, 2007 2:41 PM  
Blogger Aakrati said...

hi aniruddha, Congratulations. I have question for you being an indian and considering microsoft as employer. I am wondering if they have filed for your green card.

September 12, 2007 1:34 PM  
Blogger James McNaul said...

I know this is an older post however I ended up reading it while searching for places to study for my Microsoft interview. Here is my blog which has my experience at Microsoft. I am trying to help out the community which I used a lot to study for my self.

http://asjameseesit.blogspot.com/

April 29, 2008 7:32 PM  
Blogger Akankshu said...

Hi Ani

Thanks a lot for such a wonderful experience and congratulations .. I am sure you are loving it at MS :)

Regarding this circuit switching and packet switching question

did you have a background in networking ?

Is there any difference between entry level SDET interviews Vs say 1-2 years of experience ?

I would really appreciate your response


Akankshu

October 20, 2009 8:47 AM  
Blogger Aniruddha said...

Hey Akankshu,

Thanks for reading the blog and comment !

Yes - I did have a strong background in networking which led to that packet/circuit switching question ...

Also there is almost no difference in the interviews for entry level and 1-2 yrs experienced person. If you show any experience on your resume, you will be asked some questions on specifics of it and thats about it..

October 23, 2009 11:11 PM  
Anonymous Anonymous said...

Hi

I like this post:

You create good material for community.

Please keep posting.

Let me introduce other material that may be good for net community.

Source: Chief accountant interview questions

Best rgs
Peter

October 08, 2010 1:32 AM  
Blogger Unknown said...

Hey all,

I just had a similar experience last week (Friday April 1, 2011) and received an offer from Microsoft for an SDET Internship.

Here's my blog: http://joethesdet.wordpress.com/

In the first post, I describe the interview day much like this, as wel as the technical questions I was asked.

Good luck!

April 06, 2011 5:13 PM  
Blogger Didierdrogba said...

Hi

Tks very much for post:

I like it and hope that you continue posting.

Let me show other source that may be good for community.

Source: Data structure interview questions and answers

Best rgs
David

September 14, 2011 3:17 AM  
Blogger samomania21 (Sameer Shah) said...

Hello Aniruddha,

Congrats on your selection at Microsoft.
I have a phone interview 4 days from now. I have 2 years of experience working on C#. I know C much better than C# and love to write programs on both of them. Will the type of questions asked be any different then the type of questions that were asked to you?

Please let me know.

September 17, 2011 12:38 PM  
Blogger Didierdrogba said...

Hi

I read this post two times.

I like it so much, please try to keep posting.

Let me introduce other material that may be good for our community.

Source: Program manager interview questions

Best regards
Henry

November 05, 2011 6:09 AM  
Blogger Unknown said...

Awesome Post..:D

January 02, 2013 3:23 AM  

Post a Comment

<< Home