I received a referral to Microsoft, and a recruiter contacted me with a link to an online assessment. There were two online assessment questions; I don't recall the specifics.
A few weeks later, the recruiter contacted me to schedule interviews. I had Rounds 1 and 2 scheduled on the same day.
Round 1 - DSA-based Round I was asked this DSA question: Word Ladder II. I had not seen this Hard problem before, so it took some time to come up with a solution. Self Verdict: Hire
Round 2 - Low-Level Design Round The interview began with a discussion about the use of rate limiters in the real world and then moved on to writing working code. I was able to come up with a solution, and we discussed other questions related to memory and had a high-level discussion about rate limiters. Self Verdict: Strong Hire
Round 3 - High-Level Design Round The interview started with some general behavioral questions and then quickly moved on to designing Twitter. The major discussion revolved around Twitter Feed. I came up with functional requirements, non-functional requirements, database design, API, and high-level design. I was able to answer additional questions about what would happen when a celebrity posts a tweet. Self Verdict: Strong Hire
Round 4 - Hiring Manager Round The interview began with about 15 minutes of behavioral questions. I was asked why I wanted to leave my current company and about the programming languages I have used in my career. The interviewer then asked a design question: Design URL Shortener. Again, I came up with similar high-level design solutions and was asked many questions about design changes with respect to scale and what would happen if a celebrity posted a shortened link on their account. This round went well. I also asked a few questions at the end. Self Verdict: Strong Hire
The recruiter contacted me the next day with an offer.