OYO Rooms 面试体验(校园)2018
编码轮:它有 20 个 MCQ 和 2 个编码问题。总分 161 分,其中 130 分属于 2 道编码问题,其余 20 道 MCQ。
编码问题1:
给定 NxN 迷宫中的源和目的地找到它们之间的最短路径,一些单元被占用并且无法找到通过它们的路径。
https://practice.geeksforgeeks.org/problems/shortest-source-to-destination-path/0
编码问题2:
给定d 、 a 、 b和一个整数数组。您可以将a和b加/减到d任意次数。您必须找到可以通过将这些操作应用于d并存在于给定数组中的数字计数。
从 150 名学生中选出 30 名学生进行 F2F 面试。
第一轮:面试官非常友好。这一轮从通常的介绍开始,然后他问了我 3 个 DS/Algo 问题。
问题1:给定一个由0s、1s 和2s 组成的数组A[],编写一个使用单次遍历对A[] 进行排序的函数,即您只能遍历给定数组一次。
https://www.geeksforgeeks.org/sort-an-array-of-0s-1s-and-2s/
问题 2:给定二叉搜索树中两个值 n1 和 n2 的值,找到最小的共同祖先 ( LCA )。
https://www.geeksforgeeks.org/lowest-common-ancestor-in-a-binary-search-tree/
问题3:给定一棵二叉树,打印它的左视图。二叉树的左视图是从左侧访问树时可见的一组节点。
https://www.geeksforgeeks.org/print-left-view-binary-tree/
他让我编写所有三个问题的代码,并用一些边缘情况检查方法。在这 3 个问题之后,他问了我一些关于分页、死锁和索引的基本问题。
这一轮持续了大约一个小时。 21名学生被选为第二轮。
第二轮:在介绍部分之后,他问了我一个 DS 问题。
给定一棵二叉树,你必须实现三个函数:
- is paint() :这将返回节点是否被绘制。
- paint() :如果约束允许绘制节点,这将绘制节点。
- unpaint():如果约束允许不绘制节点,这将取消绘制节点。
一个节点只有在它的所有父节点和子节点都没有被绘制时才能被绘制。一个节点只有在它的所有父节点和子节点都没有被绘制时才能被取消绘制。
在此之后,他问我这个谜题。我能够向他解释我的方法,他对此很满意。
在此之后,他问我关于我的项目。然后他问我是否对操作系统和 DBMS 感到满意,我回答是,然后他问了操作系统的基本概念,例如进程和线程之间的区别,什么是死锁和信号量等。然后他问不同类型的索引以及它们之间的差异。
在这一轮之后,许多学生被告知“不再进行轮次”。包括我在内的其他大约 10-12 人被要求等待下一轮。
第三轮:
它只有一个实时问题。
给了我一个代表房间数和天数的矩阵。矩阵包含指示该客户在该房间中剩余天数的值。我被要求提出一种算法来为客户提供所有天相同的房间他们以这样的方式预订了房间,我可以容纳最多的客户。
他对我的方法印象深刻,并要求我对其进行编码。然后他检查了一些极端情况并对此感到满意。
最后,他们从我的大学里选出了 13 名学生,幸好我是其中之一。