亚马逊要求对海得拉巴校区进行面试。
第 1 轮:这是电话会议,我被要求在通话期间对共享文档进行编码。面试官很友好,中间会给出提示。
问的问题是:
- 找出数组中最长的连续和。 (Kadane 的算法)
- 您将如何找到链表中是否存在循环并扩展以找到其起点以及数学证明。
第 2 轮:一周后,他们要求在海得拉巴校区进行面对面的面试。有两个技术回合。在第一轮技术回合中提出的问题是:
- 给定一个数组,其中数组中的相邻元素相差 +1 或 -1。编写一个程序来搜索数组中的给定数字。我用 O(n) 解决方案回答,他让我进一步优化。
- 给定一个数,编写一个程序来求一个数的平方根。我提供了 O(logn) 解决方案。
第三轮:继续上一轮,他们进行了下一轮由两个问题组成的技术轮。
- 通过优化和其他操作在二叉搜索树中查找第 k 个最大元素。
- 给出数组中管道的长度。考虑到连接两个管道的成本等于它们的长度之和的约束,找出连接这些管道以形成单个管道的最小成本。
第 4 轮:这是 HR 轮,项目经理向我介绍了如果被选中我将加入的团队,大约 10 分钟,然后转向行为问题。最好在这里说实话,因为他们会仔细研究你所说的每一个细节。这一轮持续了近 1 小时,主要由标准的人力资源问题组成。也有一些关于我的项目的讨论。
第 5 轮:这是 CS 基础轮,混合了一些 HR 问题和 2 个基本编码问题。他们询问了指针、堆内存分配、悬空指针、操作系统分页。中间也几乎没有行为问题。这里问的编码问题并不难,看起来很正式。
判决:被选中。
我感谢 geeksforgeeks 为所有计算机极客提供了一个平台,并让他们意识到很多他们必须知道的事情。
提示:
- 养成把代码写在纸上的习惯。
- 彻底了解 DS 和 Algo。
- 确保您至少了解除 DS 和 Algo 之外的一门面试知识。
- 多练习。它让你在面试时感到舒服。