The overall process felt unclear from the beginning. I was told there would be three to four stages. Typically that means an HR round, one or two coding or past experience discussions, followed by a system design round. Even after asking for clarification, I only learned at the last moment that the first round would include a small problem solving task with technical discussion.
During the interview, the very first task was to implement an in memory cache from scratch. This was not aligned with the expectations that were set earlier. While I am comfortable with system design and backend engineering problems, being asked to immediately code a full cache implementation without prior context was unexpected.
Another challenge was the strong preference for a specific programming language and stack. I started solving the problem in a language I am proficient in, but the interviewers expressed disappointment and asked whether I could switch to their preferred language on the spot. This created unnecessary pressure and shifted the focus away from problem solving and design thinking toward stack familiarity.
At one point, the interviewers asked a question directly from my resume. I answered confidently based on my experience. The interviewer responded with a correction that later turned out to be inaccurate. At the time, this created confusion and self doubt during the discussion. After the interview, I verified the topic and confirmed that my original answer had been correct.
The interview felt heavily stack biased rather than evaluating core engineering fundamentals, problem solving ability, and system design understanding. Clear communication about expectations, problem format, and language preferences beforehand would have made the experience much smoother and fairer.