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