The whole process felt really rushed and mismanaged. After passing the online assignment I got offered an onsite in Redmond 10 days later, I was not offered the option to reschedule since recruiter claimed it was the only hiring event for that team (later I learned this events happen pretty often). I accepted, microsoft took a week to send me the travel arrangements and my flights where confirmed less than 3 days before the onsite, making it hard to plan ahead and get days off my current job. I emailed the recruiter the day after passing the online assignment asking for some guidance on materials to prepare for the onsites, no answer, I got an email from him with some prep material the evening before the interview! 5 days after the onsite I got a call from the recruiter saying that I wasn't selected for this role but that they had another opening that might fit me better and encouraged me to re-interview right away, I declined the offer and asked to get some feedback from my onsites on areas to improve, recruiter didn't have the feedback at the time but said I should be receiving it by email in the next day. That was 3 weeks ago, still waiting...
As for the onsites, I had 4 hours of technical interviews, 3 on DS and Algs 1 on Systems Design, interviewers where really nice and helpful, the problems where about medium leetcode difficulty. One of the interviewers seemed a bit shocked when I said I was gonna do the challenge in python, ( this was already determined since day 1 when I spoke with the recruiter) and seemed to be improvising the challenge as we went, which made the whole thing pretty confusing, so that didn't feel great.
Overall the onsite experience was positive, but recruiting process was one of the worst I ever experienced