CommVault Systems 2020 年面试体验(校园内)
第 1 轮(在线编码轮):第一轮包括 3 个编码问题和 15 个与基本 OOP 概念、DBMS 和操作系统相关的 MCQ。部分被划分,第一部分是MCQ(20分钟),第二部分是编码(45分钟)。
编码问题如下:
- 有一袋不同类型的硬币。有一个数组,其中 a[i] 是 i 类型硬币的数量。找出需要从袋子中取出的最少次数,这样您每种类型至少有 5 个硬币。鉴于此,在每次提款时,您只能捡起一枚硬币,并且在捡起硬币后只有您知道硬币的类型。如果不可能,则返回-1。
- 我按降序对数组进行排序并检查最后一个元素是否大于 5,然后我计算除最后一个元素之外的所有元素的总和,并将该总和加上 5,这就是答案。
- 在二进制表示中找到没有两个连续 1 的下一个更大的数。
- 我从给定的数字遍历,并为每个数字检查它是否有两个连续的数字,并返回第一个没有两个连续数字的数字。
- k 的交替组中的反向链表。
- 我创建了一个反转链表的函数。然后我遍历链表并创建一个循环直到 k 并反转列表并保留一个 bool 值以检查它是否是前 k 个节点并为此保存了头,然后对于下一个 k 节点没有进行任何更改,依此类推直到NULL 并返回头部。
提示:我建议做 Geeksforgeeks 的练习题。尝试首先专注于解决 MCQ 中的简单问题,以获得最高分。
Round 2 (Long Coding):第二轮基本上是最难的部分。这是一个持续大约 7 个小时的连续编码回合,其中我们获得了文件系统的基本结构,我们必须根据问题的要求设计文件系统,并且在开始时间我们必须设计类,如果设计给导师留下了深刻的印象,然后只有我们才能对功能进行进一步的编码。导师在那里帮助我们解决我们对这个问题的疑问。几乎每小时都有一个进度检查,如果进度不够好,学生会被要求离开。
问题陈述是:
- 创建具有以下功能的文件系统:
- 添加一个文件(给出了完整路径)以及它所在的目录。
- 追加文件(追加文件的数据
- 创建链接文件(硬链接)
- 附加链接文件
- 删除链接
- 将文件从一个目录移动到另一个目录
提示:通过在解决问题时提出问题和讨论方法来保持导师的参与。
第三轮(技术面试):这是一次面对面的面试。被选中的学生被问到与他们的项目相关的问题以及关于 oops、DBMS 和 OS 的基本概念问题。
我无法通过第二轮。最后,还有一轮人力资源。他们只选择了我们学院的一名学生。