亚马逊专访 |设置 36
1 轮(20 MCQ + 2 编码问题)
3轮面试,1轮电话面试。
第一个编码问题
—————————–
求树的直径。
第二个编码问题
—————————–
检查数独的有效性。
第一轮面对面
————————————-
Qs-1) 在二叉树中,完整路径定义为从根到叶的路径。该路径上所有节点的总和被定义为该路径的总和。给定一个数字 K,我们必须从树中删除(修剪树)位于总和小于 K 的路径上的节点。一个节点可以是多个路径的一部分。所以我们只有在它的所有路径总和小于 K 的情况下才需要删除它。
我能够用自下而上的方法解决问题,并能够编写它的工作代码。
Q-2) 给定一个正数数组,找到一个子序列的最大和,约束条件是序列中没有 2 个数字在数组中应该是相邻的。所以 3 2 7 10 应该返回 13(3 和 10 的总和)或 3 2 5 10 7 应该返回 15(3、5 和 7 的总和)。
我能够给他一个带有父数组的 DP 解决方案,该数组存储每个元素的父数组的索引,我将 -1 放入第一个元素,最后我回溯数组以找到所有元素。
第二轮面对面
————————————-
在一些个人问题之后,面试官问了 1 个编码问题
Q-1)
n1 对“{}”括号
n2 对“[]”括号
n3 对“()”括号
我必须找到所有对的所有有效组合。我必须编写它的工作代码。
我给了他递归和堆栈的解决方案。
第三轮面对面
————————————-
面试官问了一些关于设计模式、OOPS 和 OS 的基本问题,在对所有问题进行了大讨论后,他问了 1 个编码问题。
第一个问题
————
有一个字符串,其中所有空格都被删除,我们必须在机器的帮助下找到原始字符串,该机器接受输入一个单词检查它是否有效。
电话面试
————————————-
面试官要求简要介绍我的项目。
在对我的项目提出一些问题后,面试官问了 2 个编码问题
Q-1) 树到双向链表。 O(n) 和就地解决方案是必需的。
Q-2) 一个包含 N 个元素的数组,我们必须将所有元素替换为该元素右侧最接近的较大元素。需要 O(n)。
两天后,他们通知我,我被选中担任该工作。 🙂