亚马逊面试经历 |设置 397(校内)
线上回合:
它由 20 个 mcqs 和 2 个编码问题组成。该测试在 HackerEarth 上进行。
给定一个字符串。找到字符串的所有回文分区。 (可以对字符串进行分区的方式数,以便所有分区都是回文)
Input: NITIN Output: 3
2.给你一个大段落和N个单词。你必须找到该段落的最小长度子段落,其中包含所有这些N个单词的任意顺序。
第 1 轮(35 分钟):
面试官从最常见的问题“谈谈你自己”开始,我解释了我的项目、我的成就和我的优势。在这一轮中,我被 ds 和 algo 提出了 2 个问题。
查找数组中的所有英雄和超级英雄。英雄 - 大于其右侧所有元素的元素。超级英雄 - 大于其左侧和右侧所有元素的元素(数组的最大元素,应该只出现一次)。预期复杂度——单次遍历中的 O(1) 空间和 O(n) 时间。
Input: {1,6,5,4,7,8,4,3,2,1}
Output: Heroes : 8 4 3 2 1
Super Heroes : 8
2.一个字符串中包含另一个字符串的所有字符的最小窗口
第 2 轮(60 分钟):
我被要求自我介绍,被问及我的长处和弱点。和上一轮一样,我被问到 2 个关于数据结构和算法的问题。
15-20分钟的项目讨论。
通过最多进行 K 个相邻交换来找到可能的最大数量。预期时间复杂度 – n*K 和空间复杂度 – O(1)
在未排序的数组中找到最接近给定总和的对。方法 - 使用 BST 的蛮力、排序、天花板和地板。
C++ 中的内存分配。如何在 C++ 中分配双倍内存。无法解释这一点。
5分钟后被叫到第三轮。
第 3 轮(90 分钟):
这一轮纯粹是关于算法设计和数据结构。
特殊堆栈
无法为 O(1) 空间推导出这个。
2.检查平衡树
3. 到达终点的最少跳跃次数
解释了 O(n^2) dp 方法。给出时间复杂度 O(nlogn) ,空间 O(nlogn) 的分段树方法。
4. 流中的第一个非重复字符
使用双链表和 Hashmap 实现。
5分钟后被要求进入最后一轮。
第 4 轮(30 分钟):
这一轮从讨论操作系统和编译器设计开始。
操作系统问题-
什么是缓存?
缓存在操作系统中的什么位置?
缓存中关联映射和直接映射的区别。
什么是绕线?
假脱机的应用。
编译器设计问题 –
什么是词法分析?
什么是语义分析?
什么是确定性有限自动机(DFA)?
DFA 和 NFA 的区别?
对我目前的项目进行了详尽的讨论。
最后问了3个关于数据结构和算法的问题。
腐烂所有橙子所需的最短时间
https://www.geeksforgeeks.org/fix-two-swapped-nodes-of-bst/
二叉树的底视图
判决:选择🙂