第 1 轮(45 分钟)
当前项目的简要描述:架构、技术、工作流程等。
- 一个二维数组问题(记不清了),但我必须总结给定约束的值:他要求从基本方法开始,所以我给出了 O(n^4) 时间复杂度解决方案,然后他要求即兴创作,经过一些锻炼后我提出了 O(n^2) 时间和 O(n^2) 空间复杂度的解决方案。他要求进行更多优化(避免额外空间),但在给定的时间内,如果没有额外空间,我无法找到解决方案。
- 找出给定二叉树中奇数级值的总和与偶数级值的总和之间的差异:我解释了该方法,然后他让我用递归和非递归方法编写代码。
解决方案:GeeksforGeeks 链接
第 2 轮(50 分钟)
- Tapping Rain Water problem:我不知道经典的解决方案,但我想出了我自己的方法,效果很好。
解决方案:GeeksforGeeks 链接
- 一个全为 1 和 0 的二维数组,其中 1 是陆地,0 是水,矩阵本身被水包围,即 0。我给了他 O(n^2) 时间和 O(n^2) 空间复杂度的解决方案,他接受了。
他问了一些问题,比如你过去做过的最具挑战性的任务,我向他解释了我之前实现的用于跟踪代码异常的中间件。
第三轮(书面)
几天后我被叫到亚马逊办公室(非常好的办公室)
- 树遍历的几种方式。
- 几线阵问题
我相信这一轮只是为了热身。
第 4 轮(45 分钟)
当前项目简述:这次他更专注于技术和工具。他深入询问了我提到的每一项技术。
- 给定二叉树的顶视图。
解决方案:GeeksforGeeks 链接 - 给出了一个 html 格式字符串,我必须在其中找到给定查询的输出。
前任。Pratik
查询类似于:GET name,因此输出将是 Pratik。 (类似的东西)
第 5 轮(经理)
- 经过一些正式讨论后,他提出了他的问题“国际象棋游戏的设计模式”,我为此编写了很少的课程并解释了游戏的方法,例如点对点和客户端-服务器,但他并不满意。这一轮并不顺利。
我没能成功,但这是一次非常好的经历,所有面试官都非常友好和乐于助人。
亚马逊的所有练习题!