First step: A 15-minute call with the recruiter asking a few basic questions about myself.
Second step: A 30-minute tech assessment with a very small time frame for each question and no room for error
Third step: An hour-long interview split into 2 parts (30 minutes with one person doing a classic coding assessment, and 30 minutes with another person discussing a puzzle and having me design an algorithm for it)
Fourth step: A 30-minute behavioral interview for the last round
The recruiter followed up with me between each round of interviewing