亚马逊面试经历
在线测试:
- 28 个基于数据结构和算法、数据库管理系统、操作系统、预测 C 和 C++ 输出的 MCQ。
https://www.geeksforgeeks.org/quiz-corner-gq/ - 2个编码问题:
- 最长公共子序列
- 给定树的中序和级别顺序遍历,找到树的最小高度
注意:在mettl平台上进行的测试,至少做1.5个编码问题以获得好机会
Pen Paper Round:给出 2 个问题,与指定的导师讨论方法,并在纸上编写处理所有测试用例的代码。确保演示文稿整洁,使用良好的变量名称,给出注释以解释每个代码块的作用,使用最少的时间和空间复杂度。
问题是:
- 计算 (m X n) 矩阵从左上角到右下角的所有可能路径(类似于下面的链接,但也给出了填充 0 或 1 的矩阵,路径只能由 1 组成)
- 求二叉树的垂直和
技术第一轮:
- 给定一个链表,连接第一个到最后一个,最后一个到第二个,第二个到第二个,依此类推。
Input: 1 -> 2 -> 3 -> 4 -> 5 -> 6 -> NULL Output: 1 -> 6 -> 2 -> 5 -> 3 -> 4 -> NULL
涉及找到链表的中间,反转后半部分,合并两个链表
- 数组中的下一个更大元素
编写代码后,只需进行试运行,它应该可以处理所有极端情况。面试官将计算错误的数量。
Technical Round 2:面试官非常友好,给了我很多提示,也给了我很多时间。
- 他问我的项目(基础级别,没有深入),第4年的项目,尽管我没有在简历中提及。
- 编码问题是计算二叉树的匝数。
我告诉他一些观察并问他一些提示,他简化了问题并给出了一个节点和根的问题,找到路径中的匝数。一段时间后,我能够想出一个答案。他要求优化,我经过一番思考后想出了一个答案。
第三轮技术:
- 说说你自己
- 给定一个数组,左索引和右索引,在小于 O(n) 的时间内返回给定索引之间的总和。段树
- 在数组中构建堆、归并排序、插入排序、计数反转
- 基本数据库管理系统和操作系统问题,例如:
- 数据库中的 ACID 属性是什么?
- 如何在数据库中实现隔离?
- 什么是颠簸?
- 什么是虚拟内存?
提示:我一直在解决以下链接中的问题。有一些好的项目,如果可能的话,在简历上获得一些认证,我使用了一个网站zety来构建简历。练习键入或编写代码而不是阅读代码。我非常感谢 GeeksforGeeks 提供了所有必要的资源。