亚马逊专题面试|S113(实习校园)

亚马逊面试了我们的校园以提供为期6个月的实习机会。共进行了3轮-在线编码和2场面对面的采访。
在线编码回合(时间:1小时30分钟)
本回合在hackerrank.com上进行。与计算机科学和能力相关的mcq有20项。许多问题在lsbin的MCQ部分中。有两个编码问题:
lsbin链接输入:m = 5, n = 5。 Mat [] = 1 1 0 0 0 0 1 0 0 1 1 0 0 1 1 0 0 0 0 0 1 0 1 0 1输出:5 First:(0, 0), (0, 1), (1, 1 ), (2, 0)第二:(1, 4), (2, 3), (2, 4)第三:(4, 0)第四:(4, 2)第五:(4, 4)
面对面访谈1(持续时间:1小时)
面试官立即开始提出问题, 没有任何介绍。他问我快速排序和合并排序的最坏情况的复杂性。然后问了我两个与树木有关的问题:
我说不。然后他问我是否可以从我说是的数组中创建一个二叉搜索树。然后, 在讨论了方法之后, 他要求编写代码。
然后, 他让我编写代码以进行树的层级遍历。还问我计算代码的复杂度
面对面访谈2(时间:约1小时30分钟)
面试官从总体介绍入手。然后他开始问问题。
给定n个约会的开始时间, 结束时间和布尔变量hasConfilct, 我们必须设置与其他约会冲突的约会的布尔变量hasConflict。

Example:Appointment1: (2:00-3:00) Appointment2: (2:30-3:30) Appointment3: (4:00-6:00)

我必须将hasConfliction 1和2设置为true。
最初, 我是在O(n ^ 2)中完成的。但是随后他让我优化了解决方案。经过一些讨论, 我能够在O(nlogn)中解决它。
鉴于在Amazon.item的详细信息页面上仅显示了一个从数据库动态获取的字段, 我们必须根据以下代码来提高性能:
" 80%的用户访问了20%产品的详细信息页面。"
我说过我们可以将这20%的内容存储在网络服务器上, 这样我们就不必每次都从数据库中获取商品详细信息。他问我在哪里以及如何存放它。我回答了主内存, 将使用BST进行存储。然后, 在关于如何使用get和put操作的大量讨论之后(大约30分钟), 他对解决方案感到满意。
【亚马逊专题面试|S113(实习校园)】给定一个放置在内存中的链表, 如果对链表同时执行操作会出现什么问题。从这里开始, 他开始询问线程, 因为答案与之相关。
将单线程应用程序转换为多线程应用程序时, 操作系统必须进行哪些更改?
当操作系统从一个线程执行转移到另一个线程时, 应采取什么步骤?

    推荐阅读