亚马逊采访|第54集(SDE-1校外)

这是亚马逊通常的面试过程:1次笔试、1次电话面试和4次f2f面试。 有时他们只需要高效的算法,有时只需要简洁高效的生产级代码。大多数情况下,算法和代码都会被问及每个问题。 面试官非常友好。在第一次f2f面试中,我非常紧张,在回答第一个问题时结结巴巴,面试官告诉我不要担心,要花多少时间就花多少时间。一段时间后,他的表情让我平静下来,我能够轻松地解决这个问题。 本文最后给出了一些问题的解决方案。

null

笔试(问题与Set-53亚马逊面试经历相同): 1 给定2个字符串,找出第2个是否是第1个的子字符串。 (如果你能用KMP解决,那就太好了) 2. 给定两个矩形,找出它们是否重叠 . 三。 给出各种价值的硬币列表(每种类型的硬币数量不限),找出你可以通过多少种方式获得给定的价值。 (DP是预期的。)由于不能保证价值为1的硬币会出现,如果给定的价值不可能,我们必须返回-1。

电话采访: 1. 你会得到一个整数数组。必须在数组中找到索引,其中(左元素之和)=(右元素之和)。 元素本身被排除在外。 2. 从无序的DLL中删除节点 .Algo很简单。需要编写清晰简洁的代码。 3. 树的之字形穿越。 他问我是否知道这个问题。我答应了,我们接着问另一个问题。 4. 您将获得一个整数数组(正整数和负整数)。你必须找出其中是否存在任何和为零的数字序列。 如果有任何打印,则开始索引else print-1。 例如:123-14-32是数组,序列是-14-3,它返回的和为零。 代码和算法都是必需的。

F2F访谈1: 1.查找字符串中最长的偶数长度回文子字符串。 2.面试官问我知道哪些数据结构。我告诉了他很多。他选择了HashMap,并问了很多关于它的详细问题。

F2F访谈2: -告诉我你自己和你目前正在做的工作。 1.写幂函数。2^3=8。尽可能地优化它。易于理解的 2. 二叉树中最长的路径。

F2F访谈3: -告诉我你自己,你的工作,优点和缺点,你在当前工作中面临的挑战,为什么选择亚马逊。 1.我记不清了,但可能是:从无序循环链接列表中删除一个值为K的节点。Algo是直截了当的。需要生产级工作代码。 2.为两人国际象棋游戏进行OO设计。 3.你有一些软件包,你必须决定它们的构建顺序。 包应该在依赖它的包之前构建。 例如A={B,C},B={D},C={},D={E},E={},F={} 所以包“A”的一个可能的构建顺序是E,D,B,C,A。 您必须编写一个函数,该函数将采用包名并返回其构建顺序。您有一个API,它将返回调用包所依赖的包列表。例如,当您调用API并将参数作为包a提供时,API将在列表中返回B和C。

F2F访谈4: -告诉我你的工作和面临的挑战。 1. 您将看到一个二叉树,其中每个节点都有左、右和下一个指针。下一个指针最初为空。必须修改树,使每个节点的下一个指针指向同一级别上的下一个节点。 O(1)需要编写空间复杂度代码。

如。

      1                                     1      2       3              ======>   2----------------->3    4  5        6                    4-->5----------------->6  

答案: 电话采访: 1.它可以是一个递归过程。 例如,对于7314156。我可以编写一个类似“public int getEqualSumIndex(int index,int left_sum)”的过程 我可以这样递归地调用它:int right_sum=getEqualSumIndex(index++,left_sum+arr[index]) 可以有这样的返回和:right_sum+arr[index]; 我可以这样比较总和:left_sum==right_sum 代码很容易编写。 4.我想出了这个算法:从左开始,通过添加当前元素得到sum_,直到现在。将sum_till_now和当前索引存储在HashMap中。 如果一个和数值被重复,那么数组中必须有一个序列给出和零。(重复和值的对应索引)+1将是序列开始的索引,相加为零。

F2F 1: 1.最初我认为这是一个DP问题,因为它与“最长回文子串”问题相似,并试图修改DP解决方案。但由于这是一个O(n^2)空间复杂度的解决方案,我被告知要在O(1)空间中进行。过了一段时间,我想出了一个简单的迭代解。在字符串中找到两个相同的字符,然后尽可能地将其左右展开。这是一个O(n^2)时间解。我也编了同样的代码。

F2F 2: 2. 二叉树的直径

F2F 3: 3.如果你能把它和一个图联系起来,它实际上就是拓扑排序。虽然当时我不记得排序的名称,但我向他解释了这个概念,以及如何修改DFS以获得构建顺序。我也编了同样的代码。他后来告诉我阿尔戈的名字。 拓扑排序

两天后我接到电话说我被选中了。

向作者表示祝贺。如果你喜欢GeekSforgeks,并且想贡献自己的力量,你也可以写一篇文章,然后把你的文章邮寄给评论-team@geeksforgeeks.org.看到你的文章出现在Geeksforgeks主页上,并帮助其他极客。

© 版权声明
THE END
喜欢就支持一下吧
点赞14 分享