OYO Rooms SDE-1 体验(校内)
线上轮
由 2 个编码问题和 20 个 MCQ 组成:
第一个问题:
给定 NxN 迷宫中的源和目的地找到它们之间的最短路径,一些单元被占用并且无法找到通过它们的路径。
https://practice.geeksforgeeks.org/problems/shortest-source-to-destination-path/0
第二个问题是:
给定d 、 a 、 b和一个整数数组。您可以将a和b加/减到d任意次数。您必须找到可以通过将这些操作应用于d 来形成的数组元素的计数。
我使用 bfs 方法解决了第一个问题并完成了 MCQ 的 .在大约 150 名学生中,有 31 名学生被选为第一轮。
F2F第一轮:(大约105分钟)面试官让我介绍一下自己,然后他从我的简历开始。由于我有一个开发人员的个人资料和一些良好的实习经验,他从我实习期间涉及的项目开始,他们的设计模式也要求编写其中涉及的方法。所以在大约 45 分钟后,他休息了大约 2-3 分钟,还给了我一些饼干。我以为面试结束了,但后来他转向数据结构和算法。他问了 3 个问题:
问题1:https://www.geeksforgeeks.org/find-maximum-vertical-sum-in-binary-tree/
问题 2:https://www.geeksforgeeks.org/kth-largest-element-in-a-stream/
问题 3:https://www.geeksforgeeks.org/find-the-element-that-appears-once-in-a-sorted-array/(O(logn) 方法)
我解决了所有三个问题,他让我在纸上为每个问题编写代码。对于第二个问题,他还要求我为每次迭代绘制一个堆树,因为它涉及堆,然后问了关于堆的基本问题。在第三个问题中,我很困惑,但我与面试官讨论了方法,然后在花了一些时间后终于解决了。
所以这是我的第一轮,基本建议是,对于每一个问题,请花点时间与面试官讨论可能的方法,并尝试让双方都互动。
21名学生被选为第二轮。
F2F第2轮:(约120分钟):面试从基本介绍开始,然后他也从我的简历开始,详细询问了我简历中的大部分内容。他详细询问了我 Elasticsearch 的内部机制,使用 NoSQL 和 SQL 数据库的优缺点,为什么我在我的项目中使用了特定的数据库,单体和微服务之间的区别以及类似的后端相关内容,因为我的简历是这样向我介绍的,如果您的简历中有机器学习项目或 android 或其他任何内容,可能会有所不同。然后他向 DBMS 提出了一些问题,比如索引。多级索引的优缺点是什么,多级索引的重排,B+树等。他还问为什么数据库的规范化,它是不同的形式。然后在操作系统中,他询问了分页的基本概念,所有的调度算法和信号量的基本知识。现在谈到 ds/algo 部分,他问了我两个问题。
问题 1:https://www.geeksforgeeks.org/policemen-catch-thieves/
我告诉他贪婪的方法,然后他让我为它编写代码。
问题 2:https://practice.geeksforgeeks.org/problems/largest-number-formed-from-an-array/0
我告诉他相关的方法,他试图通过询问一些关于该方法的反问题来混淆我,通过给出不同的测试用例但后来他要求我为其编写代码。
有了这一切,第二轮就结束了。我没有被要求参加第三轮,但有些人也参加了第三轮。一段时间后,有 13 人被选为 OYO 的 FTE,我就是其中之一。
建议:只在简历中提及那些你真正非常了解的事情,并准备好可能的反问,因为你不能愚弄面试官。要有信心,花时间去理解和解决问题,如果这是你的一天,没有人可以阻止你抓住机会🙂。