Round 1 - Online Assessment (OA)
Questions:
- Similar to Longest Path With Different Adjacent Characters (Graph-based).
- A tricky array-based problem requiring edge case handling (Medium).
- ⚠️ Note: Codility test had only 2-3 test cases, but everything was evaluated after submission, so you have to think of all possible cases where your code may fail.
Candidate's Approach
No approach provided.
Interviewer's Feedback
No feedback provided.
Round 2 - Technical Interview (DSA)
Questions:
- The question was a story-based problem, a modified version of Bipartite Graph.
Candidate's Approach
- Started drawing the nodes on Codility (struggled a bit with my mouse pad), but the interviewer helped.
- Within 4-5 minutes, I had the approach.
- Explained it, drew the graph on the board, and ran through test cases.
- Quickly wrote the code, dry-ran it, and handled edge cases.
- Finished the code in 15 minutes, and we still had 30 min left.
- Refactored the code further in the next 5 min.
Interviewer's Feedback
- Interviewer was really happy with my performance.
- Complimented my code quality and mentioned that I refactored it to make it even better.
Round 3 - Technical (LLD + DSA)
Questions:
- LLD question: Requirement gathering, wrote down all the requirements, thought out loud, analyzed multiple approaches, and picked the best one.
Candidate's Approach
- Used Factory, Singleton, Facade patterns, which impressed the interviewer.
- Quickly wrote the code and made modifications as requested.
- Asked about data security at Microsoft and how long it takes to roll out a feature compared to a startup.
Interviewer's Feedback
- Interviewer said: "You did well, no feedback for improvement."
Round 4 - Technical (LLD + HLD + DSA)
Questions:
- Basic HLD questions like CAP theorem.
Candidate's Approach
- Discussed API-related questions, starting with high-level discussion, requirement gathering, and load estimation.
- Explained sharding, consistent hashing, ZooKeeper, and came up with 4 different approaches, explaining pros/cons.
- Wrote the LLD code optimized for milliseconds-level latency.
Interviewer's Feedback
- Interviewer said: "I can’t share feedback, but all the best for your next round."
Round 5 - Hiring Manager (HM) Interview (Resume + Behavioral + LLD + DSA)
Questions:
- LLD question: Followed requirement gathering → structure → implementation.
- DSA question: A NP-hard graph problem.
Candidate's Approach
- Struggled with the NP-hard graph problem but came up with the approach with little hint.
- Combined insights from previous interviewers to answer "Why Microsoft?".
- Answered multiple behavioral questions.
Interviewer's Feedback
- "You did well, adapted to changes in requirements quickly."
- "Work a bit more on problem-solving under pressure."
- "It’s tough to solve an NP-hard problem in a short time, especially in the final round."