📜  亚马逊面试体验SDE-1

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

亚马逊面试体验SDE-1

第 1 轮:基于笔纸的 DSA 轮。

我被要求解决两个问题。重点是编写一个完整的生产就绪优化代码来管理所有边缘情况。不允许您编写伪代码:

  1. 在给定大小的组中反转链接列表
  2. 以最低成本连接 n 根绳索

HR 给我的反馈是,面试官对我编写的管理所有案例的干净和优化的代码印象深刻。

第 2 轮:F2F – 基于笔纸的 DSA 轮。

面试官做了自我介绍,让我介绍一下自己。然后我们直接跳入了问题。重点是一样的。不允许使用伪代码。被要求以管理所有测试用例的首选语言编写完整的生产就绪代码。

  1. 捕获雨水
  2. 二叉树的边界遍历

第 3 轮:F2F – 基于笔纸的 DSA 轮。

面试小组里有两个人。他们每个人都做了自我介绍,每个人都问了我一个问题。编写完整的代码。不允许使用伪代码。

  1. 管道问题中的水滴。我们讨论了不同的案例。我给出了一个基于堆栈和数学的解决方案。
  2. 最小糖果分配问题。我提供了一种方法,但无法在给定时间内正确编写整个解决方案。面试官要求我停下来,因为他们的时间不多了。

第 4 轮:F2F – 基于笔纸的 DSA 轮。

面试官做了自我介绍,直接问问题。他强调了同样的事情,他正在寻找生产就绪的完整代码。这一轮只问了一个问题。很多关于优化解决方案的讨论花了很多时间。

  1. 以首先打印叶子的方式打印二叉树的节点。当您在树中打印当前的叶子时,这些叶子将被删除,这可能会产生新的叶子。在第一轮叶子删除后,您必须打印由于先前删除而创建的新叶子集。现在打印这些叶子并删除它们,这将产生新的叶子。再次打印这些较新的叶子并继续,直到您处理整个树。

解决这个问题所需的复杂度是 O(n)。我使用多次递归给出了 O(n^2) 解决方案,但随后能够将其优化为 O(n)。在给出方法之后,我被要求编写相同的工作代码。

第 5 轮:F2F - 计算机科学基础。

我被要求回答有关计算机网络、操作系统、DBMS、NoSQL、内存缓存、CDN(内容交付网络)及其用例的问题。没有什么花哨。如果你在大学里学过这些科目,你可以很容易地回答这些问题。有些问题是基于我研究过的技术。

第 6 轮:F2F – 工程/招聘经理轮。

在简要介绍之后,面试官根据我在组织中完成的项目开始提问。

  • 他让我画出项目的整个流程(HLD),并解释我们拥有的每个微服务。我向他解释了端到端架构和流程以及我们使用某些技术的原因。
  • 我向他解释了我们如何使用他不知道的 NGNIX SSD 缓存功能。
  • 我向他解释了我在项目中的贡献。
  • 谁做出了各种设计决策和技术堆栈决策以及原因。
  • 当您选择使用某种技术时,说服团队有多难。
  • 我认为重点还在于数字,或者更确切地说是我在项目中的参与程度。我被问到 QPS、响应时间、正在使用的 http 请求类型、正在运行的微服务实例的数量等。幸运的是,由于我密切参与了我的项目架构,我能够回答几乎所有问题.

这些是我能回忆起的一些讨论要点。

第 7 轮:视频会议 – 标准提升轮。

简单介绍后,面试官告诉我,我需要根据我在现在单位的经验来回答这个问题。重点似乎是回答 STAR 方法中的问题。

  • 他让我描述我在项目中面临的最具挑战性的技术问题,以及我是如何解决它/仍在努力解决它的,这使团队受益或将受益。这是你面临的最困难和最有价值的挑战吗?我们对此进行了进一步的讨论。

然后他让我在屏幕共享的 Word 文档中编写生产就绪代码。我被要求管理所有案例和子案例。

  1. 双循环链表中的排序插入节点。

两周后,我被告知我是他们的雇员!