Quack-Ware.com Free Software & Tutorials

16Jan/123

My Microsoft Intern Interview Experience

The weekend of the 12th I was flown out to Seattle for a second round interview with Microsoft. I found out a few days prior that I would be interviewing for a SDET position in the Microsoft Office division. I was a little less enthusiastic after hearing about that but it was still an opportunity with Microsoft which is pretty awesome. They treat their potential interns really well, paying for the travel along with accommodations at a local hotel near campus. The day before the interview (11th) they had a small reception with some Microsoft employees and potential interns so that we would be able to ask questions. It was hosted at a really cool private bowling alley and there was plenty of free drinks and food. After arriving at my hotel at 7pm after starting the day at 6am I was pretty tired, so I only spent around an hour at the reception before heading off to bed. They told us our schedule for the next day and wished us luck.

 

The next afternoon I arrived on the Microsoft campus with the other interns who were also interviewing for a SDET position in Office (We were told we were not competing against each other, and that all or none of us could potentially be hired). There main "recruitment building" was really cool as it was a big reception area with a bunch of food, computers, and xbox's. I think there is a video on YouTube that showcases the whole thing. After around a half an hour of waiting, the first round of interviewers came and picked us up. I would have 4 total that day.

 

Microsoft interviews for SDET revolve around asking a coding question that you must write up in front of the interviewer on a white board. After you complete your problem you are then usually asked if there are any more efficient ways in doing the problem. After the coding problem you are then asked to provide test cases for your program. After the coding portion there is then a test specific problem. The different interviewers talk to each other in between interviews so they attempt to tailor each interview based on what did and did not happen in the previous one. Below are the questions each one asked (as much as I can remember) and the various solutions I provided along with some the interviewers suggested. I add a little bit of commentary based on my experience and anyone is welcome to comment with an alternate solution.

Interview 1  (Interviewer worked on Sharepoint):

Question: Find the largest consecutive sum of integers in an array.

Answer: This being my first interview of the day, I was pretty nervous despite the question being relatively simple. The solution I settled on was just to find all the possible consecutive sums and return the largest of those sums. I knew my answer was not as efficient as the interviewer wanted but it is always good to write something down. After talking it over we discussed a better alternate solution, to sum consecutive positive and negative numbers together into one sum in order to save time when iterating through the array.

The rest of the questions involved testing a web based calculator along with testing the program I had written above. The interviewer was very helpful as I had little testing experience and he provided me with a list of 6-8 different categories of testing that need to be considered which helped in my subsequent interviews.

 

Interview 2 (Interview worked on Office Graphics):

 

Question: Find the odd occurrence of a number in the array (Only one odd occurrence ).

Answer: Another array of number problems. I struggled with this one and came up with a pretty slow solution until I realized I could just sort the numbers which made the question a lot easier. Applying quicksort to the array and then iterating through it once is all you need to do.

 

Question: Reverse the words in a string ("QuackWare is cool" will become "cool is QuackWare")

Answer: This one was relatively straight forward as I had seen this problem before and practiced for it. All I did was reverse the entire string ("looc si eraWkcauQ") and then reversed each individual word. I ran into a little bit of trouble with splitting the words up but ended up getting a solution.

The rest of the interview involved testing the "Merge and Center" feature of Excel along with testing the two programs I had written.

 

Interview 3 (Interviewer worked on Office 365):

 

Question: Find a way to compare an old string id such as "ID_TITLE_TEXT" to a new string id with a dynamic section "C_12_32_6$ID_TITLE_TEXT" (The separate's could either be underscores or dollar signs).

Answer: This is the one I struggled on the most due to the question actually being an entire page long and involving a lot of ASP.NET information and other unnecessary stuff that hid the fact that it was just a simple string comparison question. After fumbling around with a really, really bad solution I decided just to write my own tokenizer and do a string comparison between the two different string arrays that I returned (Making sure everything was in the same order).

The rest of the interview revolved around testing the program I wrote above, in which case I struggled because it was a little more complicated the the other programs I wrote and I felt as if I was repeating a lot of different test cases and generally just repeating stuff to much. We also tested the Bing webpage, focusing on the different categories of testing that my first interviewer introduced to me.

 

Interview 4: (Interviewer worked on Excel)

Question: Find the largest product of 3 integers in an array.

Answer: My solution revolved around using 5 temporary variables to store the largest positive and smallest negative numbers which were then multiplied together (Based on the values of each of them) to get the solution. The problem is made much easier but runs slower if a sort is performed on the array before hand. I ran into a few problems with special cases such as 0 and other test cases that revealed flaws in my program.

The rest of the interview involved testing an (x,y) plane by drawing lines, at one point visualizing like a air traffic control program. In addition I was asked to solve a basic logic problem with numbers.

 

About an hour after the last interview we found out our results. In the end I did not get the position which is unfortunate although MS Office is not the most interesting product to work on along with not interviewing for a developer position. I felt that I really broke down in the 3rd interview due to the fact that I struggled a lot with the problem despite solving it in the end. Also the 4th interview I ran into to many problems with my code and required to many "hints" from the interviewer. Company policy does not allow interviewers to share specific faults that I had, although I have a good idea and the recruiter gave me a general idea of what I needed to improve. My white board programming skills left some things to be desired along with my minimal testing experience.

 

Hopefully this helps out anyone interested in interviewing with Microsoft. If you are lucky enough to reach the 2nd interview, they treat you great and take you through one hell of a ride. I'll probably apply again next year when I am looking for a full time job after graduating. I will make sure this time to show my interest in SDE rather then SDET along with hopefully being placed into a more interesting position such as Windows Phone or even the Windows OS division.

 

Leave a comment if you have any questions or want me to elaborate on anything. I won't really post the solutions to the problems since you can probably just Google them and I am sure my solutions are not the ideal ones.

 

Comments (3) Trackbacks (0)
  1. thanks for sharing your experience ! and thanks for all your videos really helpful

    • thanks for sharing your experience. I admire your open strength, this kind of info helps so many people whether the tell you it does or not. I’ve just recently started watching your videos and have learned so much, thank you, thank you, thank you! and keep them coming.

      I’m in self training trying to teach myself VB.Net, C#.Net, and SQL using Visual Studio 2008/2010 in hopes to build a program very similar to MS Outlook or Mozilla’s Thunderbird. I an idea I think will help revolutionize Text Messaging from a business perspective. I understand it will take sometime to build such a program at my skill level but someone like yourself can build it within months. If you’re interested please contact me at: jonahtm20@gmail.com and I’ll be glad to share the idea with you.

  2. thanks a lot for sharing. although you didn’t get the position, you definitely experienced along the way and surely that would help you next time. better luck next time………

    P.S: we need more visual C# 2010 tutorials from you in depth and some projects on WinForms……………


Leave a comment

(required)

No trackbacks yet.