Recruiter sent me an email saying he wanted to schedule a call with me. I chose the date and time and on the day, he didn't call me. I sent an email saying I was waiting for his call, but he didn't respond to that until one week later, where he said "somehow my call was directed to voicemail every time", which is clearly a lie (even is that's true, he should have sent me an email immediately).
He scheduled another call and this time we could talk. He told me the next step is a HM call, saying there would be a coding session in the latter half. According to him, the interview process consists of (1) HM interview (1hr), (2) Panel interview consisting of (a) Coding (1hr), (b) ML/OR (45min), (c) "Principal-leveling" (45min), (3) Speaking with leadership (director or CTO).
After the call, the recruiter sent me an email saying he added a Zoom link to the invitation for the HM interview. However, the invitation was not updated and there was no Zoom link. I replied to him and asked him to send the Zoom link, but he didn't reply.
On the HM interview day, I needed to do something, so I sent a connect request to HM on LinkedIn and added a message about the situation. HM kindly sent me the Zoom link and we could have an interview. It looked HM also pinged the recruiter and the recruiter sent me an email 10min before the interview, saying the coding session will be about Python.
HM's interview was somewhat strange. We were working on a case study about certain scenario, but her questions were a little pointless. It looked she was expecting specific answers on her questions, but I could not figure them out and I felt our conversation was incoherent. That's probably a (lack of) culture fit and so it's natural that I was rejected. Oh, and there was no coding session.
In summary, I felt everything was disorganized.