📜  SDE-I 的亚马逊面试体验

📅  最后修改于: 2022-05-13 01:58:15.701000             🧑  作者: Mango

SDE-I 的亚马逊面试体验

在线编码测试:

在hackerearth平台上有三个编码问题。这是70分钟的测试。

1)找到下一个更大的数字与相同的数字集。如果下一个更大的元素不存在,则打印“-1”。

输入:n=327698

输出:327869

https://www.geeksforgeeks.org/find-next-greater-number-set-digits/

2) 给定只有零和一的元素数组,您最多可以执行以下操作一次。

操作:将所有元素从 i 翻转到 j 索引,其中 i<=j。

现在您需要在执行这些操作后打印数组中的最大个数。

输入:

n=6

1 0 0 1 0 0

输出:5

3)给定数组和整数k,你需要告诉数组是否可以在操作任意次数后排序。

操作:您可以将 (i) 索引元素与 (i+k) 索引元素交换任意次数。

如果通过上述操作可以对数组进行排序,则打印已排序的数组或打印“-1”。

输入1:

n=8 k=2

1 2 7 8 3 4 5 6

输出1:

1 2 3 4 5 6 7 8

输入2:

n=8 k=2

1 4 5 6 7 8 2 3

输出2:-1

第1轮:

1)说说你自己。

2)给定二叉树,完整路径定义为从根到叶。该路径上所有节点的总和定义为该路径的总和。给定数字 K,您需要删除二叉树中不位于 sum>=K 的任何路径中的节点。

该函数是用二叉树的根和K给出的,您需要在删除不位于任何路径中且总和> = K的节点后返回根。

输入:

K=8

输出:

https://www.geeksforgeeks.org/remove-all-nodes-which-lie-on-a-path-having-sum-less-than-k/

3)给定旋转排序数组,找到数组中的最小元素。

输入:

n=8

7 8 1 2 3 4 5 6

输出:1

https://www.geeksforgeeks.org/find-minimum-element-in-a-sorted-and-rotated-array/

第 2 轮(视频通话管理轮):

1) 说说你自己。

2) 目前在公司担任的职务。

3)您在公司生活中最喜欢的项目。

4)当你被赋予任务而你无法独自完成并需要其他同事的帮助时。

5) 你从经理那里收到批评性反馈的时间,你是如何改进的?

6) 除了日常工作之外,您在上一家公司所做的额外工作。

7) 你在以前的公司工作中最关键的任务是什么,你是如何做到的?

第三轮:

1) 说说你自己。

2) 客户 ID 和产品 ID 源源不断地到达。现在随时都会有查询。您需要回答查询。

查询:给定产品ID,销售给客户的具有该产品ID的产品的编号。

输入:

当前条目:

PID CID

1 499

3 421

1 645

1 989

2 424

查询:pID=1

输出:3

你将如何空间优化这个问题?

3)数字正在到达流中,并且在 Input 的开头给出了固定的 K。可以随时询问以下查询。您需要回答查询。

查询:查找当前流中的第 K 个最大元素。

输入:

K=3

当前流:8 7 1 2 4 5 9

目前产量:7

https://www.geeksforgeeks.org/kth-largest-element-in-a-stream/

4)在二叉树叶子的左右节点不会为空。一个叶子的右节点将连接到顺序遍历中的下一个叶子节点。并且叶子的左节点将按照顺序连接到前一个叶子。第一个叶子的左边将是顺序遍历中的最后一个叶子,最后一个叶子的右节点连接到顺序遍历中的第一个叶子。

您需要打印才能遍历。

预期时间复杂度:O(n)

预期空间复杂度:O(1)

输入:

输出:

4 2 6 5 7 1 8 3 9 10

5) 编写LRU Cache的优化代码。

LRU 缓存的大小将在输入中给出。

6)什么是多态性?

第 4 轮(Bar Raser 视频通话结束):

1) 说说你自己。

2) 检查一个 BST 是否是另一个 BST 的子树。

函数将以 root1 和 root2 作为 BST-1 和 BST-2 的参数给出,如果第二个 BST 是第一个 BST 的子树,则返回 true 或返回 false。

注意:元素可以重复。 BST 创建时所有小于或等于的元素都将转到节点的左子节点,而较大的元素将在节点的右子节点上。

输入:

输出:真。

结果:被录用!!