I recently interviewed for a Software Engineer II position at Microsoft. The interview process consisted of three rounds.
The first round focused on data structures and algorithms. I solved the problem, but my solution was not optimal. The second round involved low-level design. I had not encountered this specific question before and was unable to provide a complete solution. The third round was high-level design, where I proposed an event-based system. This round went reasonably well.
I believe my performance in the LLD round may prevent me from advancing to the final round.
I will update this review once I receive the results.
Overall, the interview process was enjoyable. With additional practice in low-level design, I believe this interview is achievable.