Samsara - SSE - Interview Experience - Rejected
Summary
I interviewed for an SSE position at Samsara, going through DSA, managerial, and system design rounds. Despite positive feedback in some areas, I was ultimately rejected due to a perceived need for improvement in my system design skills.
Full Experience
I started my interview process for the SSE role with a DSA round. I received positive feedback, with the only minor negative point being that I ran my code only after completing its implementation entirely, rather than testing incrementally.
Next, a Managerial round was scheduled. This involved general behavioral questions, such as the classic 'tell me a time when...' scenarios. The interviewer was quite good, and we had an in-depth discussion where they addressed my questions about the responsibilities associated with different levels within the company.
The third round was another DSA challenge. I was asked to implement a library for command-line commands. I found this problem to be quite easy, primarily requiring basic string parsing, though it became a bit trickier with the follow-up questions posed by the interviewer.
Finally, I had a System Design round. The problem presented was to design a system where users could upload CSV files containing lists of transactions, and then be able to view relevant information from these transactions on a UI. I designed the high-level flow, explaining each component and justifying my technology choices. The discussion delved deeply into the specific database I would use, strategies for querying logs, and how I would approach detecting fraud based on additional given information.
Unfortunately, the verdict was Rejected. The feedback indicated that there was a scope for improvement in my design skills.
Interview Questions (2)
I was presented with a DSA problem to implement a library for command-line commands. The core task involved basic string parsing, which was straightforward initially, but the problem evolved into more complex scenarios with follow-up questions from the interviewer.
The system design problem required me to design a solution where users could upload CSV files containing transaction lists. The primary goal was to enable users to view relevant information from these transactions through a user interface. The discussion involved outlining the high-level architectural flow, detailing each component, and justifying my technology choices. We had in-depth conversations about the database selection, methods for querying logs, and strategies for detecting fraudulent activities using other provided data.