亚马逊面试体验| 231集(校园)

我们在学院进行了亚马逊校园面试,提供实习机会(基于绩效的工作转换)。

null

第一轮(在线编码轮): 20个MCQ。 2个编码问题。

  1. 给定三个巨大的数字,每个数字用一个链表表示(链表的每个节点代表一个数字),计算这些数字的总和,并以链表的形式返回数字。例如,9->2->3、4->6和2->5->1分别代表数字923、46和251。结果应该是1->2->2->0。这可以通过使用堆栈来解决。
  2. 给定一个图,检测它是否有一个循环。 我们可以在这里执行dfs。

第二轮(技术面试): 我被要求解释我在实习期间的工作。我解释了大约10分钟。然后,我得到了一个二叉搜索树,并被要求形成它的镜像,也就是说,每个左父节点和右子节点都应该交换。我为此编写了一个简单的递归代码。

void BST(Node root) {
  if (root==null)
     return;
  Node temp = root.left;
  root.left = root.right;
  root.right = temp;
  BST(root.left);
  BST(root.right);
}

给定一个排序有序的数组,其中数字先按升序排列,然后按降序排列,找到顺序发生变化的索引,并返回该索引处的数字。例如,i/p:1234532,o/p:5。我为它写了一个修改过的二进制搜索(必须处理一些角落的案例)。面试官很满意,我被派到了下一轮。

第三轮(技术面试): 我被要求谈论其中一个项目。我谈到了我做的一个人工智能项目。基于此,他问了我一些问题。大约15分钟。 我被问到的问题和网上第一轮的问题一样,只是这里我只需要加两个数字。我告诉他了,但他还是让我写下代码并解释。我给了他递归解决方案,以及更简单的基于堆栈的解决方案,作为递归的替代。 给定正数a1、a2…an,可以用以下方式求和元素:1*a(i%n)+2*a((i+1)%n).+n*a((i+n)%n),其中i的范围为0到n-1。求出i的最大值。例如,5,6,7各种总和可以是1*5+2*6+3*7、1*6+2*7+3*5和1*7+2*5+3*6。答案是38。 我们可以在O(n)中解决这个问题。我们首先计算i的和为0。我们做如下观察。

i=0,sum0=1*a1+2*a2+3*a3……n*an。 i=1,sum1=n*a1+1*a2+2*a3…(n-1)an sum1=sum0–(a1+a2+…an)+n*a1 推广方程:sumi=sumi-1–(a1+a2+…an)+n*ai,其中i的范围为1到n-1。结果是sum0到sumn-1的最大值。 下一个问题,您需要创建一个持续监听请求的应用程序。应用程序有一个可以访问的公共文件。对于每个请求,必须从文件中检索并返回一些信息。您会为每个请求生成一个新进程还是一个新线程。为什么?我说的是线程,因为要完成的主要处理是在共享资源上进行的,通过创建线程,您不需要复制文件,因为这样的资源可以在线程之间共享。 你知道操作系统中的调度算法是什么?对于每种算法,您将使用什么样的数据结构。我提到了以下几点: 先到先得:排队。 基于优先级的调度:优先级队列。 最短作业优先:优先级队列(此调度算法归结为基于优先级的调度) 循环:循环队列。面试官告诉我,循环链表更适合这个目的。我补充说,循环双链接列表将是一个更好的答案,因为更有效地删除第I个节点。他告诉我,你可以在一个链表中高效地完成这个操作。我想了一会儿,同意了他的意见,同时也向他展示了我将如何在一个链接列表中进行这个操作。 如果一台计算机有1Gb内存和2Gb内存,后者的运行速度会更快。解释为什么在正常情况下,拥有更多的ram会比内存不足的计算机更好。答:寻呼。我还告诉他,在某些计算中,比如外部排序,如果内存更多,效率也会更高。 给定一个1和0的矩阵,其中1代表一个岛屿,0代表水,求出形成的岛屿数 .面试官希望我能想出一个类似的dfs解决方案。(与链接中给出的问题不同,1只能水平或垂直连接)。但我想到了一个快速联合查找(不相交集问题)的解决方案。

第四轮(技术面试): 又一次,我被问及我的实习工作。我描述的和第一轮一样。基于此,他问了我一些问题。我们花了大约20分钟。 按顺序打印二叉树的俯视图 ,从左到右。我花了一些时间才弄明白。当我得出解决方案时,我一直大声解释。我之前做过一个关于打印二叉树的右视图的问题,这个方法类似。

给定一个数字n,打印所有数字的平方,使其小于等于n。例如,如果n为30,o/p:1 4 9 16 25。在不使用*、^或除法运算的情况下执行此操作。 如果我们观察从输出中得到的序列,为了得到序列中的下一个数字,我们加上下一个奇数。所以,0+1=1,1+3=4,4+5=9,9+7=16等等。

我已经回答了几乎所有的问题。我不得不等了一个多星期才有结果。我被选中了

如果你喜欢Geeksforgek,并想贡献自己的力量,你也可以写一篇文章,然后把你的文章发到contribute@geeksforgeeks.org.看到你的文章出现在Geeksforgeks主页上,并帮助其他极客。

© 版权声明
THE END
喜欢就支持一下吧
点赞15 分享