📜  OYO 面试体验 – SDE (2019)

📅  最后修改于: 2022-05-13 01:58:17.581000             🧑  作者: Mango

OYO 面试体验 – SDE (2019)

第一轮第一轮在 HackerEarth 上进行。该测试有 2 个编码问题和 20 个关于技术问题的 MCQ 问题。

有 4 种不同类型的编码问题,每个学生必须解决其中的两个问题。

  1. 到达网格末端的最低成本。 https://www.geeksforgeeks.org/min-cost-path-dp-6/
  2. 气球爆裂问题。 https://www.geeksforgeeks.org/burst-balloon-to-maximize-coins/
  3. 如果它被“X”包围,则将“O”替换为“X”。 https://www.geeksforgeeks.org/given-matrix-ox-replace-ox-surrounded-x/
  4. 史酷比有在某些时期睡觉的习惯。给您两个数组:一个包含每个时期教授的章节数,另一个包含标志 scooby 在该时期是否睡觉(显示为 0)(显示为 1)。你的工作是找出你给史酷比一个史酷比零食的时期,这对于“K”时期是有效的,这样他就可以覆盖最多的章节。

MCQ 涵盖了 DBMS、操作系统、OOP 和数据结构等技术主题。

注意:任何人只要解决了两个编码问题中的至少一个,就有资格进入下一轮。
(40 人中有 22 人通过)
第 2 轮: F2F 面试

  1. 你会得到一棵经过一些修改的二叉树:

a) 对于任何只有一个子节点的节点,指向缺席子节点的指针指向自身。 (假设一个节点刚刚有左孩子,那么指向右孩子的指针指向它自己,反之亦然)。

b) 对于一个叶子节点,如果它的右边存在一个叶子(在整个二叉树的上下文中),那么这个叶子节点的右子指针指向那个右叶子,否则指向它自己。

c) 对于一个叶子节点,如果它的左边存在一个叶子(在整个二叉树的上下文中),那么这个叶子节点的左子指针指向那个左叶子,否则就指向它自己。

任务是给出二叉树的前序遍历(当时它没有被修改)。

对于给出的示例,遍历应该是:1->2->3->4->5->6->7->8->9

从右图中可以看出,二叉树的叶子构成了一个双向链表。使用该属性,这个问题就解决了。也就是说,如果(current->right)->left = current(current->left)->right = current,则节点是叶子。这将解决 O(1) 空间中 O(n) 时间复杂度的问题。

注意:面试官让我在纸上写代码。

2. 求两个给定数之间的完美平方数。 https://www.geeksforgeeks.org/find-number-perfect-squares-two-given-numbers/

3. 给定一个数字,找到没有任何内置函数的平方根。 https://www.geeksforgeeks.org/square-root-of-an-integer/
(22 人中有 9 人通过)

第 3 轮: F2F 面试

面试官很年轻,很友好。

第一个问题是“介绍一下你自己”。

然后开始技术面试:

  1. https://www.geeksforgeeks.org/find-the-row-with-maximum-number-1s/
  2. 关于互斥量、信号量、虚拟内存与 RAM 的问题
  3. 烂橙子问题的变体:https://www.geeksforgeeks.org/minimum-time-required-so-that-all-oranges-become-rotten/

注意:(面试官让我把第三个问题写在纸上)

我在这一轮之后被选中,但很少有学生不得不再进行一轮。最终,9人中有5人被选中。

感谢我为采访做准备的 GFG 档案。