📌  相关文章
📜  三星研究院班加罗尔 (SRI-B) 实习面试体验(校内)

📅  最后修改于: 2021-11-10 06:13:45             🧑  作者: Mango

SRI-B 于 2020 年 9 月 29 日访问了我们的校园,以招聘 2021 年夏季实习生。该过程主要包括编码测试和两轮面试。对于编码测试,仅允许来自 CS、EEE、ENI 和数学分支且 CG 6.9 以上的人员申请实习。然后是简历入围名单,几乎所有申请的人都被选中了。现在让我们讨论主要部分。

在线编码测试:在线测试在启用监考的 Cocubes 平台上进行。该测试仅包含 3 道编码问题,需要在 1 小时内完成。不同的人有不同的问题。我们不被允许使用 STL 库(问题甚至不需要它)。问我的问题是

  1. 给定一个二维整数数组,按行对它们进行排序。
  2. https://leetcode.com/problems/trim-a-binary-search-tree/
  3. 将给定的树转换为其总和树

所有这些问题之前在其他一些大学都被问过,所以阅读极客档案非常重要。正如我已经看到并练习过这些问题,我可以轻松地快速编写它们,这有助于我选择面试。从大约 187 名学生中,有 26 名学生入围面试。由于大多数人都能解决这三个问题,所以选择主要是根据提交时间。

面试轮次:有两轮面试。他们都是技术轮,没有进行人力资源轮。他们在 Skype 上主持,面试官分享了一个 Google 文档,其中需要为编码问题编写一些伪代码。让我们详细讨论这些问题

第 1 回合:回合以我们相互介绍开始。然后他继续我在简历上写的主题。我目前正在做机器学习作为选修课,所以他去问了一些问题。我只是轻轻提醒他说我还不够好,因为我刚刚开始探索。所以他继续问一些关于概率的简单问题,比如

  1. 有 3 红 4 蓝 5 绿 有多少种方法可以一次选择 2 个球,这样没有球是蓝色的?
  2. 有 3 个无偏硬币,最多出现 2 个正面的概率是多少?我使用基本的长方法解决了上述问题,他回答说可以以简单的方式完成,但他对此表示满意。

所以现在他分享了谷歌文档并问我我最喜欢的数据结构。我说的是栈和队列。所以他让我用队列来实现栈?我已经这样做了,然后他问我是否对数组感到满意。我说是。于是提出了以下问题。

  1. 给定两个大小为 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。他正在寻找异或方法。

  2. 第二个问题是这样的 在只读数组中查找多个重复元素中的任何一个,这个问题看起来很简单,但他想要 O(1) 空间复杂度。

  3. 给定一个二叉树,检查它是否是 BST? (https://leetcode.com/problems/validate-binary-search-tree/)

    我最初对这个问题给出了错误的解决方案,所以他举了一个错误的例子,然后我纠正了它并给出了他满意的正确方法。

这一轮在整个面试过程中持续了一个小时,面试官很友好,在我遇到困难的地方给予了支持并帮助了我。在编码时谈论您的方法非常重要。

第二轮:第二轮开始讨论我在简历中提到的项目。他去询问有关项目的深入细节。请注意编写您不完全了解的项目。然后在整个面试中,没有问任何编码问题。整个采访是关于 OOP 概念和一些 DBMS 的,最后他根据要求问了一个关于 DSA 的问题。问题是。

  1. 析构函数的作用是什么?什么时候使用?
  2. 有哪些不同类型的连接和解释?
  3. 解释一些循环概念?
  4. 抽象和封装的区别?举个例子来解释相同?
  5. 其他一些 OOP 问题
  6. 最后,应我的要求,他问了一个 DSA 问题。归并排序和快速排序有什么区别?
  7. 后续问题是举一个例子,说明一个人与其他人相比会更好吗?我举了一个例子,他似乎不满意,问

给定一个非常大的整数数据未排序链表,合并排序和快速排序中的哪一种更适合对元素进行排序?

因此,他在上述问题后结束了第 2 轮,并说您已完成流程,HR 会联系您。最后,我在被选中的那天晚上收到了一封邮件。