Interviews at Microsoft
Last year I had a chance to be interviewed at Microsoft HQ in Redmond. How did I get there? What did I do?
I think it was in March last year when I saw this post on Eric Carter's blog. Wow, they had job openings at VSTO in VSTA teams (btw. the post is still up, so I guess they are still some open positions). I was very excited but also I didn't expect anything since I still didn't have my diploma and I guessed that a lot of people would apply for these positions. I thought what the hell and sent my resume in. To be honest I really didn't expect anything to happen (well, I thought I would get an email that my resume was received and I will stay in the database for one year:)).
Next day I got an email from Eric and he said if he can call me to talk with me. I was really surprised so I sent him my phone number and he called me the day after. Prior to the call I search for some interviewing tips, if nothing else, just to see what can I expect. The phone call went pretty well, I got asked a couple of 'programming' questions (e.g. what is an object, how inheritance works and some other basic questions).
I was pretty fortunate that I met some guys from VSTO team a year before at PDC in LA. And besides I was going to Redmond in March to attend Office Developers Conference (thanks to Andrej!). Apparently the guys from the team told Eric that I was coming to Redmond in a couple of weeks so Eric said we could meet there (actually he said, I should come by the building 41 to talk with some people over there :).
The interviewing process wasn't that exhausting as I thought it would be (reading all that stories on the internet about 3 days of interviews etc.). I had (only) 3 interviews in one day; every interview lasted for an hour (that's 3 * 1 hour = 3 hours :)). I must say I didn't prepare much - what can you do to prepare for an interview? Interview isn't some kind of a test you would prepare for (in a way: "Read this and this book; study this and that ..."). Interviewer is trying to get to know you. If you don't know for example what a delegate is then why should you learn it one day before your interview? (I assume you know what a delegate is, otherwise you shouldn't go to the interview :). I didn't prepare anything for this interviews - I was just being myself; if I got a question and I didn't know the answer to, I just said that I don't know period.
Below is a brief descriptions of the interviews I had:
First interview (with Eric Carter):
- coding question was about linked lists
- another coding question was a geometrical problem
Second interview (didn't get the name of the interviewer, but I think he's an architect):
- some basic questions (similar to the one I got in my phone interview)
- coding question (algorithm to determine a winning move). I must say I wasn't really good at this one; I took me quite some time but I didn't manage to write the code; I think that interviewers like to hear and see if you think out loud (and not just write something on the board and stare at it) - try to talk and explain as much as you can; and don't be afraid to ask questions!
Third interview (with Jing Lou (testing )):
- I don't remember the 'general' questions
- the coding question was to write a method which manipulates with strings...
- ... and to test it
- last question was how would you test some device (test cases)
And that was it. Next, I went to lunch with Thomas Quinn (after reading on the internet I think that was also an 'informal' interview).
I think that even before the lunch I went to the Eric's office again... (story will continue next time).
Here are some tips to 'survive' the interviews:
- don't be nervous (there's no need to, people at MS are really nice)
- read and understand your resume before the interview; I am 100% sure you will get at least one question about your past projects
- if you don't know something just say so; nobody knows everything!
- think out loud when you're writing the code; let your interviewer know how you think and let him see and understand the paths you're trying to take when searching for the solution of the problem
- there is no dress code at MS (that doesn't mean you can go to the interview only in your underwear :); I was dressed casually
- lunch is still an interview
- show your passion for technology/software/development/testing etc.
Hope this will help someone who's preparing for the interview. You can also leave your tips in comments.