亚马逊专访 |设置 97(SDE1 校内)
几天前我在校园里接受了亚马逊的面试。
第一回合:
第一轮是简单的一轮。它有 20 个关于 C/C++ 的 MCQ 问题和 2 个编码问题。编码问题是:
1.) 你给了一个数组,其中的数字先增加然后减少。找到 O(log n) 中的最大元素。
2.)交换列表的备用节点的数据。
我们有 90 分钟的时间回答 22 个问题。对于客观问题,你应该清楚虚函数、继承、数据类型等。
第二轮:
在这一轮中,我们被分成了小组。并给出了一个树问题。我们必须单独解决它们。
我的问题是:
给定一个 bst 和两个边界值。如果节点数据位于边界值之外,则修剪树
第三轮:
在这一轮中,
1)双向链表和单链表。迭代和递归。哪种方法更好,为什么?
2) 你能在小于 O(n) 的时间内反转一个列表吗?
3)列表和数组的区别。你喜欢哪种数据结构,为什么?
4) 你将如何在列表中找到从最后一个开始的第 k 个节点?优化讨论
5)给定一个字符串。打印它的所有排列。关于时间复杂度和优化的讨论。
第四轮:
1)字符串的交错。关于各种测试用例的大讨论。如果字符串包含重复字符,您的代码应该处理这种情况。
2)检查二叉树是否为bst
3) 求一棵树的直径。后续如何求二叉树的高度?
第五轮:问题解决轮
1) 给定一组高度的极点。如果您站在第 i 个极点,请找出可见的极点数。
2)你有一个你管视频。一个人以随机顺序观看视频。您已经给出了他观看的各种间隔的开始和结束时间。你将如何确认他是否观看了完整的视频。
3)给定一个数字。您将如何找到具有相同数字的下一个更大的数字。
第六轮:(人力资源轮)
1) 介绍一下你自己。
2)为什么是亚马逊?
3) 项目讨论。
4)关于OOPS的一点讨论。
所有最好的家伙..🙂