📜  亚马逊面试经历 |设置 142(SDE-1 校外)

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

亚马逊面试经历 |设置 142(SDE-1 校外)

第一轮:电话
Q1。实现扫雷的一些功能,如连接组件搜索和游戏终止检查等。

Q2。链表随机指针问题:克隆带有下一个和随机指针的链表

Q3。给定一个由 0 和 1 组成的矩阵,找出包含最大数量 1 的行。

Q4。给定二叉树中的一个节点,找出距离它为 K 的所有节点。还给出了根节点。

第二天,我接到了现场面试的电话。

第 2轮:SDE 现场轮 – 1
Q1。给定大量不同大小的空箱子,我们需要为给定物品找到最合适的箱子并分配它。需要为这个场景设计一个数据结构。涉及的操作:

  1. 插入一个板条箱
  2. 搜索最合适的箱子
  3. 分配后删除箱子。

例如,有 3 个重量为 10、20 和 30 的板条箱。出现一个大小为 15 的项目,然后我们将分配大小为 20 的箱子并将其删除。

溶胶。使用二叉搜索树(使用红黑标准或任何标准进行平衡)并实现 ceil函数。

所有操作都是 O (log(n))。

Q2。针对亚马逊有很多箱子但搜索操作非常少的周末优化上述数据结构。

Q3。给定一个函数boolisValidWord(字符串 str),您需要检查一个字符串是否是正确的字符串。例如 iloveicecream 是有效的:我喜欢冰淇淋。

第三轮:其他团队的经理
对项目进行深入讨论。
在一个项目中,我使用了 EC2 服务,所以他问了我很多细节以及为什么我更喜欢 EC2 而不是其他可能的选项。

买卖股票问题。

连接同一级别的节点
关于虚拟内存的一般讨论。

第 4 轮: 2 个 SDE-1
Q1。给定 1 和 0 的矩阵,其中 0 是水,1 是陆地。找出岛屿的数量。

Q2。给出上述问题中所有岛屿的大小。

Q3。所有大小为 k 的子数组的最大值

第 5 轮:开发经理,6 年经验。 (可能是提高标准我仍然不确定:P)

Q1。我们开始讨论非常普遍的问题,我们有很长的字符流,我们需要从该流中提取所有模式。可以有整数、分数、单词或任何东西。

我解释了编译器设计的词法分析阶段使用的整个过程,我们给出正则表达式,最后将它们转换为 NFA,最后转换为单个 DFA。

然后讨论了我们将如何从头开始实施这个系统。

有许多算法可以将正则表达式转换为 NFA,最后是 DFA,还有一些关于自然语言处理的一般性讨论。

http://algs4.cs.princeton.edu/54regexp/

Q2。给定 M 个大小为 N 的排序链表,我们需要将它们合并为大小为 M x N 的单个链表,而不使用额外的空间。
第二天我接到电话,他们想为我提供 SDE-1 配置文件的报价。

重要提示:

  1. 彻底准备数据结构。
  2. 效率较低的解决方案比没有解决方案要好得多。
  3. 采用增量方法解决问题。
亚马逊的所有练习题!