📜  亚马逊面试体验|设置350(对于SDE I)

📅  最后修改于: 2021-05-24 21:45:35             🧑  作者: Mango

第一回合(编码回合+ MCQ):
平台:Hackerearth

  1. 最多0个翻转子数组
  2. 查找参观所有车站的游览

    测试用例非常薄弱,任何蛮力解决方案都被接受了。

基于OS,DBMS的20个MCQ。这些问题与Geeksquiz上的问题非常相似。

第二轮(电话采访1,持续时间-1小时):

  1. 从k个列表中查找包含元素的最小范围/
  2. BST上的删除操作。

第三轮(电话采访2,时长– 35分钟):

  1. 使用链表添加两个多项式
  2. 二进制搜索树中的有序后继

在这一轮之后,我被邀请到亚马逊班加罗尔办公室进行现场采访。

第四回合:(F2F,时长– 45分钟)

  1. 相对排序
    使用结合了归类排序的自定义比较函数可以轻松解决此问题,我稍后会解决这个问题。我基于2个哈希图提出了另一种解决方案。时间复杂度为O(n log n)。我的方法有点复杂且冗长,因此面试官没有要求我对此进行编码。
  2. 反向链接列表。

他要求我让我的代码空运行并检查所有极端情况。

第五回合:(F2F,持续时间– 1小时,2名面试官)

  1. 设计LRU缓存。
    我使用unordered_map和双向链表设计了它。我编写了自己的DLL类。之后,他们构架了不同的测试用例,并请我解释我的代码如何处理这些用例。
    他们问了一些有关如何实现哈希图的问题。
  2. 系统会为您提供一个字符串和2个运算符(&,|)。返回使用给定的字符串和运算符集可以求出true的方式的总数。
    Example  : Input : TF
                      Output : 1
                      Input : TFF
                      Output : 2  ( T | F & F ,    T | F | F )
    

    我使用括号和备注来解决它。时间复杂度– O(n3)。

    我使用了3-D数组来记忆。

    dp [i] [j] [0]:使用substring(i,j)形成0的方法数量
    dp [i] [j] [1]:使用substring(i,j)形成1的方法数量

    访调员强调只使用一个二维数组,因此我必须包括以下预计算来计算括号内长度为n的字符串的总数,例如F(n)。

    F(n)= 1 +求和(F(i)* F(n – i))i从1到n-1不等。

第六回合(F2F,时长– 45分钟)
采访者警告我,如果我已经遇到任何这些问题,请通知他。

  1. 到达目的地的最少步骤。我告诉他我已经使用BFS解决了这个问题。他要求我解释该方法,但没有要求编写代码。
  2. 到达数组末尾的最小跳转数

    他期待一个O(n)解决方案。我使用2指针方法解决了它。他要求我让我的代码空运行并处理数组值为负或零的情况。

  3. 从具有一些Common节点的两个排序链表中构造一个最大和链表

我告诉他这是一个经典问题,我已经较早解决了。告诉他方法并处理所有极端情况。

第7轮(F2F,2名访问员,时长– 30分钟):

关于我的项目的详细讨论。有关我使用的技术的一些随机问题。

  1. 使用sum> = k删除所有不在任何路径中的节点
亚马逊的所有练习题!