嗨,最近我接受了亚马逊的采访。
第一回合(电话):
1.给定一个整数数组和一个常数X,在其乘积等于X的数组中打印所有成对的数字。
跟进:您将如何处理O(n)?您将如何处理重复的对?
在collabedit上需要代码。
2.他问我是否知道遍历二叉树。然后,他要求我进行编码,他改变了问题,并询问了二叉树的螺旋顺序遍历,并要求我对其进行编码。
第二回合(电话):
1.在一个BST中,交换了两个节点。给定指向根节点的指针,找到两个节点并纠正树。他问这个方法,然后问我如何在collabedit中编写相同的代码。
2.给定一个整数数组,在该数组中查找和打印乘积最大的三个元素。必须输入代码。
第三轮(现场面对面)
1.给定一个n个整数的排序数组,计数并显示三元组的数量,以使a [i] 2.在给定的字符串,某些字符被问号替换,并且您可以用任何字符替换问号。给定这样的字符串,找到可以创建的回文总数。字符串仅包含[az]字符,问号也只能替换为[az]。示例:输入字符串:字符串str =” a ?? a”输出:26
3.给定一棵二叉树,所有叶子节点都以双链表的形式出现。找到树的高度。
第四轮(招聘经理轮):
有关先前公司工作的详细讨论?
为什么我要离开以前的雇主?
为什么选择亚马逊?
如果我不喜欢这份工作怎么办?
我在工作中面临什么挑战,如何解决?
弱点和力量?
路由器做什么,什么是静态路由?给定一个路由表,您如何减少路由器决定必须转发到哪个路由器数据包的时间?
可以实施的算法的详细信息以及讨论时间和空间的复杂性。
第五轮(Face2Face现场):
1.给定N个不同长度的已排序LinkList,将它们合并到单个已排序链接列表中。需要伪代码。
2.给定数字d和数组N的大小。打印数组中元素的所有组合,使数组的第一个元素为d,数组中的下一个元素可以为数组中的前一个元素+1或-1。必须输入代码。
E.g. Input: d=4 N=3
Output:
4 3 2
4 3 4
4 5 4
4 5 6
3.什么是LRU和lru的实现?编写相同的伪代码。
我要感谢GeeksforGeeks为我们提供了这样的学习平台。