Each interview round was scheduled once after I passed the previous stage.
1. Hiring Recruiter round (30min): a phone-call to understand motivation, and background (including situation-based behavioural questions).
2. Hiring Manager round (1hr): With 2 prospective managers, be able to answer questions about work experience in detail (project, technical trade-offs, lessons learned, etc.)
3. Assessment round (not timed): choose 1 of 2 leetcode-style questions to solve at your own time.
4. Functional Interview round (1.5 hr): With 3 prospective team members, be able to talk about the assessment, general software development practices, resume, and what you can bring to the table. Additionally, there was 1 white boarding question (leetcode-style) with focus on communication, problem-solving, and adaptiveness to feedbacks (be ready to multi-task as interviewers likely give feedbacks while you're coding)
5. Executive round (30min): be able to tell stories in align with the company's values.
6. Offer or Reject: following 2-3 days after the executive round, hr scheduled a phone-call to share feedbacks (whether the result was good or bad).
Overall, a lengthy interview process. But, given the current state of the market, it was understandable.