The interview process was mixed.
The first round went well—the interviewer was professional and asked a standard LFU Cache design question. The discussion was fair and technical.
However, the second round (System Design – unfamiliar problem) was a poor experience.
The interviewer gave a single topic — “Design a Web Crawler” — and asked me to design and explain it end to end, with no clarification, requirements, or constraints. The approach felt very rigid: “You design it, you explain it; if you don’t fully match what I expect, you fail.”
I proposed a reasonable and scalable solution, explained trade-offs, and answered follow-up questions. During the interview, the interviewer explicitly agreed that the solution was correct and did not point out any flaws or concerns.
Despite this, I was later rejected, seemingly because my approach did not match the interviewer’s predefined “book” solution. No feedback was provided, and there was no attempt to challenge or justify why the design was considered incorrect.
System design interviews should evaluate thinking, trade-offs, and reasoning, not whether a candidate reproduces an exact solution from an internal playbook—especially for an unfamiliar problem.
Overall, the rejection felt inconsistent with the interview discussion and lacked transparency.