Stage 1: I had an initial call with HR about basic availability, visa, salary, etc.
Stage 2: A 1-on-1 interview with a manager. He asked questions about projects, skills, leadership roles, learning ability, etc.
Stage 3: I had a take-home technical assessment with 2 questions - 1 in a coding language of your choice (I chose Python) and another was a theoretical one.
Stage 4 (last stage): An in-person interview with 4 of the team members, 1 manager and 3 senior members. They started by asking about the technical assignment and why I made the coding decisions I did. Then, about unit testing, ML, SQL and 1 situational task that I had to solve on the blackboard.