Amazon Chennai 最近于 9 月 28 日在德里为 SDE 1 和 SDE 2 进行了驱动
最初有一个书面回合,我们被要求为某些问题编写算法。问题属于中等水平。总共有3个问题:
问题 1:检查给定链表是否为回文
问题 2:在已排序的二进制矩阵中查找 1 个数最多的行
问题 3:通配符模式匹配
第 1 轮(F2F):
- 给定一棵二叉树,求树奇数层和偶数层所有元素之和之差。树的水平被认为是对角线。 (预期空间复杂度 O(1),时间复杂度 O(n)。
- 这是一个标准的 DP 问题,我们必须找到从左上角开始到达矩阵最后一行的最大可能总和,并且只有可能的移动是向下和向右对角移动。
然后他问了我一些行为问题。
第二轮(F2F):
- 二叉树中的最大和路径
- 他通过构建一个故事来开始这个问题,就像我们在 codechef 上找到的每个问题一样,但结果证明它是 DP 问题(断字问题)之一。我告诉他我使用 Trie 的方法,它也适用于一些测试用例,但无法使用 DP 提供有效的解决方案。我以前从未见过这个问题,但后来知道这是要问的常见问题之一。
第 3 轮(F2F 招聘经理):
他是进行此次招聘活动的团队的高级经理之一。首先,他让我自我介绍,然后他根据亚马逊原则问了许多行为问题。
那天只进行了3轮,HR告诉我下一轮将通过视频会议进行。
第 4 轮(提高门槛):
这一轮是在两周后进行的,面试官是一位在亚马逊自己有 10 多年经验的高级经理。他从我的介绍开始,然后根据亚马逊原则提出行为问题,例如:
- 告诉我你在团队之外做某事时的情况
- 如果明天有一个产品发布,而你知道产品中有很多 bug 至少需要两周的时间,你会怎么做?
- 你做过的最好的项目。
他还向操作系统询问了一些关于调度算法、竞争条件、互斥锁和信号量如何工作以及实际实现、数据如何保存在磁盘上的问题。
他也想问关于设计模式的问题,但我回答说我对此知之甚少。
最后,我被要求解决一个算法问题,给出一个没有标点符号的单词和空格的文本文件,我们需要压缩这个文件以减少文件的实际大小。
两周后,我接到人力资源部的电话,说我已入围该职位。
判决:选择
注意:在每个阶段,您都需要在纸上或白板上以最小的时间复杂度编写干净、简单和高效的代码。即使您不确定自己的解决方案,也要告诉面试官您的思考过程和方法,因为有时他们不只是在寻找确切的解决方案,而是根据您的思考能力和您如何看待问题本身来判断您。