SRI-B 于 2020 年 9 月 29 日访问了我们的校园,以招聘 2021 年夏季实习生。该过程主要包括编码测试和两轮面试。对于编码测试,仅允许来自 CS、EEE、ENI 和数学分支且 CG 6.9 以上的人员申请实习。然后是简历入围名单,几乎所有申请的人都被选中了。现在让我们讨论主要部分。
在线编码测试:在线测试在启用监考的 Cocubes 平台上进行。该测试仅包含 3 道编码问题,需要在 1 小时内完成。不同的人有不同的问题。我们不被允许使用 STL 库(问题甚至不需要它)。问我的问题是
- 给定一个二维整数数组,按行对它们进行排序。
- https://leetcode.com/problems/trim-a-binary-search-tree/
- 将给定的树转换为其总和树
所有这些问题之前在其他一些大学都被问过,所以阅读极客档案非常重要。正如我已经看到并练习过这些问题,我可以轻松地快速编写它们,这有助于我选择面试。从大约 187 名学生中,有 26 名学生入围面试。由于大多数人都能解决这三个问题,所以选择主要是根据提交时间。
面试轮次:有两轮面试。他们都是技术轮,没有进行人力资源轮。他们在 Skype 上主持,面试官分享了一个 Google 文档,其中需要为编码问题编写一些伪代码。让我们详细讨论这些问题
第 1 回合:回合以我们相互介绍开始。然后他继续我在简历上写的主题。我目前正在做机器学习作为选修课,所以他去问了一些问题。我只是轻轻提醒他说我还不够好,因为我刚刚开始探索。所以他继续问一些关于概率的简单问题,比如
- 有 3 红 4 蓝 5 绿 有多少种方法可以一次选择 2 个球,这样没有球是蓝色的?
- 有 3 个无偏硬币,最多出现 2 个正面的概率是多少?我使用基本的长方法解决了上述问题,他回答说可以以简单的方式完成,但他对此表示满意。
所以现在他分享了谷歌文档并问我我最喜欢的数据结构。我说的是栈和队列。所以他让我用队列来实现栈?我已经这样做了,然后他问我是否对数组感到满意。我说是。于是提出了以下问题。
- 给定两个大小为 n,n-1 的数组 A, B,其中 A 和具有相似的数字,除了一个存在于 A 但不在 B 中的数字。我们需要找到这个数字吗?
例子:
A = 8 9 5 1 7 B = 1 9 7 5 Answer here is 8.
我已经使用两种方法回答了它,一种使用 sum,另一种使用 xor。他正在寻找异或方法。
-
第二个问题是这样的 在只读数组中查找多个重复元素中的任何一个,这个问题看起来很简单,但他想要 O(1) 空间复杂度。
-
给定一个二叉树,检查它是否是 BST? (https://leetcode.com/problems/validate-binary-search-tree/)
我最初对这个问题给出了错误的解决方案,所以他举了一个错误的例子,然后我纠正了它并给出了他满意的正确方法。
这一轮在整个面试过程中持续了一个小时,面试官很友好,在我遇到困难的地方给予了支持并帮助了我。在编码时谈论您的方法非常重要。
第二轮:第二轮开始讨论我在简历中提到的项目。他去询问有关项目的深入细节。请注意编写您不完全了解的项目。然后在整个面试中,没有问任何编码问题。整个采访是关于 OOP 概念和一些 DBMS 的,最后他根据要求问了一个关于 DSA 的问题。问题是。
- 析构函数的作用是什么?什么时候使用?
- 有哪些不同类型的连接和解释?
- 解释一些循环概念?
- 抽象和封装的区别?举个例子来解释相同?
- 其他一些 OOP 问题
- 最后,应我的要求,他问了一个 DSA 问题。归并排序和快速排序有什么区别?
- 后续问题是举一个例子,说明一个人与其他人相比会更好吗?我举了一个例子,他似乎不满意,问
给定一个非常大的整数数据未排序链表,合并排序和快速排序中的哪一种更适合对元素进行排序?
因此,他在上述问题后结束了第 2 轮,并说您已完成流程,HR 会联系您。最后,我在被选中的那天晚上收到了一封邮件。