📌  相关文章
📜  三星(SRIB)实习面试经历

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

招聘过程一共进行了三轮。

第 1 轮(编码):

它由三个编程问题组成,每个人都有不同的问题。以下是我收到的:

  1. 数字阶乘的最后一个非零数字。就时间复杂度而言,找到大 n 值的阶乘成本很高。我优化了解决方案并清除了所有测试用例。
  2. Ceil Value Node:最小数据大于或等于key值的节点。我们需要在 BST 中找到该节点。我采用递归方法并清除了所有测试用例。
  3. 从二叉树的根开始的最大和最小深度之间的差异。我再次采用递归方法寻找高度并清除所有测试用例。

第 2 轮(技术 I):

面试在Skype上进行。招聘人员主要关注编程问题,而不是项目:

  1. 关于 Trie 的问题 – 如何在字典中找到以“-ing”结尾的单词。我无法完全回答,招聘人员继续回答下一个问题。
  2. 给定一个用零初始化的矩阵。有基于索引的查询 – (i,j) 并且在每次查询之后,第 i 行元素将增加 1,第 j 列也是如此。在所有的查询之后,我们需要计算矩阵中奇数的数量。我使用具有 O(kxn^2) 复杂性的幼稚方法进行了处理。但后来我根据偶数+偶数=偶数奇数+奇数=偶数并且只有奇数+偶数的情况才能产生奇数结果的事实对其进行了优化。
  3. 硬币交换问题 – 构成特定金额的最小硬币数量(使用贪婪方法)。
  4. 反转一个喜欢的列表并再次反转它以检索原始链表。我使用递归方法解决了它。
  5. 二叉树某一层的节点数。这可以通过散列轻松解决。
  6. 项目简介以及我在项目中的角色。

招聘人员很支持,这一轮非常顺利。这些问题遗漏了招聘人员想让我问然后继续前进的很多部分。

第 3 轮(技术 II):

面试又是在Skype上,但这次招聘人员的视频被关闭了,一开始很混乱,但后来我适应了。这一轮同样关注编码和项目。

  1. 解释你的项目、你的技能和兴趣。使用我所使用的技术背后的原因,我详细解释过。
  2. 关于我在项目中使用的 Nodejs(异步、事件驱动、线程等)、Reactjs(HOC、生命周期函数)、JSON 格式和 Javascript Web 令牌的属性的问题。我知道这些问题的答案,这让招聘人员非常满意。
  3. 使用 express 创建服务器的代码片段,它在我的文本编辑器上显示并共享屏幕。
  4. 给定一个具有一些重复行的矩阵。在输出中给出相似的行索引。我使用索引数组散列行来解决它。虽然我无法进一步优化它,但招聘人员使用 Trie 解释了解决方案。
  5. 基于递归(反向、检查镜像、检查对称)的各种链表和二叉树问题,我很容易清除并用测试用例解释了 sudo 代码。
  6. 一个基于双向链表的问题——有连续的人来排队,他们必须按照他们的身高从高到低的顺序进入他们所属的位置。我解释了解决方案,他很满意。

然后招聘人员问我是否有任何问题,我问了他正在研究的技术。招聘人员很友好,甚至原谅了面试时突然停电。这是一次很棒的面试经历,也是一次很有启发性的经历。在第二次面试的几个小时后,我收到了我的选择信息。即使我不确定我的解决方案,我也与招聘人员就我的方法进行了沟通,他给了我一些解决问题的提示。