The first-round interview went very well. It was an online meeting focused on programming concepts such as abstract classes versus interfaces, and String versus StringBuilder versus StringBuffer. The interviewer was professional and the discussion was well-structured.
The second round, however, was completely different. It was initially scheduled online, but when I joined, I was told that my interviewer was on leave and that I would need to attend an in-person interview two days later in another city, more than 200 km away. The short notice was unreasonable, but I still made the trip.
The interview started 30 minutes late because the team could not access the rented room. I was told to study topics like SQL, yet none of those were even discussed. The questions felt improvised and lacked direction. There was also an unnecessary emphasis on Java, and I was asked to explain how HashMap is implemented internally. While I do not know Java’s specific implementation, I understand how hash maps work in general, and expecting detailed knowledge of language-specific source code is unreasonable.
Within the first five minutes, it was obvious from the interviewers’ expressions and overall behavior that I was not going to move forward. Their attitude felt dismissive and unprofessional. I strongly suspect these were not the original interviewers, as the person meant to conduct the session was on leave. If that is the case, the replacements were clearly not trained to interview candidates properly.
The entire process lasted over two months and ended in a highly disorganized and disappointing manner.