亚马逊实习面试经验 |在校园
第一轮:在线测试
该测试是在 AMCAT 平台上进行的。本轮为 2.5 小时,由 4 个部分组成:
调试回合:
- 这一轮包括 7 个调试问题,我们被分配了 20 分钟来解决它们。调试问题相当简单。学生可以选择他们熟悉的任何一种语言(C++、 Java、C)来尝试调试问题。对于这一轮,我建议您对编程的基础知识有充分的了解。应该知道前自增和后自增运算符的区别,各种排序算法,条件语句,以及基本数据结构的实现。
编码轮次:
我们得到了两个编码问题,这一轮总共分配了 70 分钟。有不同的问题。我的问题如下:
- 给定一个 N 叉树,每个节点都分配了一个值,返回对节点的引用,该节点在其子树及其自身中包含的所有值的平均值最高。如果您对树及其遍历有很好的了解,这是一个相当简单的问题。
- 我以自下而上的方式解决了这个问题。我创建了一个具有两个属性的类 Pair 给定节点的子树中存在的所有节点的总值,给定节点的子树中存在的总元素
- “对”类的一个对象与每个节点相关联,并被传递给父节点以进行所需的计算和计算。
- 给定一个字符串,找出可以组成的一组不同分区的数量,使得每个分区都是质数 https://www.geeksforgeeks.org/count-of-ways-to-split-a-given-number -进入主要细分市场/
- 这是一个很好的问题,因为它涉及到大量的筛选、回溯和时间优化动态规划的实现。
领导原则:
- 这一轮包括 60 个领导力问题。它由各种情境问题组成,并测试您对各种情况的反应。它还检查你的领导原则、你的整体道德价值观、你的优先事项以及你作为一个人的整体情况。每个问题都有一个滑块,您必须将滑块滑到您认为定义最佳的水平。这一轮将近20-30分钟。
资质:
- 有 24 个能力倾向问题,持续时间约为 30-40 分钟。问题相当简单。逻辑推理和基于结论的问题是我建议学生练习一点以提高速度和清晰度的一件事。
近250人参加了第一轮面试,55人入围面试。
第二轮:面试轮
这通常是一个 50-60 分钟的面试轮次。这是在 Amazon Chime 平台上拍摄的。
- 我的面试官首先做了一个简短的自我介绍,然后问我我的。在我的介绍中,我解释了我对 Web 开发领域日益增长的兴趣,所以他问了我一些关于我的项目和我使用的技术堆栈 (MERN) 的信息。
- MERN 堆栈如何解决您之前遇到的问题。
- 为什么选择 ReactJs? (协调、虚拟 DOM、Diffing 算法、可重用组件)
- ReactJs 比它的竞争框架好在哪里?
- 为什么选择 NodeJ? (单线程、非阻塞 I/O、事件循环、异步任务、基于 JavaScript)
- 单线程、非阻塞 I/O 是什么意思?
- 什么是事件循环?
- SQL 和 NoSQL 数据库之间的区别
- 为什么是 MongoDB?
- 我的项目的基本思想
- 您将如何解决 Cowin App 中遇到的问题?
在对我的项目进行了 20 分钟的长时间讨论后,他转向了 DSA 问题
- 给定一个无限字符流(不一定是字母),只要被询问,就返回流中的第一个非重复字符。我向他解释了使用 Queue 和 HashSet/HashMap 的基本方法。然而,他想要一种更优化的方法,其中输入和输出功能都在 O(1) 时间内执行。我陷入了困境,但面试官非常友好,给了我很多提示。面试官总是看你是否能够非常严格地遵循他们给你的提示。最后,我可以使用类似于 LRU 缓存的概念使用双向链表来解决它。 https://practice.geeksforgeeks.org/problems/first-non-repeating-character-in-a-stream1216/1
- 一个非常标准的广度优先搜索(BFS)问题,我得到了好的和腐烂的细胞,每个腐烂的细胞都可以在 1 个单位时间内腐烂附近的好细胞。计算腐烂所有好细胞所需的时间。 https://www.geeksforgeeks.org/minimum-time-required-so-that-all-oranges-become-rotten/
- 最后他问我是否有任何问题要问他。我向他询问了亚马逊的工作文化。亚马逊的工作与生活平衡以及反馈(如果有)(不要问这个)。
最终,25 名学生获得了亚马逊的暑期实习机会,我有幸成为其中的一员
判决:选定
尖端:
- 浏览前一年的亚马逊问题。它可以在 GeeksForGeeks 门户网站上轻松找到。
- 阅读亚马逊的领导原则。会给你很多帮助。
- 继续与面试官沟通,让他知道你的方法。询问边缘情况并保持高信心。
我要感谢 GeeksForGeeks 在我的准备过程中帮助我。所有这些问题都已经出现在 GFG 门户网站上。彻底检查它们