Software Development Engineer (SDE) interviews at Microsoft
Posted Tuesday, June 17 2008 by The JobsBloggersThe Software Development Engineer position:
Check out Steven Sinofsy's Dev (or SDE) at Microsoft post on TechTalk, Feb 2006
The Interview Process:
The goal of the Microsoft interview process is twofold: It’s not only an opportunity for us to get to know you, but also for you to know us. We pride ourselves on an in-depth experience that allows that to happen. To some extent, this process includes actually having you “do the job” during the interview. While questions about your background and previous experience are to be expected, also come prepared for coding exercises and writing code on a whiteboard. For an example, check out the links below for our Channel9 segment on white boarding.
To prepare for the interviews, you’ll want to brush up on your programming skills, including algorithms and data structures. Again - expect that you’ll be asked to write code during your interview without the aid of a computer. Don’t forget to test it before you say you’re done! Remember, the basic responsibility is to make sure the feature works. Then, consider all the factors that could cause problems. What are the security implications of the feature? Will it work in another country? How can I stress this code? What are the boundaries and error conditions? We’ve attached a host of resources at the end of this e-mail should you want to review some information on these topics.
Beyond practical questions, we also want to learn more about how you think. SDEs need to be able to articulate their opinions, how the issue they’ve identified will affect a customer, and what is the “right” thing to do. When questions are ambiguous, you should ask for clarification. And for any situation, you should be able to put yourself in the position of the customer—how would you expect this product to work?
During your interview day, you can expect to meet with three to five people for one hour a piece, so be sure to get a good night’s sleep – it’s an exhausting day! We will have a healthy supply of beverages on hand should you be thirsty; however, you may wish to bring a snack or two. Make sure to come prepared with questions as well: what do you want to learn about the position, developing at Microsoft, the company in general, or even the Seattle area? Your interviews will be with other Software Development Engineers and SDE managers, so you’ll have the chance to have those issues addressed by the people currently doing the job. By the end of the day, we want to make sure that you’ve had a chance to learn everything you need to know as well.
Software development resources recommendations:
Box, Don. Essential.NET, Volume I: The Common Language Runtime. Addison-Wesley Professional, 2003.
Brooks, Fredrick. The Mythical Man-Month: Essays on Software Engineering. Addison-Wesley Professional, 1995.
Cormen, T.H., Leiserson, C.E., Reivert, R.L., Stein, Cliff, eds. Introduction to Algorithms. McGraw-Hill, 1990.
Howard, Michael, LeBlanc, David, eds. Writing Secure Code. Microsoft Press, 2001.
Maguire, Steve. Writing Solid Code: Microsoft’s Techniques for Developing Bug-Free C Programs. Microsoft Press, 1993.
McConnell, Steve. Code Complete: A Practical Handbook of Software Construction. Microsoft Press, 1993.
McConnell, Steve. Rapid Development: Taming Wild Software Schedules. Microsoft Press, 1996.
Tanenbaum, Andrew. Modern Operating Systems. second edition. Prentice Hall, 2001.
Helpful links
Channel 9 Segment: What’s it like to interview at Microsoft
Channel 9 Segment: Mock White boarding problem
Channel 9 Segment: Riding the recruiter shuttle
Tagged as: job-hunting, interviewing, working-at-msft
