How I Bombed a Microsoft Interview
So I’ve actually interviewed with Microsoft a couple of times. The first time I interviewed for a Software Engineering Internship, it was with a Microsoft engineer on my college campus. It was a great time, super challenging, and also terrifying. We talked very technically — it was your classic whiteboard interview.
I was handed a piece of blank paper and asked to write code that performed a specific operation (can’t go into too much detail 🤫) on a binary search tree. The question was well beyond my skillset at the time, and I felt like I was drowning in sweat. After talking with the interview to clarify constraints, I walked him through the problem in several example graphs. This helped me approach my algorithmic solution, which I wrapped up with just minutes to spare. I was told that my feedback could be used for up to a year, so when recruiting opened up for the year, I would likely be pushed on to the next round (which for Microsoft, I believe is an on-site).
Over the next several months, I studied like it was my job to ensure I wouldn’t be sweating through my shirt when I got the opportunity to interview again. I spent quality time with everyone’s favorite resources — Cracking The Coding Interview and Leetcode. I spent all of my preparation time preparing for questions like the one I had received that initial interview.
But then my recruiter left Microsoft 😬
I was told by the new area recruiter that I’d have to submit my application and begin again. YIKES. Although I was bummed, it wasn’t the end of the world, and I applied again! I actually went a month or two without a reply, until I got ahold of someone internally who gave the new recruiter for my area a nudge. No hate on these recruiters though, their job is very challenging and I don’t envy the sheer amount of candidates they’re responsible for. Anyways, I was eventually contacted to schedule an initial phone screen!
I prepared for this just like I had been all summer, leetcoding like it was my job. So you may not be surprised that this phone screen was not at all what I was expecting.
The phone screen was not very technical. It seemed like an initial get-to-know-you style call, to see if I was a real human being who could hold a conversation. Usually, I’m alright at that. But I was so caught off guard by the contrast of this to my first interview that I choked, and I choked hard. During that phone call, I was not a real human being who could hold a conversation.
Almost immediately, he asked me the first question,
Why do you want to work at Microsoft?
Wait, my last interview didn’t care what I thought about Microsoft??? He just wanted to see how comfortable I was with data structures! I wasn’t even kind of ready! This question is so fundamental to a job interview, I’m embarresed just thinking about how I struggled to respond.
Yes, I thought I wanted to work at Microsoft, but at that time, I couldn’t articulate why. Then next question came —
What’s your favorite Microsoft product, and what would you change about it?
I was sweating. I switched to Mac a few years ago, how did he know? 😩Thankfully I remembered that my IDE of choice, VS Code, is a Microsoft product! I love it and happily described how perfect it was. So needless to say I wasn’t prepared for him to ask “what I wanted to change about VS Code”. Change? I loved it!
At this point I was really hoping that he would throw me a question that would allow me to show off my practiced binary tree knowledge. But yet again, another curveball was thrown my way.
Tell me about a project where you used a data structure and algorithm
😩 I’ve done plenty of simple personal projects and plenty interview-style questions involving data structures and algorithms — but it immediately dawned on me that I never combined these two. My theoretical knowledge of algorithmic concepts was definitely siloed into the domain of interviewing. I struggled to describe how I used basic array sorts to populate iOS tableviews, and this definitely didn’t thrill my interviewer.
The biggest mistake I made in this whole process was making a blanket assumption my “phone screen” would be exactly like my previous interview that Spring. I wasn’t prepared for a question as straightforward as “Why do you want to work here”!
I didn’t over-prepare, I prepared for the wrong thing entirely. I assumed that I only had 1 area to improve in, and was proven sorely wrong.
Honestly, I probably wouldn’t have hired me after that call either. But this article isn’t a pity party for myself. It’s a reflection of what caused me to present myself so poorly. Yes, I failed this interview (with flying colors 🙃). But you can be assured that I won’t make that mistake again. Never again will I sit down for an interview (or even an info meeting) without internalizing my thoughts about the company and how I would contribute.
“Success is stumbling from failure to failure with no loss of enthusiasm.”
― Winston S. Churchill