三星研发班格罗尔实习生面试经历
第 1 轮 - 编码轮:
第一轮是编码轮。每个候选人都有不同的问题。我的问题是:
1) 找到树中两个节点之间的路径。
2)一个简单的基于数组的问题。
3) 计算树的叶节点。
大约 65 名学生获得了这一轮资格。解决了 3 个问题中的至少 2 个的人符合条件。我们被期望以最佳的时间和空间复杂性来解决问题。
第 2 轮 - 笔和纸轮:
在这一轮中,我们被要求编写一个带有适当注释的问题,并与周围的三星面试官讨论。问题是:
给定一个由 1 和 0 组成的矩阵,0 表示阻塞单元,1 表示安全单元,我们的目标是以最少的步骤从单元 (1, 1) 到达单元 (N, M)。我们可以向左、右、上、下 4 个方向中的任何一个方向移动。输出是所需的最少步数。我们不允许使用任何标准的内置数据结构。
方法:使用BFS找到从源到目的地的最短路径,每个节点(i,j)最多有4条边(i-1,j),(i+1,j),(i,j-1)和 (i, j+1)。
能够通过使用 BFS 对问题进行编码的人有资格进入下一轮。使用 DFS 解决问题的人已经出局了。
45人入围面试。
第 3 轮 – 面试:
面试很简单,大概5-10分钟。基本问题如:
- 检查给定数字是否为 2 的幂。 (检查设置的位数是否为 1)– https://www.geeksforgeeks.org/program-to-find-whether-a-no-is-power-of-two/
- 计算给定数字中设置的位数。
- 给定一个字符串,在 O(N) 时间内不使用任何额外的空格,将其逐字反转。 – https://www.geeksforgeeks.org/reverse-words-in-a-given-string/
我的朋友们也被问到了一些谜题,但都是常见的谜题,在 gfg 上很容易找到。
32名候选人被选中实习。!
最终判决:选择!!