Commvault interview experience Real time questions & tips from candidates to crack your interview

SDE

Commvault
upvote
share-icon
4 rounds | 5 Coding problems

Interview preparation journey

expand-icon
Preparation
Duration: 4 months
Topics: Data Structures, Algorithms, Database Management Systems, Object Orientated Programming, Operating Systems, Computer Networks
Tip
Tip

Tip 1 : Consistency
Tip 2 : Never Give Up
Tip 3 : Learn from the mistakes

Application process
Where: Campus
Eligibility: 7 CGPA
Resume Tip
Resume tip

Tip 1 : Simple and short providing the required information
Tip 2 : Single page resume with showing all the multiple projects which have done.

Interview rounds

01
Round
Easy
Online Coding Interview
Duration65 minutes
Interview date6 Sep 2021
Coding problem2

This was an online round of 65 minutes. It had 15 MCQs (25 minutes) purely on C++/Java OOP implementation and 3 programming questions(40 minutes).
It starts after the prescreening process is done. Almost all the students from all the campuses of SRM made their way to this round.

So CommVault gave us a choice of SDE or SDET. I opted for SDE because I am interested in only Software Development and didn’t want to do anything related to testing.

The first round started with Aptitude and questions related to the Programming language that you have opted for(In my case it was Java, The options that were available were C++/JAVA for SDE, and for SDET we had JAVA/C++/Python).

This round was taken on an online platform that hosted the test, and we were monitored using our webcams. Aptitude questions were basic and logical. In the Java section, the questions were a bit tricky and most of them were related to the concepts of OOPS. 45 minutes were given for the whole test with a total of 25 questions.

1. Maximum Path Sum in the matrix

Moderate
35m average time
70% success
0/80
Asked in companies
AmazonPayPalMicrosoft

You have been given an N*M matrix filled with integer numbers, find the maximum sum that can be obtained from a path starting from any cell in the first row to any cell in the last row.

From a cell in a row, you can move to another cell directly below that row, or diagonally below left or right. So from a particular cell (row, col), we can move in three directions i.e.

Down: (row+1,col)
Down left diagonal: (row+1,col-1)
Down right diagonal: (row+1, col+1)
Problem approach

The idea is to find maximum sum or all paths starting with every cell of first row and finally return maximum of all values in first row. We use Dynamic Programming as results of many subproblems are needed again and again.

Time Complexity: O(n2). 
Auxiliary Space: O(n2).

Try solving now

2. Longest Palindrome Substring

Moderate
20m average time
80% success
0/80
Asked in companies
WalmartGoldman SachsOptum

You are given a string ('STR') of length 'N'. Find the longest palindromic substring. If there is more than one palindromic substring with the maximum length, return the one with the smaller start index.

Note:
A substring is a contiguous segment of a string.

For example : The longest palindromic substring of "ababc" is "aba", since "aba" is a palindrome and it is the longest substring of length 3 which is a palindrome, there is another palindromic substring of length 3 is "bab" since "aba" starting index is less than "bab", so "aba" is the answer.

Problem approach

The simplest approach to solve the problem is to generate all possible substrings of the given string and print the length of the longest substring which is a palindrome.
Time Complexity: O(N3), where N is the length of the given string. 
Auxiliary Space: O(N) 

Dynamic Programming Approach: The above approach can be optimized by storing results of Overlapping Subproblems. The idea is similar to this post. Below are the steps: 

Maintain a boolean table[N][N] that is filled in a bottom-up manner.
The value of table[i][j] is true if the substring is a palindrome, otherwise false.
To calculate table[i][j], check the value of table[i + 1][j – 1], if the value is true and str[i] is same as str[j], then update table[i][j] true.
Otherwise, the value of table[i][j] is update as false.

Try solving now
02
Round
Easy
Face to Face
Duration420 minutes
Interview date7 Sep 2021
Coding problem1

7hour long intensive coding(hackathon)

1. Operating System

Design and develop Virtual memory with the following specifications

