📜  亚马逊面试经历 | Set 206(SDE-1 校内)

📅  最后修改于: 2022-05-13 01:58:26.367000             🧑  作者: Mango

亚马逊面试经历 | Set 206(SDE-1 校内)

大家好,最近亚马逊访问了我们的校园进行 SDE-1 和实习,我收到了实习和 SDE-1 的邀请。这是我的经验。

笔试(1小时30分钟):
共提出 22 个问题,其中 20 个是 MCQ 问题和 2 个编码问题。大多数 MCQ 来自操作系统、算法、Co/p 和 aptitude(直接来自前一年的计算机科学 GATE)。

第一个编码问题:确定树的直径(输入有点困难,因为我们必须在未知大小的数组中输入,对其进行排序并创建 BST)。

第二个编码问题:给定字符串以逗号分隔的单词,我们必须逐行打印一对字词(不区分大小写)。如果您没有找到任何这样的对,则打印 -1。

面试轮次:
第 1 轮(1 小时:15 分钟):
1. 从介绍开始,然后他跳入项目并讨论了大约 15 分钟。

2.给定一个数组根据频率打印元素,如果两个元素的频率相同,则按降序打印。
在 O(n2) 中使用 2d 矩阵给出解决方案。然后通过在 O(nlogn) 中唱 AVL 树来降低复杂度。后来在纸上编码 AVL 树解决方案。

3.给定二叉树,打印边界遍历
我通过使用三个遍历(如 gfg 中给出)给出了解决方案,然后他让我在单次遍历中完成。我和他讨论了很多,最后想出了使用队列和堆栈数据结构的解决方案。后来他让我编码,我编码正确。他对我的代码印象深刻。

第二轮(1小时):
1. 从大约 25 分钟的项目讨论开始。
2. 给定一系列股票价格,找出买卖股票的最大损失。我先给了他方法,然后他让我编码。编码它。
3.在C中实现垃圾收集器,不使用free函数。
4.什么是虚拟继承。
5. 解释文件是如何存储在内存中的。
6.解释UNIX I节点实现。
7.进程和线程的区别。
8. 线程如何并行执行以及它们如何共享内存。
9. 要求算法调度内核级线程(群调度)。

第三轮(1小时30分钟):
1.从介绍开始
2. 45分钟左右的详细项目讨论。
3. 给我一个包含进程和资源集的资源分配图,让我告诉他执行所有进程的方法。
我突然告诉他用拓扑排序,他说很好,让我编码。我编码了。
4. 举例说明同步的必要性。
我用生产者-消费者和打印机假脱机问题向他解释(也为两者编写了代码)。
5. 同步基础,即等待和信号操作的代码以及信号量如何维护它们的挂起列表。

在这一轮结束时,面试官印象非常深刻。

第 4 轮(1 小时):
1. 给定一个整数 n,判断它的二进制表示是否为回文。
例如 4=100 不是回文
5=101 回文。
TC = O(n) 和 SC = O(1) 是预期的,我对其进行了编码。
2.他给了我一个在这个关键字上使用lock的Java代码。问我在多个线程同时运行时使用lock关键字的代码有什么问题吗?我发现了问题,然后他让我解决它,我解决了它。
3.什么是虚拟内存。谁来实施。
4. 虚拟内存概念在系统中是如何实现的。

尖端:
1. 面试官不希望你给出所有正确的答案,尽管他们想先看看你的方法以及你如何解决一个你不知道先验的问题。
2. 彻底复习操作系统基础知识,并尽可能多地在纸上练习代码。
3. 除了基本的数据结构之外,还有一些高级数据结构的概念,如 BBST、Trie、Graphs 等。
4. 在面试官面前大声思考,并尝试一直吸引他。
5. 仔细听他的话,大概会有一些提示要回答。

我要感谢 geeksforgeeks 团队提供了这么好的平台。你们做得很棒。

如果您喜欢 GeeksforGeeks 并愿意做出贡献,您还可以撰写文章并将您的文章邮寄至 review-team@geeksforgeeks.org。在 GeeksforGeeks 主页上查看您的文章并帮助其他 Geeks。

亚马逊的所有练习题