HR phone screening followed by two technical phone interviews, 60 minutes each. One was stats/ML focused and the other one was coding, which to test candidate's implementation skills rather than algorithm knowledge. After that it was a full day onsite, which consisted of 7 1-1 sessions.
For the onsite, the first round was about product. There were not much technical questions there; instead it was more like a introduction that helped you prepare for the rest of intensive interviews. The interviewer provided me a lot of insights about their products and business model, which was very helpful, and I liked it a lot.
For the rest of the day, there were 4 technical sessions, where 2 of them were open ended that focused on stats/ML knowledge, 1 was closed ended that was more like a pair programming session, and the other one was coding session which also focused on implementation. I had lunch with someone in another team and our conversion was pretty casual, but he asked many behavior questions so I think this was the purpose of this round. Also I talked to the hiring manager to better understand the team and figure out if we were good fit for each other.
As I had some time sensitivity, I told the recruiter to increase the process speed and he did make that happened. I finished all interviews within a week and received an offer the following Monday. The recruiter is very responsible and care. He replied messages quickly which made the process pretty smooth. Everyone I have talked to has deep knowledge in their field and is excited about their work. Overall it was a great experience and I think the team is a good fit so I accepted the offer.