The VM should contain virtual RAM, SWAP RAM.
Each process’s pages are stored in the RAM.
If the pages do not fit into RAM, insert it to SWAP RAM(Assume SWAP RAM has more memory than RAM and it will never RUN out).
The processes here are in the form of strings(not the actual OS process).
Show the address translation from the virtual address(logical address) to the physical address.
If the RAM is full and a new process comes in, implement an eviction strategy to swap pages from RAM to SWAP memory.
I was able to solve the question with the required functionality. Also, note that to clear the 7hour coding round of interviews your grasp on operating system concepts should be good if not expert.
Mentors were there to solve all our doubts, they were very helpful. They were evaluating us every 45minutes and based on the progress we were making they were asking us to leave. They gave us initial 45minutes to design the system, data structures, algorithms, block diagrams that we were going to use to develop the system.

Problem approach

This round was the most exciting and challenging of all, as this involved both design and DSA knowledge. We were asked to design a file system in the same language as chosen by us before. Some of the operations we had to perform in our file system were : 

Create a file
Delete a file
Copy a file to the given path
Move a file to the given path
Maintain multiple versions of the same file
Revert to an older version whenever required
We had to write the code for the same in their virtual machines using Remote Desktop, the credentials to which were provided to us a day before the round. 

We also had a meeting with the senior officials of Commvault the night before this round, in which we were told some details like how long the round will last, at what time does the round start, and all of our doubts were cleared if we had any. Also, in the morning, before the coding actually begun, we were explained the problem statement thoroughly by the officials of the company.
It was a 6-7 hour long round, and we were assigned mentors who were connected with us via Zoom and would check our progress at periodic intervals and also resolve our doubts and queries. In the first hour, we were expected to be ready with the design of our file system, and we had to fill the provided classes with data members and member functions that we were planning to use. Anyone who was unable to come up with a design was asked to leave by the assigned mentor. Also, during the coding phase, if anyone’s performance was not satisfactory, they were asked to leave too. Everyone in my room(there were multiple rooms) except me was asked to leave, as after sometime, my mentor stayed with me the whole time. We were expected to write a running code, and the output should be correct as well. If we encountered any bugs, our mentors helped us by pointing out where the error might be. We were allowed to use C++14 in this round, which was a relief for me. 
The mentors were very helpful and motivating, and so were the top officials of the company who addressed us before the round started.
The result of this round was not declared formally, but I made it to end by writing a perfectly running code and my mentor told me that someone from HR will contact me soon, so I assumed that I had qualified this round. Two hours later I received a call from HR to join a Zoom meeting, where the panelists were waiting for me for the third round – the technical interview.

03
Round
Easy
Face to Face
Duration90 minutes
Interview date8 Sep 2021
Coding problem1

This round went for another 1-1.5 hours for me.

System design: Implement a file system structure containing directories and files with optimal file explorer operations(implemented using n-ary tree and hashing concepts)
C++ basic questions: eg run time polymorphism, vptr, vtable, diamond problem, virtual class
Basic OS questions
One Bit Manipulation question
Coding questions from Trees, linked Lists, Dynamic Programming, etc
Puzzle type question to be simulated using code (eg Burning house problem using Matrix and Breadth-first search technique)

1. System Design

This round was a technical interview and discussion, in which we were tested on our theoretical as well as practical knowledge. It lasted for around 75 minutes, and I was asked to solve some coding problems like : 

All substrings containing only vowels in a string
Implementing an LFU cache – With and without duplicate entires for keys
I was able to solve both of these problems while having a good discussion over the data structures used by me and various optimisations possible. 

The panelists were very helpful, understanding, and knowledgeable, and talked with utmost gentleness. It was an excellent discussion and the panelists helped us by giving hints if we got struck anywhere. 
We also had a discussion over my projects, which included explaining their working too. 
I was also asked about the overriding and OOPS concepts in C++. Finally, I was asked some questions based on strings and pointers.
They then asked me if I had any questions for them, to which I asked some questions and the interview was done and I was asked to leave the room.

Problem approach

