Interview Experience: 2/5
The interview process started well and was organized from a scheduling perspective. The coding round consisted of an array-based problem with roughly medium LeetCode difficulty. I was able to complete the solution, explain my thought process, discuss time and space complexity, and answer the follow-up questions.
The system design discussion focused on designing a file-sharing service. I walked through the overall architecture, APIs, storage, scalability, metadata management, upload/download flow, and discussed trade-offs and possible improvements. From my perspective, I covered the major aspects expected in a senior-level system design interview.
What left me disappointed was the interaction during the system design round. The interviewer mostly read a predefined list of questions with very little engagement or discussion. There were almost no follow-up questions exploring my design decisions, no technical back-and-forth, and very little feedback indicating whether they wanted me to go deeper into any particular area. It felt more like a checklist exercise than a collaborative technical discussion.
After the interview, I received a rejection stating they were moving forward with another candidate. While I completely understand that companies have to make difficult hiring decisions and another candidate may have been a better fit, I was surprised given how well I believed I had performed across the coding and design discussions.
My feedback would be to make the system design interviews more interactive. Senior engineering interviews are often about evaluating technical reasoning, trade-offs, communication, and collaboration—not just asking a fixed sequence of questions. A more engaged conversation would likely lead to a fairer assessment of candidates.
Overall, the process was professional, but I left feeling that the interview did not fully evaluate my technical abilities.