Commavault visited our campus for recruiting for SDE (C++/JAVA) and SDET( PYTHON) roles. If you choose the language as C++/JAVA you will be given an SDE role and for python SDET roles.
First Round: Online Coding round on their platform. The webcam is on. There were 15 MCQ and 3 coding questions. MCQ was based on OOPs mainly and one easy and two medium coding questions.
Don’t remember based on xor.
Second Round: Implementation of Virtual File System. We have to complete their code of the virtual file system. This round was 6 hrs. This whole code was to be completed in 6 hrs.
import java.io.*;
import java.math.BigInteger;
import java.security.MessageDigest;
import java.security.NoSuchAlgorithmException;
// Java class to calculate MD5 hash value class MD5 {
public static String getMd5(String input)
{
try {
// Static getInstance method is called with
// hashing MD5
MessageDigest md
= MessageDigest.getInstance( "MD5" );
// digest() method is called to calculate
// message digest
// of an input digest() return array of byte
byte [] messageDigest
= md.digest(input.getBytes());
// Convert byte array into signum representation
BigInteger no
= new BigInteger( 1 , messageDigest);
// Convert message digest into hex value
String hashtext = no.toString( 16 );
while (hashtext.length() < 32 ) {
hashtext = "0" + hashtext;
}
return hashtext;
}
catch (
NoSuchAlgorithmException
e) { // incorrect message digest algorithms
throw new RuntimeException(e);
}
}
} class CV_SIOManager {
public CV_SIOManager() {}
public CVFile CVGetFile(
final String
filePathName) // Returns the reference to the
// CVFile object for the given
// filePathName.
{
// Put your code here
return null ;
}
public void
CVDisplayStats() // Display the whole stats that
// CV_SIOManager holds.
{
// Put your code here
}
public int CVDeleteFile(
final String filePathName) // Deletes a file in the
// given path.
{
// Put your code here
return 0 ;
}
public int CVMoveFile(
final String sourcePathName,
final String targetPathName) // Moves file from one
// location to
// another.
{
// Put your code here
return 0 ;
}
public int CVCopyFile(
final String sourcePathName,
final String targetPathName) // Copies file from one
// location to
// another.
{
// Put your code here
return 0 ;
}
} class CVFile {
private String fileName;
public CVFile()
{
// put your code here
}
public CVFile(
final String filePathName,
final String
content) // Creates a file with given content.
{
// Put your code here
fileName = filePathName;
}
public void CVModifyFile(
final String
content) // Modifies and rewrites the content of
// a file with given content.
{
// Put your code here
}
public int
CVReadFile( int revision, /* output */ String
content) // Reads file content based on
// the given revision.
{
// Put your code here
return 0 ;
}
public int CVTrim() // Trims all previous versions and
// only holds on to latest content
{
// Put your code here
return 0 ;
}
} /***** * NOTE ---- 1. Do not make any modifications to main(). 2. Every filePathName * given in this problem is the absolute file path with file name like * DriveName:\\Path\\To\\FileName (Eg: C:\\A.txt). *****/ public class SIOManagerDriver {
public static void main(String[] args)
{
CV_SIOManager sm = new CV_SIOManager();
String contentInFile = "" ;
CVFile fx;
CVFile f1 = new CVFile( "C:\\File1.txt" ,
"Welcome to Commvault 1!" );
CVFile f2 = new CVFile( "C:\\File2.txt" ,
"All The Best 2!" );
CVFile f2_1 = new CVFile( "C:\\File2_1.txt" ,
"All The Best 2!" );
CVFile f9
= new CVFile( "C:\\File9.txt" , "This is File 9" );
sm.CVDisplayStats();
CVFile f4
= new CVFile( "C:\\File4.txt" , "Good Luck 4!" );
CVFile f4_1
= new CVFile( "C:\\File4_1.txt" , "Good Luck 4!" );
sm.CVDisplayStats();
CVFile f10
= new CVFile( "D:\\File10.txt" , "Good Luck 10!" );
CVFile f20 = new CVFile( "D:\\File20.txt" ,
"Welcome to Commvault 20!" );
CVFile f50 = new CVFile( "D:\\File50.txt" ,
"Best Place to Work 50!" );
CVFile f20_1 = new CVFile(
"D:\\File20_1.txt" , "Welcome to Commvault 20!" );
sm.CVDisplayStats();
CVFile f60 = new CVFile( "D:\\File60.txt" ,
"All THE Best 60!" );
CVFile f70 = new CVFile( "D:\\File70.txt" ,
"All The Best 70!" );
CVFile f70_1
= new CVFile( "D:\\File70.txt" , "Commvault 70!" );
sm.CVDisplayStats();
fx = sm.CVGetFile( "D:\\File60.txt" );
if ( null != fx) {
fx.CVReadFile(- 5 , contentInFile);
System.out.println(contentInFile);
}
f4.CVModifyFile( "Welcome to Commvault 4!" );
fx = sm.CVGetFile( "C:\\File4.txt" );
if ( null != fx) {
fx.CVReadFile( 0 , contentInFile);
System.out.println(contentInFile);
}
fx = sm.CVGetFile( "C:\\File4.txt" );
if ( null != fx) {
fx.CVReadFile(- 1 , contentInFile);
System.out.println(contentInFile);
}
sm.CVDisplayStats();
sm.CVMoveFile( "C:\\File9.txt" , "D:\\File30.txt" );
sm.CVMoveFile( "C:\\File4.txt" , "D:\\File2.txt" );
sm.CVDisplayStats();
sm.CVCopyFile( "C:\\File4.txt" , "D:\\File21.txt" );
sm.CVCopyFile( "C:\\File3.txt" , "C:\\File40.txt" );
sm.CVDisplayStats();
sm.CVDeleteFile( "D:\\File20.txt" );
sm.CVDisplayStats();
sm.CVDeleteFile( "C:\\File1.txt" );
sm.CVDeleteFile( "C:\\File4.txt" );
sm.CVDisplayStats();
sm.CVDeleteFile( "D:\\File7.txt" );
sm.CVDeleteFile( "D:\\File70.txt" );
sm.CVDeleteFile( "D:\\File30.txt" );
sm.CVDisplayStats();
|
Unfortunately, no one got selected for interviews.
ALL THE BEST!