Saw the position on LinkedIn and applied on their website. Couple of days later, I received a link for online coding assessment.
Online coding assessment: 3 easy to medium Python questions. Time limit is 50 minutes but you honestly won't need the entire time.
Few days later recruiter reached out saying she wants to schedule an interview with hiring manager.
1st zoom interview with hiring manager - 1 hour
Initially discussed about my research background, a hackathon project which was relevant to the work they do (regarding phishing detection), a couple of ML questions like regularization, overfitting etc. Gave an open ended question like how would I build a website classification system. All this took 30-45 minutes. Next 20 minutes 1 coding problem (H-index problem from leetcode) and last 5 minutes for me to ask questions. I did some research about their team's work on company website and LinkedIn and we ended up talking about it for almost 30 minutes instead of 5 minutes. Knew right away that I had impressed my manager.
2nd zoom interview on next day - 1 hour (with my mentor during internship)
As usual first discussion about my research and a project from resume, a lot of ML questions (it was like a rapid fire, I think I got asked some 25-30 questions related to basics of ML in 30 minutes), 1 medium difficulty coding problem based string manipulation (I explained the logic correctly but couldn't write the entire code but was able to answer several follow up questions in my logic)m last 5 minutes for questions about team and again it went well because I did some research about the team and my interviewer and was able keep the conversation going until she had to end the interview.
Received the offer a couple of days after the 2nd zoom interview. I think what helped was I kept talking during coding, I had prepared ML basics pretty well and did some research about the team and interviewers. Going that extra mile definitely helps to impress the interviewers.