All rounds were held virtually on Teams and Codality
- Round 1(60 mins):
- Brief Introduction (10 mins)
- Compare if two stacks are identical or not in a) O(n) space complexity b) O(1) space complexity. You should not change the final state of the given stacks in the end.
Part b took some time in discussion using virtual whiteboard/canvas so he asked me to run the code for 0(n) space itself. The interviewer was happy with the interview.
- Round 2(60 mins):
- Brief introduction of the team ( 10 mins)
- Brief walkthrough over my resume ( 10 mins)
- Merge K sorted Linked Lists
I coded the solution using priority_queue. He then asked for an alternate approach without using extra space. So I then coded the normal iteration method . This round went fine.
- Round 3(70 mins):
- Brief discussion about the current project I am working on.
- Print all root to leaf paths in Binary Tree
- A array is given like 2,5,9,4,1,10,13,18,20 . Print all consecutively increasing intervals and find the maximum difference in any two consecutive elements of all the intervals. Here : Intervals are [2,5,9], [4],[1,10,13,18,20] Maximum element difference is in 3rd interval (10-1) =9 (Ans).
- Find number of islands ina binary matrix. ( A pseudocode was just expected for this due to time shortage) . This round went very good.
- Round 4 (60 mins)
- A list of tickets is given : V->Z , A->L, L->M, M->V . Find the itinerary for me so that he can visit the places.
I tried doing this using DFS and topological sort but he pointed out later that I have not mentioned the starting point. You need to identify the starting point first. So he asked me to approach using a Hash Table and a Reverse Hash Table. We discussed this and finally we were able to code it out within the time slot. This round was just ok.
- Hiring Manager Round ( 80 mins)
- This round was held the next day and he was late by 30 mins in joining the meeting. This was a grilling session.
- Brief discussion about the projects I did and was doing. High Level discussion on Kafka as I had used it. He asked how to prevent Subscribers from reading messages from Topics twice. I told him the answer correctly.
- Since he was the group engineering manager , he told a bit about his team and asked if I was comfortable working in this domain( Windows Operating System security ) .I stayed affirmitive.
- Design a rate limiter. I started with the high level design but he asked me to just do the UML and low level code. This took some time (30-35 mins) .
- A simple stack question ( like finding the next greater element) . All the codes were dry run on codality.(20 mins)
- He seemed happy with the response and asked my current CTC. Then he again went back to discussing about the architecture and infrastucture about my current project . There were many follow-up questions.
- It all seemed fine as I was able to give all the answers. The interview concluded on a positive note.
But I kept my fingers crossed as I had gone though the Amazon interview just like this. To me, the interview went well but I was rejected.
Verdict: After three days, Rejected from MS.