亚马逊专访 |设置 78
第一轮是在 Interviewstreet.com 上进行的在线测试。大约 350 名学生参加了在线测试。持续时间为 90 分钟。它由 20 个主要基于预测输出、操作系统、CN 和数据结构的 MCQ 组成。
这些问题非常基本且易于解决。
除此之外,还有 2 个编码问题。
1. 给定一个字符串,找到第一个不重复的元素,即该元素不能出现在字符串的其他任何地方。
Eg : Input : teeterson
Output : r, as it is the first element which
is non repetitive.
2.给定字符串数字,用相同的数字找到下一个最小的数字。如果不可能得到这样的数字,打印-1;
Eg : Input : "123" Output : "132"
Input : "12453" Output : "123534"
Input : "987" Output : "-1"
一周后,结果出来了,25名学生入围。
个人访谈:
技术面试1:
1. 给定一个由 1 和 0 组成的数组,找出 0 的个数。
Eg : Input : 111100 Output =2
Input : 1 Output =0
我通过使用 Binary Search 找到数组中第一次和最后一次出现的 0 并减去结果来解决它。
2. 给定一个正负数数组,找出总和最接近 0 的元素对。
Eg : Input : 3 5 -9 -4 17 11
Output 3 , -4
通过比较每对元素,蛮力解决方案将是 O(n^2)。正如预期的那样,他要求我优化我的解决方案。
所以我使用归并排序对数组进行了排序。 (我知道它没有到位,但当时并没有打动我)
然后在数组的开头和结尾使用两个索引,并根据需要递增/递减索引。
3. 给定一棵二叉树,打印所有从根到叶的路径。
我首先告诉他我的方法以及我想到的递归解决方案背后的逻辑。然后他让我为我写的函数写测试用例。
本轮评选出6名学生。
技术面试2
1. 给定一棵二叉树,将其转换为双链表。
2.给定一个整数数组,用剩余元素的乘积替换每个元素。
Eg : Input - 1 2 3 4
Output : 24 12 8 6
首先,我给出了明显的解决方案。我计算了整个数组的乘积,然后将其除以每个元素以获得结果数组。
但他要求我不使用除法运算。经过一番交叉提问后,我给出了以下解决方案。
将每个整数的左侧元素的乘积存储在数组 L[] 中。
For eg : Here , L[]= {1 , 1 , 2 , 6 }
Do the same for the right side elements.
Here R[] = { 24 , 12 , 4 , 1}
The multiply R[i] and L[i] to get the resultant array.
Complexity : O(n)
最终选出了2个人。
结果:被选为 SDE-T(测试)进行为期 6 个月的实习
GeeksForGeeks 在我准备面试的过程中发挥了重要作用,我很高兴我在正确的时间发现了这个网站。
PS:你们能告诉我SDE-T的位置是否不如SDE-1的位置,或者它们是同一级别的吗?