I applied on the Microsoft site directly, and haven't heard any updates for the next 2 months, in fact, I thought I am just not being selected to move forward after no response after 2 weeks so I was a little surprised to receive the updates. The phone screening interview is scheduled within a week, and I receive the update the same day that says they will move me to the next step. There are in total 4 rounds of interviews in the virtual on-site step, which I have to schedule within 2 weeks after I pass the screening round. Three out of four is the technical round, which covers the data structure/algorithm, javascript, front-end, and web-server fundamentals and skills (I applied for the front-end role). The last round focused on behavior questions and discussed my past working experiences. The interviewers are nice and friendly, making me feel comfortable so I can focus on the questions. I received the results 2 days after the virtual-onsite round, followed by offer negotiation, background check, etc, which takes around another week. Besides the extremely long waiting time in the beginning, everything else moves fast and smoothly.