The steps for me where:
1. Online pre-screening with a recruiter (~1h)
2. (If recruiter is happy) Online screening (~1h) with 2 engineers. First half is about discussing two/three relatively simple algorithmic problems, discussing multiple solutions, optimisations, complexity of solutions. Second half is trivia questions, quite many of them, some are very concise, some are more open ended and you can ask questions to get clarifications.
3. (If engineers are happy) On-site interviews - 4 interviews (~1h each) in one day, 2 interviews before lunch, then lunch with random employees from different teams, then two more interviews. Each interview is done by two people:
- One with hiring managers, talking more about soft skills and cultural fit
- One case-study interview (incident troubleshooting and problem mitigation)
- One system design interview (with an angle on data processing, because I was interviewing for a Data engineer position)
- One coding (on the board) interview with an additional angle on testing approaches
Overall, a pleasant experience, although the on-site interviews are quite exhausting.
The recruiter is with you through all steps along the way, checking in, asking for feedback, and forwarding very good and concrete feedback from each of the interviews.
The process was quite long due to Christmas and New years period and lower availability of interviewers as well as my personal availability.
I got feedback at most a week after an interview though, about whether there will be a next step.