亚马逊面试经历 | Set 285(JD-SDE 校内)
一共进行了5轮。
第1轮:
MCQ 主要基于 OS 和 OOP。
Q.1 判断一个包含 0 和 1 的矩阵是否可以分成 2 个包含相同数量 1 的子矩阵。
Q.2 在大小为 3 的窗口中查找数组中的最大元素。
技术面试一:
Q.1 项目讨论
Q.2 一些涉及无序映射的简单问题。然后让我先实现地图再使用。
Q.3 关于OS的几个问题(信号量、互斥量、调度)
技术面试2:
Q.1 K 重问题。给定一棵二叉树,您需要修剪它,使最终的树包含所有大于等于 k 的根到叶的总和。
Q.2 对大小为 n 的 m 个数组进行排序。他想要分而治之的方法。
技术专访3:
Q.1 关于 CN 的几个问题(协议、IP 地址、Amazon 等公司使用的服务器系统的高级设计)
Q.2 在线性时间内对字符串进行排序。
Q.3 在 Amazon.com,用户登录并访问编号为 1、2、3 的随机页面……在任何时间给定,您需要说出用户访问的 3 个页面中最受欢迎的序列。
例如。
在某个时间 t,
U1:P1、P2、P3、P8、P1、P2
U2:P8、P1、P2
输出/输出:P8、P1、P2
在时间 t+1,说
U1:P1、P2、P3、P8、P1、P2、P3
U2:P8、P3、P2
输出/输出:P1、P2、P3
技术专访4:
Q.1 给定一个包含 0 和 1 的数组,您的目标是将所有 1 转换为 0。您只能使用辅助函数来执行此操作(否则不能交换或修改元素顺序)。辅助函数void flip(int index) 将所有元素切换到 index 和 index 本身的右侧。您需要返回最小编号。完成任务所需的调用次数。预计线性时间。
在进行复杂度分析时还要考虑翻转函数的时间复杂度。
Q.2 涉及在 Rabin Karp 算法中使用散列的棘手问题。不记得确切的问题。
笔记:
50/250 在 MCQ 回合后入围。
19/50 在 2 次技术面试后入围。
16/19 被安排在接下来的 2 次面试之后。
OS、CN 和 OOP 是除了 DS 问题之外的必需品。祝一切顺利。
非常感谢 geeksforgeeks 提供了如此精彩的平台!