📜  SDE1 的亚马逊面试体验

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

SDE1 的亚马逊面试体验

线上回合:

测试模式:20MCQ 和 2 道编码问题

时间 : 1:30 小时

MCQ 基于操作系统、数据库管理系统、计算机网络、数据结构和计算机标准问题。 MCQ 处于中等水平。如果对主题有基本的了解,则可以轻松正确地完成所有问题。

编码问题:

    1. 一次反转一个长度为 k 的字符串是一个简单的问题。即输入:String=”amazoninterview”,k=5 输出:“ozamaetninweivr”
    2. 这是一个基本的图形问题。点击这里

F2F 采访:

有4轮,所有轮都是技术轮。

第1轮:

它从一般介绍开始,然后面试官告诉我面试的过程,因为会问 2 个问题,首先你必须告诉方法,并且能够编写包含空间和时间复杂度的代码。

第一个问题是计算给定范围(a,b)中设置的位数。这个问题真的很简单,我能够在时间复杂度 O(n*log(d)) 和空间复杂度 O(1) 中做到这一点。他对这个答案很满意。

第二个问题是,第一象限有一个无限网格,并且第一象限的坐标序列按特定顺序排列,一个人可以从网格中的一个点向所有 8 个方向移动。您必须按照与序列相同的顺序计算到达序列的最后一个索引坐标的最小步数。起初我解释了 BFS 方法,但他告诉我要降低时间复杂度,然后我能够在 O(n) 中做到这一点。(解释:对角线移动到中间节点,然后取曼哈顿距离)。

无限网格问题

最后,我们讨论了 10 分钟关于亚马逊的话题,这对于一个好印象来说是非常必要的。

第 2 轮:

它从我在大学里做过的介绍和项目开始,大约持续 30-40 分钟。他问的是重大项目的概况。之后他问了一个编程问题。

有3个排序数组({A1,A2,A3}),你必须计算三元组{i,j,k}的数量,使得{i,j,k}分别属于{A1,A2,A3}并且i

第三轮:

它再次从一般介绍开始。然后他问了操作系统、计算机网络和数据库管理系统的基本问题。

操作系统:有一款游戏需要 4GB RAM 内存,而我的系统需要 2GB RAM。那么系统将使用哪个概念来运行游戏。

计算机网络:如何详细处理任何 url,例如它如何找到 DNS 服务器等。

DBMS:RDBMS 应该遵循哪些属性?那么什么是规范化和非规范化以及为什么我们需要它来举例说明。

然后他问,有一棵树的节点值只有'T'和'F'。编写一个函数,它应该返回具有相同数量的“T”和“F”节点的最大子树。我能够以 O(n) 时间复杂度和 O(1) 空间复杂度做到这一点,他对答案很满意。

之后他问有一个排序数组,其中除了一个元素之外,所有元素都有一个重复的数字。编写程序以从数组中查找唯一元素。首先我告诉他 XOr 方法并检查下一个数字是否在 O(n) 方法中相等或不全部。然后我告诉他使用二进制搜索的 O(log(n)) 方法,然后他对答案感到满意。

然后,他告诉通过使用任何数据结构或更改节点结构来降低在链表中搜索的复杂性。起初我告诉他使用哈希映射,但可能存在重复数据,所以他拒绝了这种方法。然后,在我能够给出 2 种方法之后。通过使用在每次二进制搜索中维护中间元素的指针数组和使用跳过列表。

第四轮:

它从交换介绍开始。并就学院重大项目进行了详细讨论。我在白板上解释我的项目。他从我的项目中询问了很多细节或很多其他问题,例如:您现在将在项目中修改什么以及为什么?你通过这个项目在技术上和非技术上学到了什么?以及很多项目的内部细节。

然后他要求在链表循环之外找到链表中的节点数。他想知道弗洛伊德算法,问为什么它是正确的并为此给出算术表达式,然后他要求编写代码。

他再次从链表中提问。有一个链表有一个额外的指针随机指针指向链表的任何随机节点。你必须克隆链表。起初我能够以 O(n) 的空间复杂度做到这一点,但他要求 O(1) 的空间复杂度。然后我能够在不使用任何额外空间的情况下做到这一点。

尖端:

  1. 自信并与面试官讨论方法。
  2. 最后和面试官讨论公司。
  3. 从 leetcode 做一些问题。
  4. 最后但并非最不重要的一点是不要放弃尝试所有可能的问题。你最终会意识到你能够做题并仔细聆听面试官,因为他会给出很多提示。

祝一切顺利。