I've applied through recruiter. Firstly, I want to add, that interactions with the recruiter were a bit awkward in comparison with all other companies recruiters I've spoken to. The recruiter was too difficile, and when I was trying to clarify some stages of interview recruiter behaved in a bit offensive way, instead of more detailed explanation of topic I'm interested in. At the end of the day the recruiter should warm up my interest to the company, not repel. Nevermind.
I quite easily passed all the interviews:
- Algorithmic interview (2 Easy Leetcode)
- Algorithmic interview (2 Medium Leetcode)
- Concurrency interview (1 Medium Leetcode and multithreading problem)
- System design interview (I've dealt with the question, with a few mistakes to the follow-up questions)
- Behavioral interview (no leadership questions, just small talk about previous experience)
- Finals with the team (it was kinda strange, but only one team had open positions for middle developers)
- Giving 3 positive referrals from colleagues
Usually in IT companies, when you passed to the final interviews with teams, you have certainly passed to the company and now it's a question of which team you will be working with.
In my situation, I thought that in a few days I will receive a feedback from the team and decide to go there or not. But instead, the answer was delayed to a week and in the middle of it, I've found out from the recruiter, that a lot of candidates made to this point for only one available role. That means, that in any case only one candidate will pass and others will be rejected.
In the end of the week recruiter let me knew, that I was rejected and I accepted my other offer, where both recruiter and team leaders were more polite and interested in me getting in their company. I personally find that the situation was very unpleasant I hardly see myself applying to this company again. I certainly wasn't expecting such an approach for future company workers.