📜  亚马逊面试经历 |设置 288(校内)

📅  最后修改于: 2022-05-13 01:58:32.389000             🧑  作者: Mango

亚马逊面试经历 |设置 288(校内)

亚马逊参观了我们的校园参加 SDE-1。面试过程从一轮在线编码开始,然后是 4 次面对面面试。所有的面试轮次都是从我的简要介绍开始的。

线上回合:
一场黑客竞赛,有 22 个问题,包括 2 个编码问题和 20 个关于操作系统、DBMS、网络和 C/C++ 的 MCQ。

编码问题:

1. 给定一个只有元素 '#' 和 '.' 的二维数组. '#' 代表樱桃,'.'代表什么。你能把数组分成两半,樱桃相等吗?您只能水平或垂直地进行一次切割。

2. 大小为 k 的滑动窗口。找到每个窗口的最大值。(不需要优化,蛮力被接受)。

F2F 1(1 小时 20 分钟,技术):
1. 在有序数组中查找数字的下限。需要生产代码。

2. 给定一个数字 k ,找出没有。使用从 1 到 k-1 的数字之和来制作这个数字的方法。约束:您不能在组合中多次使用相同的数字(例如:k=6,{1,1,4} 不能在解决方案中考虑)并且组合的所有排列都算作一种方式(例如:如果 k= 6,则 (1,2,3) 的所有排列仅计为一种方式)。 (解决方案:递归,DP)

F2F 2(40 分钟,导演 + 技术):
1. 给定一个 API:- bool isValidWord(字符串) 和一个句子列表。对于句子中的每个单词,您必须打印该单词中所有有效的子字符串和反转子字符串(字符串的有效性由上述 API 检查)。

2. 蛋滴拼图的讨论。

3. 当您在浏览器中键入 www.amazon.com 时会发生什么。


F2F 3(1小时,技术):

1. 给定一个链表,编写一个函数来反转每个交替的 k 个节点。需要处理所有的角落案例。

2. 给定数百万个排序列表和一个可以一次在无限线程上工作的上帝处理器,考虑到这种处理器提供的优势,使用给定列表的所有元素制作一个排序列表。

(我的做法1:使用Priority Queue,但他说一次只能有一个线程使用PQ。

我的方法2:使用类似于合并排序的技术)。

F2F 4(1 小时 20 分钟,技术):
1. 给定一个机器人,它位于数轴上的 Origin 和一个包含“L”、“R”或“?”的字符串。 “L”表示左转,“R”表示右转。 “?”可以假定为“L”或“R”。找出机器人在任何时间点可以从原点出发的最大距离。 (我的方法1:回溯,2:回溯+记忆,3:使用两个变量)

2.讨论用于字典的数据结构,哈希表与特里,哈希表中的冲突处理。

打印字典中存在的给定字符串的所有子字符串。然后他要求优化解决方案。然后我使用类似于 Rabin-Karp algo + Hashing 的技术,假设碰撞不是问题。面试官对这个解决方案很满意。不需要代码。

面试技巧:面试官不想要最优化的解决方案。他们会看到你如何处理问题,如果遇到困难,请与面试官互动,不要直接跳到代码上,大声思考并保持自信。

非常感谢 GeeksforGeeks 和其他在线评委。

亚马逊的所有练习题!