The process started very well. The HR side did an excellent job — it was structured, well-organized, and clearly process-driven. The role and project descriptions were attractive and genuinely sparked my interest. Throughout the process, I met constructive interviewers with solid experience, which I appreciated.
I successfully passed the behavioral interview and the coding challenge stages but was rejected after the system design interview, although it seemed there could have been at least one more stage. After each round, feedback was requested from me, and brief feedback was provided in return. I was also told that I could receive more detailed feedback for the final stage, but unfortunately, I never received it.
During the system design interview, I felt that there was some mutual confusion. The interviewers appeared to have limited experience conducting system design interviews, and the question itself felt relatively new or not fully standardized. Having experience with system design interviews from both the candidate and interviewer perspectives, I noticed gaps in how the session was structured.
While I fully acknowledge that my performance may not have been ideal, there were also challenges during the requirements-gathering phase. Several functional and non-functional aspects remained unclear or unanswered, such as:
Expected QPS (queries per second)
Trade-offs between consistency and availability
Environment isolation decisions (which were pushed to the candidate to define)
The types of rules expected to be supported
Overall, while the company and people left a positive impression, the tech design stage has to be reconsidered and improved.