Sourcer reached out to me on LinkedIn, which is how I got the coding assessment. Standard Microsoft Codility format- not sure what I'm allowed to say, so I'm gonna leave it vague but try to talk about my experience.
The codility was very doable in the allotted time, and about 2-3 days after I passed it (92.0 after talking to my sourcer), I got an email asking me to sign a NDA on the Microsoft Action Center ().
Microsoft had not reached out to me about a hiring event that would take place on until .
I want to preface my summary of the interview by saying this: I had a really hard time in college, and so I'm not a CS major for a lot of reasons that ultimately were out of my control. Despite this, I've tried to stay hard working and determined because I know this is what I want to do. I had a bad slump during COVID, and I really was happy I finally got an interview at Microsoft- it was the break I needed. From the moment I got my codility challenge from Microsoft, I did little else other than and finish the entire green coding interview book. I felt great, and I'm extremely proud of myself for being able to do what I did in the allotted time.
On the day of the interview, I started my four rounds at 8AM and finished at 12. I was extremely happy with the outcome- the questions were actually astoundingly easy for me, and by the literal grace of God, my fourth round follow up question was a topic I'd learned literally just for fun the day before: topological sort. The interviewer was very impressed, and I felt amazing.
For the first round, I was so nervous I could barely speak. However, the interviewer was a Microsoft Senior Engineer and he could tell I was just really nervous. He took it easy on me, and talked me through the logic in which he wanted me to solve the problem. I demonstrated sound coding fundamentals and an ability to listen and solved the problem. Probably got a pass here.
For the second round, I was interviewed by a gentleman who was seemingly very nice and happy. He gave me an interesting version of a problem I'd seen before, but the question was too long to do in 45 minutes alone. When the question was presented to me, the interviewer had already written out the methods needed to solve the problem (probably because it was just too long to write out alone in the given time), and we walked through everything together- for this interview, I'm absolutely certain my code was correct because he ended up testing it with specific cases in which he knew the output. Everything looked great. I was extremely confident about getting a "hire" from this individual, but I found out later that he "no hire"'d me anyway. Why? I have absolutely no idea, and it really upset me when I did find out. I demonstrated a very proficient ability to code, I was polite, and I solved the problem. This "no hire" was probably what cost me the job.
For the third round, I was interviewed by an individual who'd been at Microsoft for 15 years. He asked me a straightforward question that I actually had no idea how to do at first, and I myself made a pretty dumb mistake- during the interview pressure, I mistakenly used the word "long" for "float," which probably started the interview off pretty badly. I wasn't entirely sure how to do the question he'd asked (despite it being straightforward), but in my defense, he was a pretty bad interviewer. He seemed disinterested in me as a candidate, and didn't say much the entire interview. Closing in on 45 minutes (around minute 40), I decided F- it and started testing my code. To my astonishment, it actually did exactly what he wanted, minus a few edge cases (divide by 0 case, etc). Even here during this interview, I can happily say that I demonstrated grit and an ability to tackle problems I'm unfamiliar with due to a solid set of fundamentals which without I would have certainly flopped (didn't seem like it made a difference, though).
On my final interview, my interviewer was someone around my age who'd been working at Microsoft for four years. This was the interview I had a lot of fun with. The interviewer asked a really cool question using only basic arrays and Strings that I'd never seen before. I solved the initial problem handily, and had a great discussion with him on how to solve the follow-up (topological sort). Absolutely got a "hire" here.
Overall, I'd say that despite this experience being beneficial to me as an interviewee, I am still very frustrated that I couldn't get even 3 "hires." I gave it my absolute all and overprepared, but it didn't seem to matter. Whether it be because of politics, my own shortcomings as a candidate due to not being a CS major, or some other underlying reason by the interviewers, this job just wasn't meant to be for me. I'd be careful for those who apply to Microsoft, as it's pretty clear to me after this experience that they're picky in really weird ways when it comes to selecting candidates. I'm trying my best to look forward and not be too upset at the outcome, but the truth is I really, really wanted this job and felt like it was in my hands. To other people who will be in my position very soon, I wish you all the best of luck. To my interviewers, I want to thank you all for your time despite not selecting me. Next time, I'll knock the socks off the interviewers even harder.