Most software engineers usually have a solid foundation of knowledge as it relates to object-oriented programming and general computer science topics. However, there are few pieces of advice I give candidates prior to their onsite interviews to help them stand out. Here are a few pointers:
1. Understand the products or services
During a technical phone interview, to a certain extent you can get away with limited knowledge of the products or services associated with the role. But during an onsite interview, it is usually pretty easy for us to determine how much pre-interview research you have done. Investigate. You want to be able to talk about the challenges the team is facing and how you can help overcome them. Being prepared sends the message that you are interested what in the company/team does, the challenges they face, and technology as a whole.
2. Brush up on computer science fundamentals
Whether you’re interviewing for an SDE or an SDET role, computer science fundamentals play a big role in what you do on a daily basis. It may have been some time since you last thought about or worked with some of the concepts you will be challenged with here at Microsoft. Brush up on common computer science fundamentals such as algorithms and data structures.
Here are a few recommended resources:
- 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.
3. Show passion
This isn’t limited to development interviews, nor is it only applicable to interviews at Microsoft. Having passion for what you do as a professional, both in a potential role at Microsoft and around technology in general (not just Microsoft products) goes a long way. We only have five to eight hours of meeting with you to try to determine your level of technical competencies—and potential. We want to see that you would be excited and willing to work to improve in any areas where you may be deficient, and that you have an insatiable desire to continue learning.
4. Test Aptitude (SDET)
One of the things we look for in a candidate is what we refer to as “test aptitude.” For most developers, there are obvious test cases they can come up with in almost any scenario. However, the candidates who usually make the cut and move on to the next round of interviews are those who display creativity and diligence. As an SDET, you cannot make assumptions that something will work because it’s a given. Even if you think there is a 99.9 percent chance that something will work, you still need to test it to make sure. Just like the saying, “There is no such thing as a stupid question,” the same can go for testing: There is no such thing as a stupid test case.
Most of the advice I provided can be applied to both development and non-development roles. I hope this post can help you nail your upcoming interview at Microsoft.
Travis shares tips on how to be savvy with personal branding.
Read more about Microsoft’s top three software-development roles.
Get the job you want: