📜  2019 年亚马逊 FT 面试体验(校内)

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

2019 年亚马逊 FT 面试体验(校内)

4轮都是技术轮。

第1轮:

回合以介绍和对项目的简短讨论开始。然后面试官开始提问。

  • 对链表进行快速排序

我不得不在纸上写下它的代码。面试官然后问我是否应该继续使用链表或继续做其他事情。我告诉他无论哪种情况我都很好。

  • 找到两个链表的交点(它们可能有循环)

首先问题是没有循环。我告诉他我的方法。然后他告诉我在考虑循环的情况下解决它。我讨论了我的方法并为其编写了代码。

第 2 轮:

这一轮再次有2个问题。

  • 找到要在数组上执行的最小数量的“+1”操作,使其只有“k”个不同的元素

我最初告诉了一个 O(n³) 解决方案。他告诉我优化它。我将其优化为 O(n²)。他告诉我尝试进一步优化它。我想出了一个 O(n) 方法,但它不适用于特定情况。但是,面试官对此很满意,并告诉我为其编写代码。

  • 给定一种化合物,找出其中每个原子的数量。

作为参考,C 6 H 2 (NO 2 ) 3 (CH 3 ) 3

我讲了一种基于堆栈的方法,从右到左遍历字符串。由于时间紧迫,我不必编写代码。

第三轮:

这一轮有2个问题。

  • 给定 2 幅图像的四叉树表示,为这 2 幅图像叠加形成的图像构建四叉树。

面试官首先解释了四叉树是什么,以及图像是如何以四叉树的形式表示的。我使用基于递归的方法解决了这个问题。

  • 到达第 N的方法数

我必须为纸上的两个问题编写我的解决方案。

第四轮:

这一轮以介绍开始,然后是对我的项目和实习的详细讨论。然后面试官继续提问。

  • 在 BST 中找到第 K最大的元素
  • 实现 LRU 缓存

我只需要为第一个问题编写代码。

尖端:

  • 面试官并不期望立即为每个问题提供最有效的解决方案。相反,这样做会使您看起来像是在劫持解决方案。因此,请从您首先想到的方法开始,然后在面试官要求您这样做时进一步优化它。
  • 在听完问题后澄清你的任何疑问,否则你最终可能会解决一个错误的问题,这会给面试官留下不好的印象。
  • 在您研究方法时与面试官进行对话。面试官可能会指出一些错误并指导您正确的方式。
  • 如果您在任何时候遇到困难,与面试官交谈会有所帮助,您也可能会得到一些提示。
  • 如果面试官指出你的方法或代码中的错误,不要紧张。只要您以后改正错误,您犯的错误数量就无关紧要。