SDE 的 CommVault 面试经验 |在校园
Commvault 参观了我们的校园进行校园招聘。整个过程是虚拟的。在流程开始之前,我们应该选择我们喜欢的语言。我们有 3 个选择——C++、 Java和Python。我选择了 C++。那些选择Python的人被放入测试角色(SDET)过程。
有4轮:
- 在线测试(C++ MCQs + 3 个编码问题)
- 著名的文件系统设计回合(历时近7小时)
- 技术面试
- HR面试(只是形式)
在线测试:大约有 10 个关于 C++ 的 MCQ(它们有点棘手,主要基于 OOP)。有 3 个编码问题。
- 给定一个数组,找到不唯一的最左边的元素(通过计算元素的频率很容易解决)
- 第二个问题是基于与这个问题非常相似的动态规划(而不是最小跳跃,我们被要求找到总路数)
- 第三个问题是长篇大论,但简而言之,我们必须找到给定字符串的最长回文子串
我能够解决所有 3 个问题。我们中的 11 个被选中进入下一轮。
文件系统设计回合:我们获得了必须完成的起始代码。我们必须实现大约 7 个函数,例如 createfile、readfile、getfile、modify、copy、move、delete。 (没有实际的文件处理,只是一个模拟!)。它从 8 点开始。我们不被允许立即开始编码。我们被分配了来自 commvault 的技术主管(经验丰富)。我们必须先讨论设计,然后如果他/她觉得没问题,我们就可以开始编码。我们获得了访问他们系统的权限,并且不得不在那里编写代码。我们通过缩放进入不同的房间,并且不得不在共享屏幕的同时进行编码。每隔 15-20 分钟,领先者就会检查我们并在我们遇到困难时给我们一些提示。我在下午 3 点完成(无法实现所有功能,时间到了)。幸运的是,我正确地实现了其余的功能,并很好地向领导解释了它。我入围了下一轮。不过,这并不是一场艰难的比赛。如果你的类和对象的基础很清楚,你可以很容易地实现这些东西。 C++ STL 很重要。掌握他们!
技术面试:有 4 名小组成员。我首先被问到我的项目(基于 ML)。我向他们解释了整个项目,然后提出了交叉问题。其中一位小组成员询问了我最喜欢的模型。我说随机森林,然后随机森林问题一一抛出。接下来,我被问到一些关于堆以及它们如何在 C++ STL 中实现的棘手问题。剩下的面试完全基于指针和操作系统!从调度到同步再到内存管理,一切都被问到了。然后是一些关于指针的棘手问题,例如如何在不使用 sizeof运算符的情况下找到整数的大小。如果您遇到一些问题,小组成员会给您提示。
操作系统问题——关于虚拟内存、抖动、调度算法、打印机和计算机问题(计数信号量)。
人力资源面试:没有问任何问题。他们只是打电话祝贺我!
总的来说,这是一次非常好的体验,尤其是第二轮!