I received a call from Microsoft HR. Two days later, I received a Codility test with two medium-difficulty data structures and algorithms (DSA) questions. A week later, a recruiter contacted me to proceed with the interview process.
Online Assessment: Two medium questions (details omitted).
Round 1: DSA (1 hour 20 minutes) Questions:
Round 2: HLD, LLD, and DB Design (1 hour 50 minutes) Design of a Netflix Movie Recommendation System. The discussion started with the system's high-level design (HLD), followed by many follow-up questions on HLD concepts such as CDN, data storage, handling multiple requests, microservices, API design, and database design. The interview concluded with a fully functional algorithm for the movie recommendation system (the most challenging part of the entire interview). The platform was Codility codelive. Focus areas included microservices architecture, database selection, CAP discussion, scalability, low latency, SOLID principles, object-oriented design, and extensible code with a working demo.
Round 3: HLD (~1 hour 20 minutes) Design of an airplane landing scheduling system. The discussion started with requirement gathering, followed by HLD and LLD. There was a detailed discussion on API design. The expectation was to write 1-2 main working APIs. Some questions were asked about previous projects. Focus areas included microservices architecture, database selection, and API design.
Round 4: Managerial Round (~1 hour 10 minutes) This round included a detailed project discussion and behavioral questions. I was also asked a graph-related problem: Word Ladder. The expectation was to write fully functional code. The round also included team and project discussions at Microsoft.
Notes: The first three rounds occurred on the same day. Two weeks later, the final round took place. Three weeks after that, I received the offer letter.
Verdict: Selected