Second Interview at Seattle, Microsoft HQ (Part I)
Alright, I didn't have a very good feeling after the initial phone interview. So, I'd thought I didn't make it. The reason being, I was feeling that I didn't give correct and complete answers to all of the questions as I wrote in my other blog post regarding the first interview. What was interesting though, was that the interviewer was never looking for the correct answer, because there wasn't one. What he was looking for was to see my thinking process progress, and how do I respond at problems, which I believe, I did well in during the initial interview.
So, three days later I got an email from the Microsoft recruiter, stating "Congratulations, Microsoft wants you to fly out to Seattle for an in person interview". I was definitely excited seeing that email, because I hadn't been expecting it, but this definitely gave me an idea of how to prepare for the interview and what would be going through the minds of the interviewers at the Microsoft Headquarter during the interviews. Writing and trying to finish my thesis, and few interviews with other companies scheduled, with thanksgiving coming and few cousins' families visiting, I jumped out of my seat that how'd I schedule everything. The last weeks of November 2009, were the most intense weeks I've been in I believe. Anyways, somehow I managed it, going to library or sitting in Borders or Barnes & Nobles, with my Laptop and books :), I was willing to give this interview my best shot, regardless of the consequence of interview.
The best part is that Microsoft schedules this interviewing event real neat. As I confirmed my participation for the 3rd-5th Dec, 2009 event, the same day, I got my flight itinerary and hotel reservation and rental car confirmed. So, I was all set nothing to worry about traveling or accommodation. All, I had to do was to make use of the resources that they gave me to prepare from. Some of them are:
So, three days later I got an email from the Microsoft recruiter, stating "Congratulations, Microsoft wants you to fly out to Seattle for an in person interview". I was definitely excited seeing that email, because I hadn't been expecting it, but this definitely gave me an idea of how to prepare for the interview and what would be going through the minds of the interviewers at the Microsoft Headquarter during the interviews. Writing and trying to finish my thesis, and few interviews with other companies scheduled, with thanksgiving coming and few cousins' families visiting, I jumped out of my seat that how'd I schedule everything. The last weeks of November 2009, were the most intense weeks I've been in I believe. Anyways, somehow I managed it, going to library or sitting in Borders or Barnes & Nobles, with my Laptop and books :), I was willing to give this interview my best shot, regardless of the consequence of interview.
The best part is that Microsoft schedules this interviewing event real neat. As I confirmed my participation for the 3rd-5th Dec, 2009 event, the same day, I got my flight itinerary and hotel reservation and rental car confirmed. So, I was all set nothing to worry about traveling or accommodation. All, I had to do was to make use of the resources that they gave me to prepare from. Some of them are:
- Think about how you would test mundane items, like calculators or staplers. Be sure to classify your tests (i.e., border cases, common functionality, error checking, etc.)
- Practice your C/C#/C++ (web programming is more C#, systems more C/C++) understanding: if you have to ask basic language questions during the interview, do so confidently.
- Review basic programming questions, such as how to turn a recursive solution into a stack-based one, how to reverse a singly linked list, how to traverse a tree (pre-, in-, and post-order), etc.
- Make sure you understand the trade-offs between data structures, focusing on space (memory) and time (computation) as your major resources being gained or lost.
- Know how to compute the running time (in Big-O notation) of any functions you see or write.
- When writing code, don’t forget to include basic error-checking! You won’t be reminded by the sneakier interviewers.
- String Manipulation Functions: C Language, because of the use of pointers and character arrays.
- Linked List Implementation and Operations: C++
- Other tasks: Java or C#.
Following were the online resources which helped me getting an insight of the interviewing process and some tips about the questions:
Comments