📌  相关文章
📜  三星研究院班加罗尔(SRIB)(实习生)

📅  最后修改于: 2021-11-17 09:57:10             🧑  作者: Mango

第1轮:

这是在 cocubes.com 上举办的编码回合。有一个3分的问题和两个5分的问题需要在一个小时内解决。截止是 13 个中的 5 个。没有部分标记。如果所有隐藏的测试用例都通过了,只有这样你才能获得满分,否则为零。请写出最优化的解决方案,即使是 3 分的问题。隐藏的测试用例是详尽的,所以编写最有效的代码(不接受暴力解决方案)。 TLE 将导致零。还要注意所有极端情况。在最终结果之前,您不会知道您的代码是否正确。
注:主要代码全部给出,您只需完成函数。您可以在函数之间包含头文件。给你写代码的空白都是你的,你可以随意操作它。

问题 :

我的套餐是:

  1. 最长回文子串(仅接受动态规划解决方案)
  2. 二叉树中两个节点之间的最小距离
  3. 查找矩阵中给定单词的出现次数(以任何给定顺序)。(基于 DFS)

3 分题主要基于数组和字符串(操作、贪婪、动态规划)
所有 5 分问题都来自树,除了一个来自图(DFS)

彻底练习树木。

在这一轮中,150 名学生中有 54 名被选中。

第二轮:

这是一个书面回合。 54 名学生被分成 7-8 人一组。每一组都被一个一个地叫了起来。面试官给了 20 分钟的时间来写一段代码。向不同组询问的所有代码都是基于 DFS/BFS 的。
我们的小组被问到:编写一个代码来确定二进制矩阵中岛屿(1 的簇)的数量。
其他问题是——

1. 编写代码确定二进制矩阵中的最短路径(1 是路径 0 表示阻塞)。

2. 编写代码来确定二进制矩阵中最大岛(1s 的簇)的大小。

3.烂橙子问题的简易版。

4. 检查二叉树中2个节点是否在同一个根到叶路径中。

编写清晰的代码。更正和划痕很重要。表明你已经解决了这个问题。即使您之前遇到过这个问题,也不要公然编写代码。面试官会认为你之前把问题搞砸了。我们小组中有 2 人因此被拒绝。慢慢来,展示你的工作。
在向面试官提交代码时,您需要解释您的方法。这是非常关键的。一行一行地清楚地解释你的代码。使用的关键概念以及您初始化的各种变量的用途。例如,在 DFS 中,访问矩阵对于避免重复循环非常重要,解释并指出该矩阵以及使用它的原因。如果你不能向面试官解释清楚,不要沉迷于一种新方法。即使他点头,他也可能不会完全相信,因为你偏离了一般方法(这是一个警告)。一个家伙在这一轮被拒绝了,因为他给出了dp解而不是DFS解。虽然他的方法绝对正确,但他没有向面试官解释。所以坚持使用 GeeksforGeeks 的通用解决方案。该论文已提交给面试官进行进一步评估。然后面试官问了一些代码相关的基本问题。为什么我们更喜欢 DFS 而不是 BFS。是否可以使用 BFS 解决问题。两种方法的基本区别。什么时候 BFS 优先于 DFS。说出来,他一直在标记你。

评估基于 – 口语技能,技术知识,逻辑和思维能力,代码,总体印象。

在这一轮之后,选出了 35 名学生。

注意:分数是第 1 轮和第 2 轮的累积。虽然第 2 轮的最高分数未知。但它比第一轮有更大的偏好。

第 3 轮:

这是一轮小组面试。谜题和代码被问到了。一次叫了4-5个学生。然后面试官给了一个问题。我们被问到以下谜题: 有 15 个酒瓶,其中一个中毒了。有四个玻璃杯和四个人。您将如何混合葡萄酒并将其提供给他们并检测中毒的瓶子。 1滴毒酒可以杀死一个人。面试官暗示我们这是一道数字逻辑题。给我们一张纸来写我们的逻辑。我无法使用二进制代码找出解决方案,而是给出了不同的解决方案。解决方案类似于掉蛋问题。我用适当的解释和递归树在纸上写了我的解决方案。用最大伤亡人数计算最坏的情况。我向面试官解释了解决方案。他很感动。然后他拿起那张纸,用上一轮的纸钉住它。不要复制他人的解决方案。尝试创新和互动。那些不能解决问题的人被给予额外的时间,而其他人则被要求离开。本轮不要空白,因为淘汰的机会很大。因为他们希望在这一轮中淘汰。

评估基于 – 口语技能,技术知识,逻辑和思维能力,代码,总体印象。

注意:最终选择分数是前所有轮次(1,2 和 3)的累积计算

其他组遇到以下问题:

  1. 打印二叉树第 k 层的所有节点
  2. 在整数流中查找中值。 (优化方案)
  3. 查找矩阵中相同整数簇的最大大小
  4. 检查它是否是二叉搜索树。
  5. 基于 OOP 的问题。

代码中的小错误是可以接受的。与面试官互动并得到纠正。

由于没有时间我们没有人力资源回合,最终结果是在所有书面表格都经过小组评估和检查后宣布的。 29名学生被选中。我是其中之一:))