OYO Rooms面试体验
第 1 轮:这是 Hackerearth 上的常规在线轮次,总共有 12 个问题。该问题集分别由简单和中等难度的 2 个编码问题组成。问题是——
1. 给定一个字符串形式的括号序列,返回它们是否形成有效序列。
https://www.geeksforgeeks.org/check-for-balanced-parentheses-in-an-expression/
2.给定两个字符x 和 y 以及一个由小写字母组成的字符串,找出以 x 开头并以 y 结尾的子序列的数量 mod 10^9+7。字符串长度 <=10^5。
例如 - 给定 x= 'a', y='b' 和字符串- abcb
这种情况的答案是 5,子序列是 -ab、ab、abb、acb、abcb。
大约 45 人入围了进一步的轮次,其中一些人在第一轮中以最佳方式完成,第二轮则部分完成。
第2轮:这是第一轮面对面。面试官是我们学院的校友,所以采访开始时比较轻松,讨论了当前的大学环境以及学院多年来发生了多大的变化。然后我们转到技术部分。他问了我一个基本的链表问题——https://www.geeksforgeeks.org/in-a-linked-list-given-only-a-pointer-to-a-node-to-be-deleted-in-a -singly-linked-list-how-do-you-delete-it/ 。他接着问我一个树的问题-它是打印二叉树的顶视图,我被要求编写运行代码这。
然后焦点从数据结构转移,他问我是否对动态编程感到满意。我很乐意说是,这让他问了我几个著名的 DP 问题——
https://www.geeksforgeeks.org/find-minimum-number-of-coins-that-make-a-change/
https://www.geeksforgeeks.org/cutting-a-rod-dp-13/
首先我被要求说出我对这两个问题的处理方法,然后我们继续完成相同的代码。我很快就写完了代码,这似乎给他留下了深刻的印象。
这就是我这一轮的全部。
>第 3 轮:完成后仅 10 分钟,我就被要求参加下一轮。这一次,面试官似乎更严肃了。令人惊讶的是,他从他的介绍开始,然后继续问我的。然后他直接提出了一个数据结构设计问题,我被要求设计一个支持 3 种操作的数据结构——
1.插入一个整数
2-查找其中是否存在元素
3-找到它中第K个最频繁的元素。
我开始给他方法,他一直告诉我要进一步优化。我从 O(N logN) 方法开始,然后给出了 O(N) 方法,然后过了一段时间以 O(log N) 方法结束。
然后他问了我几个操作系统问题——
1. 给定一个临界区,最多可以同时驻留 5 个进程,您将如何处理这种情况。
2. 给定一个具有 4 GB RAM 的系统,如何在其上玩 12 GB 的游戏。
当我完成这些问题的答案时,他问我是否有任何问题要问他。我问了他几个,然后他告诉我这轮已经完成了。
两轮技术轮是我所拥有的。相当多的候选人必须通过第三轮,我很高兴成为三个不必通过的人之一。
晚上晚些时候,我得到消息说我得到了offer。
感谢 GFG 所做的一切,这是我能提供的最少回报。