第 0 轮:(书面):20 个 MCQ + 2 个编码问题:
多选题 – 主题:
- 操作系统 – 页面错误、等待时间(RR 调度)、分页、信号量等。
- DS – 散列(基于简单链接的数值)
- 能力 – 1 概率问题,拼图 – 1 问题,C – 2 问题等。
编码问题:
- 给定一个包含 n 个字符串的列表,将所有字谜组合在一起
例子:
i/p: cat act pat mad dog god
开/关:
猫法
拍
疯狂的
狗神 - 给定一个大小为 n 的二进制方阵,找到最大区域的大小,即找到一个连接区域(水平、对角、垂直)。例如:
输入/输出:
0 1 0 0
1 1 1 0
0 0 1 0
1 0 0 0
o/p : 5
第 2 天:(面试轮次)
第 1 轮(技术面试 – 大约 1 小时)
面试开始时面试官告诉我我们没有太多时间,所以他会问一些关于数据结构和算法的问题,我需要告诉他方法。
- 反转链表。
- 我给出了两种方法,一种使用堆栈,一种使用指针(就地)。
- 打印二叉树的顶视图。
- 好简单的问题,但不知道为什么我开始使用 DFS 方法(预购遍历)
- 尝试使用预购,但他给了我失败的测试用例。
- 在预购中尝试了不同的方法,发现一个或其他测试用例存在问题,我还使用 HashMap 来跟踪要打印的节点。
- 所以他让我在没有辅助存储的情况下做。
- 我尝试了级别顺序方法(没有辅助 HashMap)并且它适用于所有测试用例。
- 他对这种方法很满意,所以让我编写生产级代码。
第 2 轮(技术面试 – 大约 45 分钟)
面试官简单自我介绍,让我做自我介绍。介绍中没有后续问题(尽管我希望在项目或公司方面有所作为:P)。
- 查找数组中出现的第 K 个最大元素。
- 使用HashMap和Heap来解决这个问题。
- 时间 O(n*logn)
- DP 问题:特殊键盘
第 3 轮(技术面试 – 大约 45 分钟)
面试官简单自我介绍,让我做自我介绍。不再有介绍中的后续问题。
他给了我一个基于字符串的问题,问我是否已经知道(我不知道),所以他让我想出一个方法。
- 给定一个字符串,找到一个最大长度的重复子字符串。
例子:
i/p 1:香蕉
o/p 1:安娜
i/p 2: indianindianttindiaindia
o/p 2:印度 印度
我想过使用 KMP,但这种方法的复杂性很高。我尝试使用最长公共子串来查看是否有任何模式或方法可以使用 LCS 解决它,我发现一种方法告诉面试官他对这种方法非常满意。
第 4 轮(技术面试 – 大约 25 分钟)
短回合,因为这是我的最后一轮。
只有一个问题:
- 给定一个无限整数数轴,找出到达特定点所需的最小步数。 0 是起点,在第 i 步,我们可以从当前位置移动 +i 或 -i 步。
尝试使用树并意识到这是 DP 问题,告诉他方法和复杂性以及为什么 DP 和为什么 BFS(以获得最少步骤)。他对这种方法感到满意。
祝一切顺利 :):)
感谢GeeksforGeeks提供的所有材料,它在准备过程中对我帮助很大。保持 !!
如果您喜欢 GeeksforGeeks 并愿意做出贡献,您也可以写一篇文章并将您的文章邮寄到 review-team@geeksforgeeks.org。在 GeeksforGeeks 主页上查看您的文章并帮助其他 Geeks。
亚马逊的所有练习题!