📜  亚马逊面试经历 | 399(在校全日制)

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

亚马逊面试经历 | 399(在校全日制)

亚马逊于 2017 年 7 月的最后一周来到我的校园。

在线回合在 HackerEarth 平台上进行。
它有 2 个编码问题和 20 个 MCQ。

  1. 给定一个未排序的数组 A,找到 ij 的最大值,使得 A[i]>A[j]。
  2. 给定一个未排序的数组 A 和一个数 k,找到数组中最大和的子字符串,使得它的和可以被 k 整除。

多选题:
各得 1 分,负分 0.25。
很少有 MCQ 基于数据结构、算法、oops 和操作系统,逻辑推理、网络和 DBMS 各有 1 或 2 个。

每轮面试都以“告诉我关于你自己”的陈词滥调开始,以“你有什么问题吗”结束。

第1轮:

  1. 给定一个日志文件,其中包含在亚马逊上搜索的产品的产品 ID 和相应的客户 ID,您需要在一天结束时找到浏览次数最多的产品。如果单个客户多次查看产品,则其查看次数仅增加 1。产品数量非常多,因此对产品 ID 进行排序、堆或散列是不可行的。

    解决方案——使用 Trie 数据结构。经过10分钟的讨论,我可以提出这个。
    需要在 trie 中插入和搜索的生产级代码。

    如果需要 k max 查看产品怎么办。
    在我讨论的过程中,他还让我写一个散列函数。

第 2 轮:

  1. 图的 Dfs。
  2. 数组树的 Dfs。 (代码是必需的)
  3. 给定一个字符串s 和一个文件,每个单词都在单独的行中,找出文件中所有单词都是字符串s 的变位词。面试官让我说出所有可能的解决方案,无论其复杂程度如何。这持续了10分钟。
  4. 给定 am*n 矩阵,找到从 (0,0) 到 (m-1,n-1) 的路径数,在每个块中,我们要么向下移动 1 步,要么向右移动 1 步。打印上述问题的所有路径。需要 dp 解决方案。

    解决方案:GeeksforGeeks 链接。

第三轮

  1. 给定一个具有从 1 到 n^2 的不同元素的 *n 矩阵,找到摧毁矩阵的所有单元所需的最小炸弹数量。如果我们轰炸一个值为 i 的单元格,一个值为 i-1 的单元格(如果相邻的 4 个单元格)也将被摧毁。 (代码是必需的)
    如果数字不是唯一的怎么办。
  2. 在未排序的数组中查找多数元素。
  3. 在排序数组中查找多数元素。 (需要 logN 解决方案)。
  4. 对角线打印树的元素。
  5. 找到树的两个节点之间的最短距离,其中每个节点也有一个指向其父节点的指针,我们也可以直接从节点a跳转到节点b,其中b是a的镜像,a和b属于两者以给定树的根为根的子树。镜像可能存在也可能不存在。
  6. 找出将信息从根传递到树的所有节点所需的时间。

然后面试官问我喜欢哪些其他非编码科目。我说操作系统。
所以他问了我几个关于操作系统的基本问题。
什么是-

  1. 操作系统
  2. 捶打
  3. 爸爸异常。
  4. 页面错误。
  5. 穿线。
  6. 多重处理
  7. 线程和多处理之间的区别。
  8. 调度算法。

第四轮
著名的亚马逊酒吧提高者回合

  1. 我的实习经历。
  2. 详细讨论我的暑期实习项目。
  3. 你最喜欢的算法是什么,为什么。
  4. 你在大学里做过的最艰难的事情。
  5. 您在暑期实习期间学到了哪些领导原则。
  6. 你在实习中学到的非技术性的东西是什么。

这是一轮电话会议,持续了 34 分钟。

推荐大家从 InterviewBit, Hackerearth CodeMonk, Hackerrank,
系统设计面试问题,https://ahayraut.wordpress.com/interview-preparation-best-100/ 和 geeksforgeeks。