最近,亚马逊访问了我们的校园,招聘实习生和 FTE。总共有 3 轮 – 1 轮在线轮次,然后是 2 轮 F2F 面试
第 1 轮:在线轮(90 分钟)
有 2 个编码问题和 20 个 MCQ,主要是关于时间复杂性(主定理)、逻辑推理、数据结构和算法,大约 2 个来自操作系统、DBMS 和网络。
2个编码问题是:
- 求以 k 为最大元素的非重叠连续子数组的长度总和。
Ex: Array: {2,1,4,9,2,3,8,3,4} and k = 4 Ans: 5 {2,1,4} => Length = 3 {3,4} => Length = 2 So, 3 + 2 = 5 is the answer
解决方案:GeeksforGeeks 链接
- 给定一个数组 A,其中 A[i] (基于 1 的索引)表示对应于每个站点的巧克力数量。当我们从站i移动到站i+1 时,我们免费获得A[i] – A[i+1]巧克力。请注意,如果这个数字是负数,我们会损失那么多巧克力。我们只能从站 i 移动到站 i+1,而且当且仅当我们有非负数量的巧克力时。鉴于一块巧克力的成本是卢比。 P ,我们的任务是找到从第一个站点(站点1 )到达站点n所产生的最小成本。
解决方案:GeeksforGeeks 链接Ex: A: {1,2,3} and P = 10 Ans: 30 To reach station 1 from the starting station, we need to buy 1 chocolate To reach station 2 form station 1, we get A[1] - A[2] = -1 chocolates i.e. we lose 1 chocolate. Hence, we need to buy 1 chocolate. Similarly, we need to buy 1 chocolate to reach station 3 from station 2. Hence, total cost incurred = (1+1+1)*10 = 30
在大约 150 名学生中,有 26 人入围了第二轮。
第 2 轮:FTF 面试(约 30-40 分钟)
首先,面试官让我自我介绍,然后问了3个编码问题:- 在按行和按列排序的二维矩阵中搜索元素
我从 O(R*C) 解决方案开始,然后是 O(RlogC) 解决方案,最后给出了 O(R+C) 解决方案。
解决方案:GeeksforGeeks 链接 - 给定一个由 n 个元素和一个数字组成的数组,在数组中找到总和等于该数字的一对。
这个问题接着是找到一个总和等于零的三元组。
解决方案:GeeksforGeeks 链接 - 我得到了一个函数int getval(int x) ,它基本上取x的值并返回f(x) 。鉴于 f(x) 是一个单调递增的函数,我的任务是找到 x 的最小值,使得 f(x) > 0。
第三轮:FTF 面试(约 30 分钟)
面试官再次让我做自我介绍,问了3个问题:- 什么是数据抽象。用一个真实的例子来解释它。
- 什么是中缀和后缀表达式。然后他让我写一段将中缀表达式转换为后缀表达式的伪代码。
解决方案:GeeksforGeeks 链接 - 在不使用乘法或除法运算符、位运算符或任何循环的情况下将 2 个数字相乘。
解决方案:GeeksforGeeks 链接我给了他一个递归的方法,他很满意
最后,他问我有没有什么问题要问他。
在面试的26人中,最终选择了13人实习。
在我准备期间GEEKSFORGEEKS确实是一个很大的帮助。从 DS 和 Algo 部分下的文章准备将给任何人一个明确的机会来清除所有回合。非常感谢其他极客以及分享他们的面试经历,因为回顾过去的经历是结束我准备工作的完美方式。
相关实践问题
巧克力站 - 在按行和按列排序的二维矩阵中搜索元素