亚马逊面试体验SDE1 |校外
第 1 轮:在线编码 + MCQ
MCQ 由数据结构、算法、C/C++ 片段的代码输出(指针)组成。
编码问题:
- 计算数字的阶乘中的尾随零
- 查找给定中序和水平序遍历的二叉树的最小高度
第 2 轮:F2F 问题解决
最初,面试官询问当前的工作角色和介绍,然后开始编码问题。这一轮,他们问了两个问题
- 找到数字的平方根,精度高达 3
- 使用栈设计队列
第 3 轮:F2F 问题解决
在这一轮中,面试官还问了两个编码问题。对于第二个问题,他给出了一些用例并进行了详尽的解释,并要求编写可用于生产的代码和Java的一些技术问题,因为我在简历中提到了Java
- 使用下一个和随机指针克隆链接列表
- 最小堆树
- 什么是多态性,
- 解释函数重载和覆盖的真实案例
- 什么是虚拟析构函数和私有构造函数
第 4 轮:Amazon Chime 应用上的视频通话
面试官让我自我介绍,并向他简要介绍我的工作角色和贡献。他就我正在从事的公司项目提出了一些问题。后来他开始了一些一般性的问题,例如:
- 你为什么要换工作?
- 为什么只有亚马逊?
- 您带头或向您的主管或经理提出想法的任何事情
他分享了一个实时屏幕来编写代码。他让我先解释方法和时间和空间复杂度
编码问题:
- 查找流中每个元素的排名。 https://www.geeksforgeeks.org/rank-element-stream/
我向他解释了使用插入排序,但由于其时间复杂度最差,他要求以其他方式思考。他帮助我使用二叉搜索树编写代码,并且编码过程顺利。
第 5 轮:酒吧提升者
在这一轮中,面试官根据我们过去的工作检查了技术强度和能力是否足以处理任何类型的具有挑战性的任务。他问了一些一般性的问题,例如:
- 你为什么要换工作?
- 他看到我的简历问了一些问题
- 您解决了任何关键问题吗?如果是,那么您的方法、解决方案和影响如何
- 他问了很多与我使用Java和Selenium创建的自动化框架相关的问题
他要求在实时共享屏幕上解决一个代码。首先,他要求告诉他方法以及时间和空间复杂度以及您更喜欢哪种数据结构。
编码问题:
- Boggle(在字符板上查找所有可能的单词)https://www.geeksforgeeks.org/boggle-find-possible-words-board-characters/
我向他解释并使用 BFS 编写代码。虽然,这不是最好的解决方案,但他深信不疑。
结果:运气不好没有被选中。这是我在亚马逊的第一次面试经历。虽然,第一次尝试没有被选中,但为以后的面试获得了足够的信心。
提示:只在简历中提及那些你能很好解释的东西。准备好数据结构和算法以及来自您工作领域的技术问题。