📜  亚马逊面试经历 | SDE-1 的校园 2020

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

亚马逊面试经历 | SDE-1 的校园 2020

第一轮:编码轮
在线编码评估包括 2 个部分
多选题:28 个没有负面标记的问题
这些问题有基于代码片段的问题、基于 OOP 和操作系统的问题。 C 基础应该很强。

编码:2个编码问题
他们有一个由大约 20 个问题组成的池,他们从中给出 2 个随机问题。
1) 掷骰子 | DP-30
2) 给定事件的开始和结束时间,并且一次只能发生 1 个事件,打印可以发生的最大事件数。 (提示:按开始时间排序,采用贪心法)

第二轮(面对面面试)

    • 在二叉树的顶视图中打印节点

我从水平顺序遍历方法开始,然后他继续前进并要求对前序遍历做同样的事情。我曾使用地图存储节点,然后在完成遍历后打印它们,但随后他要求我改进打印操作,为此我使用 unordered_map 和最小索引进行完整遍历。然后他要求我进行更改以使其成为底视图。

他接着问了一些操作系统的概念,比如进程、线程、死锁和调度。

第三轮(面对面面试)

      • BST 中使用恒定额外空间的第 K 个最大元素
        他质疑这种方法,并试图挖掘我之前是否看到过这样的问题。
      • 矩形的最大子集,使得没有矩形适合任何其他矩形
        这是问题的修改版本(只需给出子集中最大的元素)。

然后他问了我简历中最强烈的一点,并就这个话题进行了大约 20 分钟的深入讨论。

第四轮(面对面面试)
给定一个由 R 和 C 组成的数组,其中 R 代表该位置的一只兔子,C 代表该位置的一根胡萝卜和一个整数 D,一只兔子在 D 范围内最多可以吃 1 根胡萝卜。输出最大的胡萝卜数可以吃。
我给出了 O(n+d) 的解决方案,但他让我将其改进为 O(n)。

第五轮(面对面面试)

      • 矩阵中的回文路径数

不过面试官帮了点忙。从简历中问了一些小事。然后他放松了环境,问了我的爱好。

在所有的采访中,他们都是从询问方法开始的,最后我们不得不最终对问题进行编码。
结果
转换。