亚马逊面试经历 |设置 200
能力倾向轮:(1:30 小时)
19 个多选题
关于树、信号量、死锁和算法的简单 MCQ。很少有关于指针的输出问题。
2 编码问题:
- 检查两个字符串是否是字谜。
- 一家公司有 n 名员工,每个员工都有一些评级。员工的工资会根据他们的评级加薪,即评级越高的员工将获得越高的加薪。员工只能知道他的两个邻居的加息和评级,一个在左边,另一个在右边。给定一个大小为 n 的数组,指定 n 名员工的评级,找到每个员工应该提高的最低加薪幅度,这样没有员工会感到不公平。
示例:1 3 5 4(4 名员工的评分)
输出:1+2+3+2 = 7
示例:5 3 4 2 1 6
输出:2+1+3+2+1+2 = 11。
加息只是正整数。评级大于零。
输入数组大小:1-1000000
面试:
第1轮:
- 给定一个否,找到下一个不大于 n 并且具有相同数字的下一个。我应该在纸上为此编写一个工作代码。
- 有一个最初位于原点的机器人。一个机器人有三个操作,他可以左转或右转,也可以在他面对的方向上向前移动一个单位。
给定一个包含 L(左转)、R(右转)、G(向前移动一个单位)的字符串。查找机器人是否再次到达之前的点(查找循环)。
示例:LGRGRGG
初始坐标为(0, 0),左转移动一个单位,更新坐标(-1,0)。
然后右转并移动一个单位,更新坐标(-1, 1)。然后右转并移动两个单位(两个'G')。更新后的坐标为 (1, 1)。
第 2 轮:
- 给定一个二维数组,实现一个哈希映射,当给定(键,值)时,在 O(1) 中插入和检索值。还实现了一项功能,它为我提供了 O(n) 中对应值的所有键。
- 给定一个图,其顶点只能有两个值,0 或 1。在图中找不到不同的聚类(岛)。在纸上为此编写一个工作代码。
黑色节点 – 1 个标记的顶点。
答案 = 2。
第三轮:
- 仅使用递归来反转堆栈。
- 创建一个数据结构来维护所有课程和注册该课程的学生的记录。每门课程都有课程 ID,学生由其注册编号唯一标识。数据结构应提供以下操作:
- 为特定课程插入新学生。
- 删除特定课程的学生。
- 给定一个(courseid,enrollment no),搜索这对是否存在。
- 在任何时候,您都应该能够为特定课程的最后一名注册学生提供信息。
上述所有操作都应在 O(1) 中执行。
- 给定一棵树,打印每个级别的最左和最右节点。
输出:1 2 3 4 5 8 - 给定一个有amount 的表,它的列和一个整数n,编写一个查询,给出表中第n 个最大的amount 值。
- 子进程和线程有什么区别?解释虚拟内存、分页概念、页面替换算法。设计工作集算法的数据结构。
第四轮:
- 关于我的实习和项目的问题。
- 然后面试官开始在计算机网络上询问有关框架和所有内容的问题。在CN上问了3-4个问题后,他又转回了DS。
- 给定一棵二叉树,判断它是否是二叉搜索树,不使用任何外部动态内存作为数组。为此编写代码。
- 然后最后,光环充满了所有关于操作系统和计算机组织的从未听说过的问题。
重要提示:
亚马逊的所有练习题!