这是亚马逊为实习而举办的泳池校园。
在线回合:有 20 mcq(每个 +1)和 2 个编码问题(每个 +30)。 MCQ 有更多的网络和 DS 问题。
- 给定三个链表,将它们相加。 GeeksforGeeks 链接
输入将采用这种格式
1->0->1 8->9->9 5 Output: 1->0->0->5
在Python解决上述问题比 C++ 更容易。我使用 deque(30/30 点)在 C++ 中解决了它。
- 给定一个由正整数组成的大小为 n 的数组,选择三个整数(不一定是连续的),使它们按升序排列并且它们的乘积最大。输入是以这种格式给出的。
array = {5, 3, 6, 8, 9, 10} Output: array = {8, 9, 10}
许多人(包括我)忽略了升序部分,得到了 20/30 分。后来在面试中,面试官让我解释我的代码并告诉我角落案例。
注意:输入与我在这两个问题中所说的完全一样。这与通常的问题有点不同。您首先必须将字符串分解为整数,然后才能解决问题。
第二轮:
- 井字游戏
这是纸上谈兵。我听说使用幻方有另一种更简单的解决方案。本轮选拔8人。
第 3 轮:
技术面试第一轮
面试从最常见的问题“介绍一下你自己”和“项目/实习”开始。然后几乎没有什么理论问题,比如什么是二叉树?什么是二叉搜索树?然后是2个编码问题。
- 层序遍历
- 查找具有相同数字集的下一个更大的数字
它不是数字,而是字符串字母。我的代码中有一个错误。面试官给了我一个测试用例,让我测试一下。改变了方法,通过排序解决了。他问哪个排序,为什么?首先我说归并排序是因为 nlogn 的复杂性。然后我说由于范围很小(1-26),我们可以使用计数排序。他问我们真的需要分拣吗?然后我说反转第二部分就足够了,因为它是按降序排列的。
第 4 轮:
技术面试第二轮
再次讨论“告诉我你自己”和“项目/实习”。
- 大小为 k 的所有子数组的最大值
他首先问你将如何解决这个问题。给出了3种不同的方法。然后最后要求为deque方法编写代码。
DS 和 DAA 又问了我几个理论问题。比如什么是一些算法范式? Greedy 和 DP 的区别?关于 Dijkstra 的问题(Complexity、greedy 或 dp)。最后我得到了一个基于图的问题,并被问到将使用哪种算法范式来解决它?答案是回溯。
面试官很友好。他们帮助我们在遇到困难的地方提供提示。
我的建议是阅读 GeeksforGeeks 过去的面试经历,并在 GeeksforGeeks 法官上练习这些问题。复习你的 CS 基础知识,如数据结构、算法、网络和数据库。
感谢 GeeksforGeeks 在我准备面试时帮助我。 🙂