Had an on campus interview where the interviewer asked some questions about a couple of things on my resume as well as the most challenging technical problem I've faced and how I solved it. I was not asked any coding questions.
Two months went by before I heard anything back from Microsoft and I was led to believe that I had been rejected since several candidates had received an invitation to interview onsite in Redmond, WA. Eventually, my recruiter told me that I had been selected to interview for an SDET role although he didn't tell me on which team (this is only communicated to you on the day of the interview). From this point on, it took another month-and-a-half or so to schedule the onsite interview in Redmond.
From this point on though, the process was smooth sailing and I received an e-mail asking to confirm travel details. The trip and itinerary was booked swiftly. On the day of the interview, I met with the onsite recruiter who told me which team I would be interviewing for as well as answered some soft/HR-type questions. I was given some suggestions/advice from the recruiter on how to approach the technical portion of the interview.
I had a day worth of onsite interviews with mostly technical questions. We went a bit overtime although I found that each interviewer was friendly and very proud of the work they were doing. They were also more than happy to answer any questions that I had as well as give feedback on my performance on the interview. The format of the interviews was a brief introduction followed by two technical questions. The first was generally on how to test a particular piece of software and the second was usually a whiteboard coding question.
After 5 interviews, I met the Hiring Manager who I feel was evaluating my 'fit' for the organization. The questions here were a mixture of technical/non-technical ones.
ADVICE:
- Although it has probably been stated elsewhere, I cannot stress the importance of knowing the following things:
- Data Structures (Stacks, Queues, Trees, Heaps, Linked Lists, Hash Tables, etc.) as well as how the various operations on those data structures work
- Being Able to Reason Time Complexity in code that you've written/seen (especially operations on data structures)
- Coding on a whiteboard/without a debugger
- I would also suggest going on the internet and getting some practice with coding problems (TopCoder, CodeKata, HackerRank, Leetcode, etc. etc. etc.)