📜  OYO Rooms软件工程师面试体验(校内)

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

OYO Rooms软件工程师面试体验(校内)

第 1 轮:(在线轮)。这一轮有 2 个编码问题和 15 个 MCQ(来自 Aptitude、OS、DBMS、C++、C、数据结构)。

1.以螺旋顺序打印矩阵。
https://www.geeksforgeeks.org/print-a-given-matrix-in-spiral-form/

2. 给定一个矩阵。空单元格用“.”表示,被占用的单元格用“B”表示。给定两个单元格“S”和“D”,求从 S 到 D 所需的最小距离。

前任。

S..BB。
..BB
.B…
….D

这是一个简单的 BFS。

第 2 轮:

前 10 分钟讨论我的项目和实习。他问了我三个编码问题。他是一个非常酷的人,对我的所有方法都很满意。

  1. https://www.geeksforgeeks.org/find-a-triplet-that-sum-to-a-given-value/ 我用最好的方法解决了这个问题。然后他告诉我写代码。
  2. https://www.geeksforgeeks.org/bottom-view-binary-tree/
  3. 他给了我一个数字 N 并告诉我以二进制形式打印从 1 到 N 的所有数字。我告诉他 O(nlogn) 方法,但告诉我要优化它,然后我又给了他另一种方法。他告诉我这比前一个要好,但尝试在线性时间内解决。我和他讨论了很多关于优化的问题。我告诉他 4 到 5 种不同的方法,但最后,我给出了一个线性时间解决方案。他告诉我,你终于明白了。他没有告诉我写代码。链接:https://www.geeksforgeeks.org/interesting-method-generate-binary-numbers-1-n/ 我使用数组存储解决了它。
  4. 5 分钟讨论 B-Tree 和 BST 和索引以及如何在索引中使用 B 树。

第三轮:
关于我的项目和实习的前 10 分钟讨论与上一轮相同。他只问了我一个编码问题。

问题:在一栋楼里有N层。你在源楼层(S),你必须去目标楼层(D)。

每次你可以从一个楼层到 U 层和 d 层(x 到 x+U 或 x 到 xd)。求从 S 到 D 的最小步数。

在 10 分钟内,我给了他一个 O(n2) 的方法,他很高兴并告诉我编写代码,但我仍在思考,突然我使用 Dijkstra 算法得到了 O(nlogn) 的解决方案。他告诉我你将如何使用 Dijkstra 解决问题,我解释了它。他印象非常深刻,并告诉我编写代码。然后,一旦我解释他发现代码中有一个错误,他就告诉我解释代码。他告诉我一次检查是否正确。我没有得到什么问题。我和他讨论了 5 分钟,他告诉我你为什么感到困惑。认为你错过了什么。他给了我一个提示,然后我就明白了。他告诉我在代码中添加这个案例。

之后,他问我关于 DBMS 中的索引。你是如何在你的项目中使用它的?

他非常乐于助人,当我在思考时,他问我你在想什么,为什么要采用这种方法,他讨论了问题的每一个小步骤。当他问我的朋友时,我期待第二个编码问题,但他没有问我第二个问题。

在这之后,我没有第三轮,五分钟后HR告诉我你被选中了。