Position: Data Scientist
Level: Associate/Entry Level
How was the interview process? What was it like?
The overall process was very rushed and not organised at all. The recruiter initially reached out to me on LinkedIn and used the name of another candidate on the message before using my name, which rubbed me the wrong way a little, but it's an honest mistake.
She then asked me to fill out a spreadsheet with my information and to sign up for the position on their website. I did both, and on the next day got an automatic e-mail saying that I wasn't fit for the position. So I asked the recruiter if she could give me some feedback on my CV and to know how I could be better. She responded by asking that I ignore that e-mail and that I would receive a take-home technical test to be completed in 3 business days.
So I did the test, and was happy about my performance. In the e-mail it said that I should expect an answer (whatever the answer) within 7 business days. 4 full weeks passed and nothing, I thought they just ghosted me, until suddenly I received another e-mail confirming what would be my on-site interviews just 3 days before they happen (received e-mail on the 5th of October, interviews were on the 8th).
Naturally I studied (a lot) during those 3 days, but there's only so much that can be done during that short period of time. I focused on studying statistics, SQL, machine learning models and subjects that were part of the scope of the job. The first interviewer was very nice, but the other two were a bit mean and difficult to understand. I would try and walk them through my solution and thought process and they would kind of brush it off or just stay completely silent when I asked a question. I eventually solved the recursion problem (third interview) with some hints and at the end of the interview the interviewer just said "you need more practice", which I thought was an insensitive thing to say since I did acknowledge that I hadn't brushed up on my algorithms and data structures knowledge.
TL;DR: only stayed in the process because it was Microsoft. As a potential candidate I don't think they handled the process well or were transparent with me about any dates or knowledge they were expecting (which I know is something that Amazon does).
What technical questions were asked?
Data Structures and Algorithms, ML Implementation/Engineering System Design, AB Testing & Statistics, Modeling and ML Knowledge, Business Case and Strategy
What was one of your solutions?
I studied a lot for the statistics, data science and machine learning questions, so I was really prepared for that. But the data structures and algorithms questions caught me off guard (the quicksort and dice questions specifically) which is why I think I was only good at 1 out of the 3 interviews.
For the lists question I started with a brute force approach, traversing both lists and comparing all elements (O(n^2)) and then evolved my solution to a linear complexity by storing all elements of the list as keys in a dictionary and using the value as as a flag that the key was present in the other list (I only had to traverse each list separately and then the dictionary, so O(n)).