The interview began with a recruiter screening, and I felt genuinely lucky because the recruiter was very transparent and helped me prepare for the next stage. I actually enjoyed this part - usually these calls feel like a waste of time where everyone asks the same questions, but here it felt useful and intentional.
The next round was a 1-1 coding session with an engineer to build a small web application. Nothing too complicated. If you pass that, you move on to the onsite, where they said they would end the process early if you failed the first technical portion.
That 1st technical portion had 2 parts. The 1st was to finish a small game. This didn’t make much sense to me, since they’re not a gaming company, and it didn’t strike me as a good way to filter strong candidates. You either have prior game-dev experience and immediately understand how to approach it, or you try to treat it as an algorithmic problem and risk failing.
The 2nd part was a sort of “hacking” challenge to gain access to a website. Again, I wasn’t sure how this was relevant to the actual role, since it’s not something you’d be doing day-to-day. They avoided typical LeetCode-style questions, which I appreciate, but these alternatives didn’t feel any better at evaluating real skill - though I’ll admit the problems were at least interesting to solve.
After that, they gave a break. I honestly expected them to cut the interview at that point, because if you fail the 1st part there’s no reason to continue. But for some reason they didn’t, and you end up taking 2 more shorter calls with managers to discuss higher-level topics.
Overall, the process took far too much time out of the day without a clear reason.