Years of Experience: 2.3
I applied for a Software Engineer II opportunity at Microsoft through a referral and received online assessment links within a couple of days.
Online Assessment Round:
I passed the online assessment and received an interview invitation a couple of weeks later. They indicated three interview rounds, all on the same day.
Round 1:
The interviewer was very friendly. We both introduced ourselves, and he asked some questions about my projects. Afterward, he gave me two data structure and algorithms questions and expected working code.
I was able to solve both problems and write working code. Then, he asked me to write test cases and suggest improvements to make the code production-ready. Overall, I believe this round went well, and the interviewer seemed satisfied.
Round 2:
This was a high-level design round. The interviewer presented the problem of designing an Instagram feed. We had a detailed discussion on database schema, APIs, feed optimization, and handling the "celebrity problem." He also asked what analytics features could be added to Instagram and some questions about my projects and a few behavioral questions. This round also went well.
Round 3:
The interviewer joined 20 minutes late, and we experienced some technical difficulties. He asked me to design a paint application in React. We discussed the scope of the problem, and I went into too much backend detail instead of focusing on the frontend. He was okay with the backend portion but not satisfied with the frontend design.
After one week, HR informed me that the position was on hold and they would update me once a new job request was created. I am still waiting for updates from HR.