📜  亚马逊面试经历 |在校园

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

亚马逊面试经历 |在校园

亚马逊于 8 月初访问了我们的校园。没有资格标准,大约有 330 名学生参加了在线比赛。

第一轮(在线):

这是一个由两个问题组成的在线编码回合,你是否会得到一个简单的问题真的取决于你的运气(在我的情况下,它们很容易,而其他一些候选人得到了冗长的 DP 问题)。

  1. 给定一个字符串“A+B=C”形式的表达式,其中给出了 A、B 和 C 中的任意两个,您必须找出第三个变量的值。
  2. 给定一个矩阵,用 maxSum 计算行,用 maxSum 计算列。

大约50名学生通过了。接下来是 4 轮技术 F2F 轮次,他们对我的简历没有要求,只要求数据结构和算法。面试官很友好,不断给出充分的提示,他们只是想看看你能多好地解决一个问题。

第 2 轮:

  1. 给定一个 n 矩阵,将矩阵的每一层顺时针旋转一个元素,因此: [ 1 2 3, 4 5 6, 7 8 9 ] 应变为 [ 4 1 2, 7 5 3, 8 9 6 ]。这是在恒定空间中完成的。
  2. 给定一个链表,在一次遍历中从其末端找到第 K 个节点。
  3. 给定一个 linux cd 命令,如“a/b/c/./d/../e”,您必须找到生成的目录,或者如果有错误则报告错误。

第三轮:

  1. 给定一棵二叉树,将其转换为双向链表而不使用额外空间。
  2. 给定一个字符串数组,将所有字谜组合在一起。

第四轮:

  1. 在一次遍历中线性化一个二维链表,而不使用额外的空间。每个节点都有一个右指针和下指针。向下指针可能指向也可能不指向非 NULL 节点。
  2. 一次检查二叉树中的两个节点是否是表亲。
  3. 哪种排序算法适合根据衣橱的高度对衣橱进行排序,这样我的工作量就最小了。 (选择排序)

第 5 轮(最后一轮 - 提高标准):

大约有 16 名学生获得了本轮资格。只问了一个需要应用多种数据结构来解决的问题。

  • 给定无限的传入字符串流及其时间戳,仅在过去 10 秒内打印字符串时才打印该字符串。一个基于地图的方法是行不通的,因为它可能会在有这么多字符串的情况下增长到无限大。
  • 因此,如果时间戳字符串对如下:
    • 1 - 富
    • 3 – 酒吧
    • 6 - 富
    • 11 - 酒吧
    • 13 - 富
  • 它将打印: [ foo, bar, foo ] (时间戳 6 的 foo 未打印,因为 foo 在过去 10 秒内已收到)
  • 这个解决方案需要 map 和 deque 的组合。

在 Bar Raiser 之后我被拒绝了,因为我的第 2 轮进行得并不顺利。我无法为二叉树问题提出空间优化解决方案。您在所有回合中的分数最终将相加。

无论您提出什么解决方案,您都应该尽可能地优化它。并且保持你的 DSA 基础非常强大,正如亚马逊想要的候选人一样,这是一个非常好的编码能力。而且无论发生什么都是最好的,所以不要在任何一轮中都很难接受拒绝,立即将注意力转移到下一家公司。被安置后,你可以随心所欲地哭。 😛

祝你好运。