If you value your time, you might want to skip this company, as they seem to have little regard for it.
According to the HR-provided brochure, the entire process takes a minimum of 4 hours across multiple stages:
Introductory call - 30 min
Live coding - 60 min
Tech conversation - 60 min
System design - 60 min
Team fit interview - 30 min
The first stage (introductory call) is just a call with HR, where they bombard you with every possible question, ticking off your answers against a checklist. It feels like the content of your answers doesn’t matter as much as whether you understand the context of the question.
Next is the live coding stage, but to get there, you have to book a time slot in a special calendar. In my case, the nearest available slot was three weeks after passing the previous stage.
After the first stage, HR reached out again and gave me an overview of the types of questions I could expect in the next round. I was assigned a load balancing problem to solve as an MVP, and the interviewer would then give additional tasks to implement within the existing code.
After passing the live coding interview, I moved on to the next stage. Once again, HR contacted me to discuss potential topics for this round.
I booked the next interview a week later, but two days before the interview, I received an automated message that there was an issue with the calendar and my booking had been canceled. I rebooked for the following week, only to have the same issue repeat. The third time, I found a slot two weeks later. In total, I lost about a month between these stages.
The next interview focused on multithreading, including tasks to find bugs in provided code snippets. My task was to implement a money transfer service between accounts, ensuring proper locking mechanisms for multithreading. There were theoretical questions about databases, such as transaction isolation levels and their implementations, types of locks, scalability options, pros and cons of each, as well as questions about database migrations. Other topics included deployment strategies, microservices, and stability patterns.
Unfortunately, I didn’t pass this stage. I received an automated response stating that I wouldn’t move forward, with no feedback provided. This was strange considering the high level of communication up until that point. I requested feedback from the HR who had been in touch throughout the process, and they eventually sent me something, but it seemed like it was made up. It described the interview as if I hadn’t answered any questions or completed the coding task, which felt completely inaccurate, as I believe I answered everything sufficiently.
I wasn’t interviewing for a specific role but rather as a general Java developer, ranging from middle to lead level. It’s odd that I didn’t even make it to a middle position, considering I am a senior developer.
In total, I spent around 2.5 months going through three stages, only to be rejected via an automated email with no clear explanation.