This was the first time CommVault Systems had come to our campus for recruitment. They were offering two profiles – Software Development Engineer in Test (SDET) and Software Development Engineer (SDE). One could appear for either of the profiles or both.
I had applied for both the profiles. About 1200 people had registered across both the profiles. The process was broken down into 5 rounds, where every round was an elimination round.
Pre-screening Round: This process was an MCQ based round on the platform Geeekd of approximately 73 minutes. It had 5 sections – Logical reasoning, Aptitude, CS core (OS, CN, DBMS), Python (for SDET), and C++/Java for SDE.
The difficulty of the aptitude questions was more than average. Rest of the sections were pretty straightforward. One with a proper grasp of the fundamentals could solve them with little difficulty.
About 220 people across both the profiles cleared this round.
Main Coding Round: I was selected for the SDET profile after the pre-screening round, so the rest of the experience will be about the SDET profile. 114 people qualified for this round.
This round had 5 coding questions. The permitted language was Python.
The questions were implementation based:
- Array-based question
- Implementation of the Knapsack problem
- String-based question
- One sliding window-based question
- Another dynamic programming question
The time provided was 75 minutes. I was able to solve 3 questions passing all the test cases, and one passing half of the test cases.
8 people were shortlisted after this round for SDET.
Interview- Test Case Writeup: It was a one-to-one interview over Zoom, where groups of three were assessed by 1-panel members. Each person was moved into a breakout room in Zoom, where they were given an application, and we had to write all the possible test cases we could think of.
The application we were assigned was WhatsApp Backup and Restore.
The time allotted was 40 mins. The panel member would move across each breakout room to track each candidate’s performance.
I wrote about 61 test cases.
Interview- Technical Interview 1: Those who cleared the test case write-up interview got a mail for the first technical interview. This interview was overseen by 3 experienced CommVault members.
The first question that I was asked, was to write a simple program/pseudo-code:
Suppose we have a file that contains several process IDs in each line of the file. How can we get the memory consumption and the execution time of those processes running? The interviewer asked me to think about boundary cases and exceptions that could occur, and how to handle them. He made several modifications to the problem statement and saw how my code would accommodate those changes.
Another interviewer asked me about my previous internship, the work that I had done, and my responsibilities. I was asked to explain my projects in detail as well as their business impact. This also involved what challenges I faced in the process. One of them gave me a situation from the use case of one of my projects, and I was supposed to think of all the possible test cases that would lead to that result.
I was asked basic networking questions by another panel member.
Since my experiences involved exploring Data Science, the last question that I was asked was, “If I were to be offered a position by some company in the future to work as a Data Scientist, would I go for that company, or choose CommVault? And what if it was Google?”
Overall, this round was about an hour long. The panel members were very humble and helped me wherever I got stuck.
Interview- Technical Interview 2: Those who cleared the previous interview got a mail for the second technical interview. This round was overseen by 2-panel members.
The first question was a programming question on Binary Trees. The interview gave me a situation and asked me which tree traversal would solve the problem and told me to write pseudocode.
He kept modifying the question to test how I handle those modifications.
Another programming question was asked: “Suppose you have 2 decimal numbers, convert them into binary and perform binary addition.”
The interviewer was more interested to check how I approach the question and formulate a solution, and how I tackle errors and boundary conditions.
Another interviewer asked me some basic questions from OS and CN.
I was asked another puzzle: “If I have 10 bags, where 9 of them weigh 10 gms, and one of them weighs 9 gms. What is the minimum number of comparisons I would need to find the bag with the least weight?”
The interviewer was interested to know how I approach the puzzle. I gave her a naïve solution first, then I gave her a divide and conquer solution. She was satisfied with the answer.
A few Linux commands were asked as well.
Overall, the interviewers were pretty satisfied with the answers. Again, the panel members were really humble and helped me throughout.
The complete interview took 1 hour, and I was informed that I would get further notifications from the HR.
In the evening, I was invited to a Zoom meeting, where they announced the people who became Vaulters.
A total of 3 people bagged offers across the two profiles. One person got an offer for an internship for the SDET profile and another got an offer as a full-time employee for SDE. I bagged the offer for SDET as a full-time employee.
The process was very rigorous. The focus was on testing the thinking capacity of the candidate and the approach toward building a solution and not the end result.