YoE: 3.5 years Current position: SDE2 at a non-FAANG company
I already interviewed for MS a couple months back and I didn't really apply for this role. A recruiter reached out to me and set up a call with the HM of the team. It was an hour long call about resume, scenario discussion and a little technical chat on my projects. After that, I got a mail that onsite has been scheduled.
Virtual Onsite: Round 1: Started with some behavioral questions and then the technical question was: Flatten Binary Tree to Linked List I told the interviewer the stack based approach first and then also about the recursive approach. She wanted me to write the recursive solution. Wrote and ran it. Passed all the test cases she told me to ran.
Round 2: Behavioral question and then was asked to provide the LLD for a vending machine. Asked a lot of questions, wrote down requirements, constraints/assumptions, designed the classes/methods and talked about SOLID principles. Interviewer seemed impressed.
Round 3: You guessed it - behavioral questions. Then the coding question was: Construct Binary Tree from Preorder and Inorder Traversal. Coded and ran it and then the interviewer extended it to Construct Binary Search Tree from Preorder Traversal. Since there was not much time, I explained a stack based approach and she wanted me to dry run for a few cases which I did. She seemed happy with that.
Round 4: This was the HM round. Plot twist: now I was interviewing for a different team so this was not the guy I spoke to earlier. He started with some small technical questions and then went into my resume and ask detailed questions about my past projects. There were a lot of follow-ups to those. This round went on for 80 mins.
Got a call from the recruiter yesterday that I got the offer. Thanks for all the helpful posts, solutions and discussions. All the best to the ones preparing :)