亚马逊面试经历 |设置 280(校外)
亚马逊班加罗尔在德里的招聘活动。首先是编写的编程测试,我们需要编写完整的工作代码,没有一个错误。伙计们请更多地关注书面,有时我们不会认真对待,编写的代码有很多错误。
书面回合:
为所有问题编写最优化的解决方案。
1. 检查链表是否为回文。
2. 在行和列排序矩阵中搜索元素。
3. 我们需要从 A 翻转得到 B 的位数。
如果您在 geeksforgeeks 上练习了一段时间,问题很容易解决,但主要部分是使用最优化的解决方案编写干净且无错误的代码。
F2F – 1
清除书面回合后,我参加了第一轮 F2F 回合。
1. 有一个类有私有数组列表,这个数组列表在这个类的构造函数中初始化。
我们有一个公共方法getItem(int i) {“返回数组列表的第i项”},我们需要知道数组列表的大小。我们只能调用 getItem 方法。
https://ideone.com/VaE0QL
请检查上面的代码以获取更多详细信息。
2. 搜索 BST 中的元素。
3. 给定一组任意顺序的时间间隔,打印所有重叠的时间间隔对。
4. 我大学的项目是RTOS(Real Time OS),面试官在大学的时候也做过同样的项目,所以我们就项目进行了很多讨论。
他印象非常深刻。
F2F-2
这是 F2F 第 2 轮,我无法为第一个问题提供优化的方法。
1.给定一个字符串,他让我在给定的字符串中找到最长的重复子字符串。
2. 给定一个没有障碍物的 mXn 矩阵,我们可以向右或向下移动。计算从左上角单元格到右下角的路径数。
我给出了复杂度为 2^n 的递归解决方案,然后使用记忆优化了解决方案。
3. 创建给定数字 5 = { {4, 1}, {3, 2}, {3, 1, 1} ...的所有唯一分区的排序列表。 }
这一轮不顺利,我在祈祷 L 终于 HR 来了,说你这一轮表现不好,所以你将有一个技术轮,我说“好的,没问题”。
F2F – 3
最后一天的最后一轮,我知道我必须表现出色,否则我没有机会。
1. 给你一个字典和一个字符串。您需要检查字符串是否有效(存在于给定字典中),如果它无效,则对字符串执行三个操作(插入、删除、替换)之一并获取有效字符串。我们需要找到另一个与这个字符串有一个编辑距离的字符串。
面试官问我用于实现 Dictionary 的数据结构。我建议用 Trie 作为字典。经过一番讨论,他让我为在 Trie 中的插入和上述问题编写代码。编辑距离
2.如何实现Trie。空间优化版。
这是第一个问题的一部分,当我们在某种语言中有 500-600 个字符时,我们讨论了 trie 的空间。我建议使用 HashMap 而不是在 Trie 中使用静态数组。然后他让我写结构和Insert方法。
3.最大和树。每个节点都有它的值加上左右子树和的最大值。
预期时间复杂度 O(N)。
在这一轮之后,人力资源部让我离开一天,我将再进行一轮技术轮次和一轮招聘经理轮次。
我很高兴我完成了所有的回合。
4. 在给定矩阵中找到最大和矩形。
F2F – 4(技术加行为)
1. 找出数组中先增后减的最大元素。
2. 项目讨论。
3. 任何你不负责任的行为。(在技术部分)
4. 任何你的经理真正欣赏你的工作的情况。
与招聘经理的电话会议。
这是我的最后一轮流程,是与招聘经理一起进行的。
1. 说说你自己。
2. 您在当前公司的日常工作。
3.讨论任何项目。
4. 与您的经理有任何分歧。
5. 为什么选择亚马逊?你为什么要离开现在的公司?
伙计们努力准备行为问题,这些问题被要求了解这个人。
然后是 2 个简单的编程问题,但测量部分还是代码和我们解释解决方案的方式。
1. 检查字符串是否为回文。
2.计算字符串中的单词个数。
他让我为这两个问题编写测试用例。