First of all: the tech recruiters were super kind, helpful and suppportive throughout the entire process, this made for a really good interview experience. The recruiters are also really good at communicating at every steps and give great feedback.
Everyone was super accommodating, I was able to set my own timeline for interviews and have time to properly prepare them. This, to me, was a huge plus as I was able to prepare and schedule all the interviews while being employed, it helped manage the stress of interviews.
Now about the process: it's fairly long, to get to the offer there's at least 7 interviews in 3 phases.
The first phase is screening:
- A first screening call with a first tech recruiter
- A coding challenge with an engineer (leetcode style med / hard)
After this is the final round of 4 interviews with 4 different people:
- Another coding challenge similar to the first one (leetcode med / hard)
- A classic system design interview
- A system design deep dive interview on a project you worked on
- A behavioral interview
After this is the team match interview(s), if your profile is interesting for at least a team you will meet with a manager, it could be your future n+1 or n+2 and you'll get to learn a lot about the team and what they do. These interviews go both ways, they want to learn about you and how you work too!
In between the final round and the team match, a hiring committee will review the feedback from all the interviewers and your profile to validate the final round.
After the team match another committee will decide whether or not to make you an offer.
This all makes for a lengthy process, especially if you spread the interviews a bit but it is well worth it.