I had a technical interview that was scheduled for an hour and a half. The interviewer, who seemed quite young, started by introducing himself and the company, and then asked me to walk through my previous experience. I presented the architecture of the systems I’ve worked on, and the discussion went very smoothly. He kept asking architectural and design questions, and I was able to answer and propose solutions as the discussion evolved.
After that, he introduced a new architecture problem. For about an hour, he kept adding new constraints and edge cases, and each time I worked through the problem and suggested solutions. At several points, the interviewer actually paused to think about what else to ask next, as if he had run out of follow-up questions. Overall, the conversation felt very positive and productive.
Then, about four minutes before the interview ended — after we had already gone over the scheduled time by around twenty minutes — he suddenly asked a probability question: “You have M balls and N holes; in how many ways can you place the balls into the holes?” At that point, after a long architecture-focused interview, the question felt completely unrelated to the discussion we had been having. I didn’t manage to solve it in the remaining time.
The next day, I received a rejection stating that I lacked sufficient Java knowledge, which honestly felt ironic given that the entire interview had focused on architecture, system design, and problem solving rather than Java-specific topics. disappointing.