So round 3 was a Long Coding Challenge. I had no clue what they were going to ask in this round. I tried searching online and after reading all the stuff all I could think of was I can’t do it. All the questions that I found looked like they will ask us to code a file system or something related to Linux. But in reality, it was a completely different experience. I really liked this round. This round sure did test my Object-oriented programming skills and logical ability to store data into a self-designed Data Structure.

This round started at 8:40 am. We were briefly introduced to what we were going to do. There were 26 students that were selected for this round, we were divided into groups of three but the task was to be performed independently.

The problem was: We have to design an mp3 player. Sounds complicated right? But no we don’t have to make any user interface or read any files nothing like that. We had to design a program that can store different song details. The main player list, multiple playlists and we had to perform different operations on them.

Okay, this might look complicated. Here is what I did.

I made a class Song that contained attributes like song name, length of the song, copyright, singer. Made constructor and initialized values when an object is created.

Made another class for Playlist. That is going to have a hashmap of SongName as key and Song as its Value.

Made another class called mp3Player for the whole logical operation.

And then there was this Main class that was provided to us as a template so that we can design the missing functions.I think this was the round that almost made me cry. I was so disheartened after this round, it felt like everything I have been doing for the past two months means nothing.

So this round was of 2hours. Yes, you heard it right, there were 2 interviewers and I must say they were brilliant. I was so surprised that after working for so long in a company they remember each and every small concept of almost all of CSE core subjects.

So as the interview started they asked me to introduce myself. Then they asked me about my projects. I told them that I prefer JAVA over other languages.

So the asked me these questions:

What is a JAVA compiler and how does Java run a code.
Name of JAVA compiler – Java in time compiler(I didn’t have a clue at that time).
How does Java supports OOPS & What are OOPS principles.
How many types of Polymorphism are there?
Give real-life examples of Runtime Polymorphism?
How does Runtime polymorphism different from static polymorphism?
Real-life use of Inheritance?
What is faster Java or C? and Why?
Why do you code in Java and not C++?
What frameworks have I worked on?
Implementation of HashMap in Java?
Why do we use just Map while in the left half of Map m=new HashMap<>(); and why I have not used HashMap instead of Map?
Difference between Iterators and Enumerators.
DBMS ACID properties.
Normalisation and its types?
What is DeadLock?
Difference between Process and a Thread?
How will the memory consumption vary in these cases, there is a Process containing 1 thread and there is a Process containing 0 thread?
What are annotations? What do they do?
What are Semaphores?
What are Scheduling Algorithms?
What are directed and undirected graphs?
Can an undirected Graph be a Tree? If yes what are the necessary conditions?
Difference between Structure and a Union in C?
Why do we use Unions? Give real-life examples where a Union is suitable for use?
How is multi-threading achieved in Java?
How to make sure that two running threads using the same function do not collide and results in an unwanted output?

04
Round
Easy
HR Round
Duration60 minutes
Interview date9 Sep 2021
Coding problem1

This round focused more on my Resume, Projects, hackathon, and everything I did in my college.
There were few basic puzzle and OS questions.

1. Basic HR Questions

Tell me about your projects.

How was your college life?

 

Here's your problem of the day

Solving this problem will increase your chance to get selected in this company

Skill covered: Programming

Which SQL clause is used to specify the conditions in a query?

Choose another skill to practice
Similar interview experiences
company logo
Fullstack Developer
4 rounds | 4 problems
Interviewed by Commvault
1835 views
0 comments
0 upvotes
company logo
SDE - Intern
2 rounds | 4 problems
Interviewed by Commvault
3949 views
0 comments
0 upvotes
company logo
SDE - 1
5 rounds | 8 problems
Interviewed by Commvault
1743 views
0 comments
0 upvotes
company logo
Associate Engineer
3 rounds | 7 problems
Interviewed by Commvault
2023 views
0 comments
0 upvotes
Companies with similar interview experiences
company logo
SDE
3 rounds | 6 problems
Interviewed by PhonePe
0 views
0 comments
0 upvotes
company logo
SDE
5 rounds | 8 problems
Interviewed by Mathworks
1211 views
0 comments
0 upvotes
company logo
SDE
4 rounds | 7 problems
Interviewed by PhonePe
0 views
0 comments
0 upvotes