There’s 3 steps generally speaking.
Phone screen interview, where the recruiter has a chat to see your interest and for you to learn more about the company and see if it’s what you’re interested in.
Then there’s a take-home interview which they recommend you do over a weekend because otherwise it’s unfair to you to rush it on weekdays. I was encouraged to be adventurous with this, and tried out some testing methodology I hadn’t tried before. If I remember correctly, they mentioned they are particular about their tests. The challenge itself was ambiguous about some scenarios which makes it hard to work with, forcing you to make assumptions.
After submitting that, I had maybe a 1-2 week wait before scheduling a 3.5h long interview - this was 3 rounds of interviews, one was a code review on the take-home challenge, where they ask you about what assumptions you made try to make sure you are conscious about the assumptions. They also ask you how you would handle changes to some of those assumptions. (Which, in hindsight, is very reflective of the way projects work within TM). The next interview is live coding, which was stressful for me but the interviewers tried to reassure me that it’s okay. Some very basic knowledge of efficiency is required, like how to read big O notation - stuff like being able to calculate amortisation in big O wasn’t covered in my interview, though i did outright state that i had no idea about it
Then was the culture fit interview, which was about project management and how i would handle scenarios around interactions with clients. There also was some conversations around software architecture and infrastructure.
At the end of each session i had 10 min to ask them questions, about the company, about pay, about project management, about technical questions, anything you want. Then another 1-2 weeks later i got a message from the recruiter to schedule some time to call. During that call i was given feedback on my interview components and what they liked and disliked, as well as giving me a verbal offer. Some logistics were worked out after that, and after some time, the security and background check was completed. Only then did i get the contract to sign, which i think is fairly standard.
The take home assignment was more tedious than complicated, while the live coding was a bit more complex. (It wasn’t a graph question, for those of you looking through the other interview reviews)