The interview process started really well, I really liked that they offered the option of a take home assignment, which I thought was complex but very interesting.
The virtual onsite was very standard, I talked to the Hiring Manager, had a take home project review, a standard coding question, an API/Database design question, and a mobile specific coding exercise, they were all pretty interesting and I found them easier than the take home assignment.
Where the experience went completely off the rails was after the interviews. I was asked for references two days later, which I thought meant they would be making an offer, but after that I didn't hear anything from them for 10 days, and I only got an update after sending two emails, and the response was basically just "we still don't have an update", after three more days I asked for updates again, and the response I got was again "no updates", finally 10 days later they finally sent me an email saying that they decided to go with a "more junior" candidate.
So, in total it took almost a month to get a response after the interview, and I only got updates because I asked for them, I'm sure that if I hadn't sent emails asking for updates I never would've heard from them, and all this time the team knew I was on a tight deadline.