📜  亚马逊面试经历|设置 305(在校实习)

📅  最后修改于: 2021-11-10 06:45:40             🧑  作者: Mango

资格标准: CGPA >=7.5(无欠款历史)

第 1 轮:技术测试(1 小时 30 分钟)

在 HackerRank 上举行的在线测试,其中包括 20 多选的 和2个编码问题。

  • 编码问题 1:找到具有相同数字集的下一个更大的数字
  • 编码问题 2:合并两个具有 O(1) 额外空间的排序数组

MCQ的

它们非常简单直接。 5 道题来自概率、排列和组合等一般能力。其余问题来自数据结构、算法和 C 和 C++ 输出问题。阅读GeekQuiz对我帮助很大。

大约 300 名学生参加了考试,其中 21 人入围。我也是其中之一。第二天我们接受了采访。

面对面面试 1(~1 小时)

面试官让我做自我介绍。我介绍完后,他就直接问问题了。

问题 1:检查二叉树是否为 BST 的程序

给定一棵二叉树,我们需要检查它是否是一棵二叉搜索树。他写了以下函数

bool isBST(Node *root)

我问他是否可以修改函数模板以包含最小值和最大值。他说我可以修改函数模板。所以我按照描述给出了我的方法。在查看了解决方案后,他让我用一个例子来解释它。我画了一棵小树,向他解释。他很满意,我们继续下一个问题。

问题 2:使没有两个元素相邻的最大和

给定一个由正数和负数组成的数组,找到数组中没有两个元素相邻的最大和。

他一提出问题,我就说这是一个动态规划问题。他让我写代码。我使用大小为 n(数组大小)的 dp 数组编写了代码,并给出了自上而下的方法。他彻底检查了我的代码是否可以处理所有角落测试用例。他让我为大小为 1 和 2 的数组运行代码。我向他解释了。他很满意,我们继续下一个问题。

问题 3:在字符矩阵中找到给定的单词。

给定一个 NxM 矩阵和字符串s,检查字符串是否是矩阵的一部分。我们可以从给定的单元格移动到顶部、左侧和底部。

最初在提出问题后,我说我们应该使用深度优先搜索。但是他给了我一个不起作用的案例,并要求我修改方法。我说BFS,他让我写代码。我通过处理所有边缘条件来编写代码。但是我错过了访问过的数组部分。他阅读了我的代码并给了我一个案例,它会陷入无限循环。现在,我发现了缺少的内容,并说我必须包含访问过的数组。他很满意,让我把那部分添加到代码中。

之后,采访就结束了。他问我有没有什么问题要问他。我问了他几个问题,我们就完成了。

在 21 名学生中,有 12 名学生被选中进行第二次面试。幸运的是,我也被选中了。

面对面面试 2(~1 小时)

面试官看了我的简历,让我做自我介绍。在我介绍完之后,他就开始提问了。

问题 1:计算给定数字序列的可能解码

让1代表’A’,2代表’B’等。给定一个数字序列,计算给定数字序列可能的解码次数。问题可以在这里找到

我使用动态规划给出了我的方法。他让我降低空间复杂度。我给出了一个方法,比如找到第 n 个斐波那契数。他很满意。然后,他让我生成所有可能的解码,而不是计算它们。我使用回溯法给出了我的方法,他很满意。

问题 2:确定下国际象棋游戏所需的课程。

这就像一个普遍的问题。我说了四个类,比如棋子、棋盘、时钟、播放器和游戏。他让我确定每个类的属性和功能,以及它们如何相互交互。我告诉了他们。他很满意。

最后,他问我有没有什么问题要问他。我问了他几个问题,我们就完成了。

这就是采访的全部内容。

一般提示:

与面试官交谈时不要紧张。而且不要想太久。说出您的想法,以便在您出错时他们可以提供帮助。从 GeeksforGeeks 做准备有很大帮助。

祝你好运!

如果您喜欢 GeeksforGeeks 并愿意做出贡献,您也可以写一篇文章并将您的文章邮寄到 review-team@geeksforgeeks.org。在 GeeksforGeeks 主页上查看您的文章并帮助其他 Geeks。

亚马逊的所有练习题!