📜  2020 年 SDE-1(全职推荐)的亚马逊面试体验

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

2020 年 SDE-1(全职推荐)的亚马逊面试体验

嗨极客!想和大家分享一下我的面试经历。

在这个大流行期间,亚马逊的采访都是通过 Chime(视频会议和在线会议应用程序)进行的

第一轮:(在线评估轮)

Q1) 字符串的最大化分区,使得字符串的每个字符出现在一个子字符串中

Q2) 长度为 K 且恰好具有 K 个不同字符的子串的计数——我在 geeksforgeeks 中链接了一个类似的问题。

过了将近 3 周的时间,我才接到亚马逊关于本轮线上面试流程的电话。

所以要有耐心,继续准备。

第 2 轮:(技术面试第 1 轮)

这是一个编码回合,由两个编码问题组成。在开始实际编码之前,我被要求讨论我的方法并分析时间复杂度。

Q1) 在包含另一个字符串的所有字符的字符串中找到最小的窗口 – 我能够提出 O( S + T) 解决方案,其中 S 和 T 是字符串的长度

Q2) 删除最小数量的括号以使输入字符串有效

第三轮:(技术面试第二轮)

Q1) 查找与给定值最接近的 k 个元素——给定数组未排序

排序后我想到了二进制搜索解决方案,但被要求使用 apt 数据结构。

后来我用堆解释了我的解决方案。

Q2)给定输入字符串2(a3(bc)) 输出应该是 abcbcbcabcbcbc

解决方案是使用堆栈

第四轮:(招聘经理轮)

关于我的项目的很多问题以及后续问题。

我被要求为一副牌设计课程,这些课程具有洗牌和移交等功能。

讨论了序列化和反序列化二叉树等等

第 5 轮:(提高标准轮)

Q1) Bubble shooter:给定一个颜色矩阵 [['r','g','b'],['o','g','g']] 和一个目标数组 ['g','r ']

从目标阵列中取出每个气泡,并尝试从底部视图中炸开矩阵中相同颜色的气泡。

如果能够击中一个气泡,则该气泡依次击中相邻的相同颜色的气泡(4 方向)。

爆破气泡使该点透明,并且可以从底视图查看内部气泡。

如果一种目标颜色无法击中矩阵,则游戏结束 - 应返回破裂气泡的计数。

我被要求提供一个优化的解决方案——主要用于检查底部视图

我使用哈希来跟踪每列的活动行。每当泡沫破裂时,活动行就是它下面的行。

所以每列的底视图是 matrix[active_row[col]][col]

Q2) 紧接数组中的下一个较大元素。

我被要求提供 0(N) 解决方案——在我的方法中使用了单调的堆栈

有一个跟进——在没有额外遍历或额外空间的情况下找到 Immediate left large element

我也能回答

在这些之后,有很多与行为和项目相关的问题。他们之中有一些是

1)您从事的具有挑战性的项目是什么? – 要求详细解释实施、模式讨论等。

2) 项目总数和规模。

3) 您处理过的任何客户票证。

4)询问KMP算法和Segment tree。

5)解释一下你有一个紧迫的截止日期的时间。

6) 解释您提出任何想法或自动化的时间。

结果:选择

面试前:-

我想分享一下我的准备过程。选择您喜欢的任何编程语言,并在 geeksforgeeks 或类似网站中不断解决大量问题,以获得解决问题的想法。在解决问题时,我的模式是一一涵盖数据结构,了解它的最佳/平均/最坏情况时间复杂度。当您在代码中使用 STL 时,请确保您清楚它的时间复杂度。我曾经在其他极客的各种思考过程下提交我的方法后,在讨论板和解决方案面板上花费了一些时间,并学到了很多东西。

面试时:-

 面试官希望得到最优化的解决方案,并为每个问题正确使用合适的数据结构和算法,并全面实施。每当你受到打击时,面试官会帮助你,只是保持大声思考。在跳入解决方案之前,请正确理解问题并避免对问题陈述的任何假设,通过向面试官询问尽可能多的问题来弄清楚它们。考虑所有可能的边缘/角落情况。与面试官讨论您的解决方案并解释您正在处理的案例。使用示例输入粗略地了解您的方法会很好。

祝一切顺利 !