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

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

亚马逊面试经历 |在校园

编码轮:

  • 20 个关于 C、C++ 的 mcq 问题。
  • 2 编码题 1) 给定字符串中的中缀方程,返回表达式Ex的值。 (2+3)*5 将返回 30 2) 找到给定数组的平均中位数模

第1轮:

  1. 我得到了一个带有一些数字的数组,这些数字表示我们可以使用的硬币面额,然后我被要求找出使用可用面额进行总和,以便使用的硬币数量最少,并打印硬币的组合。 https://www.geeksforgeeks.org/find-minimum-number-of-coins-that-make-a-change/
  2. 这个问题很简单。如果两个给定字符串的编辑距离等于或小于 1,我被要求返回 true,否则返回 false。
  3. 我被要求在不使用额外空间和递归的情况下返回链表中的最后一个 Kth 节点。我给出了使用两次遍历链表的解决方案,但我被要求仅使用一次遍历来执行此操作,然后我用两个指针给了他解决方案。 https://www.geeksforgeeks.org/nth-node-from-链表的结尾/

第 2 轮:

  1. 这个问题是找到二叉树中任意两个叶子节点之间的最大距离。 https://www.geeksforgeeks.org/print-longest-leaf-leaf-path-binary-tree/
  2. 这个问题有点难。问题是有一个疯狂的科学家有各种解决方案。我得到了一个包含每个解决方案体积的数组。科学家可以混合任意两种相邻的溶液。假设两个相邻溶液的体积为 a 和 b,那么所得溶液将产生 (a*b) 的烟雾体积和 (a+b) %100 的液体。现在我被要求找到一种方法,使产生的烟雾最少。提示:使用与链乘法相同的方法。
  3. 这一轮的最后一个问题是将源字符串转换为目标字符串,以便您在任何时候都只能更改字符串的一个字母,并且结果字符串(每次更改时)必须出现在开头提供的字典中。我必须找到最小的改动次数。我给了他一个bfs方法。

第三轮:

  1. 我被要求以反向锯齿形顺序打印到二叉树的节点。
  2. 第二个问题是告诉存在的岛屿数量。 1 代表土地,而 0 代表给定矩阵中的水。相邻的 1 属于单个岛屿。 https://www.geeksforgeeks.org/find-number-of-islands/
  3. 之后他们询问了一个嵌套的 sql 查询。然后询问了 dbms 中的连接类型(内部和外部)。

第 4 轮(抬杠):

  1. 我得到了两个字符串,一个只包含字母,另一个包含字母,点(。)和星(*)。点表示任意一个字符,星号可以表示任意数量的字母,包括 0。我必须检查两个字符串是否匹配。
  2. 最后我们聊了聊我的项目,他问我实习期间做了什么,遇到了哪些挑战。
  3. 然后他问了一些关于操作系统的问题,包括需求分页和抖动。

而且,我被选中了。