Yoe : around 1.4 years Previous Experience: Software engineer at unicorn startup
I started giving interviews for companies during a turbulent time when hiring freeze was going on in most places. I got strong hires for all interviews at Google but was stuck in team match phase. Microsoft recruiter contacted me through Linkedin.
Online Codility test: 2 questions 60 minutes , one was easy, other was medium level problem based on trees.
Recruiter told me after 2 days I was shortlisted for interviews. All interviews were to happen on hiring drive on Saturday. Total 4 rounds were to be conducted but each was elimination round, so 2nd round would be conducted only if 1st round was good.
Round 1 : Inteviewer came and after introduction gave a medium-hard problem. It was around multiplication of big integers. Screen was shared and codility was used. After code completion he gave a few test cases and corner cases to check. Second question was straight from and it was based on two pointers. Was asked time and space complexity for both the questions.
Round 2 : After bried introduction was given a problem to design a cache. After more clarifications, I decided to implement LRU cache : Had to implement end-to-end code. I made a mistake by using queue to implement the cache instead of a double linked list. Only after interviewer gave hints I got reminded of this. Time was running out so she asked me to implement doubly linked list class.
Round 3 : The problem was vague and not from . It was a graph problem where after a collapse operation, all the children of the a node became direct children of that node. Uncollapse would restore the node and children back to its initial stage. you had to answer queries on this tree after these operations (collapse and uncollapse). Discussed multiple approaches for the same.
Round 4: AA round. this was with the hiring manager. He basically took introduction, asked me my learnings at my previous job, reason to switch early lol. Then he asked me to some behavioural questions, am i a team player or like to work alone, how to handle colleagues working remotely. Lastly he asked a networking question to which I told him I dont remember much from networks. So he asked an algorithmic problem. I wrote the code and tested it on some cases, discussed time and space complexity.
Verdict: After two hours completing all the rounds, I called the recruiter and told me that I was selected and would be contacted by HR for salary slips and further steps.
Overall the process was smooth, interviewers were helpful and understanding. Microsoft interviews are not that easy as are mostly perceived so a good understanding of DS algo and design concepts are needed to crack them.