亚马逊专访 |第 83 集
书面(50 分钟)
- 20个能力和一般cs客观问题
- 代码:查找要从 int 数组中删除的最小 # 元素,以便最大元素 <= 最小元素的 2x
- 代码:对于给定的数组 a 大小为 n 我们创建一组 a[i] , a[a[i]] , a[a[a[i]]] ..... i 从 0 到 n-1 变化,找到此类集合的最大大小。
面对面 1
- 设计 MP3 播放器,它只会从给定的歌曲列表中以随机顺序播放唯一的歌曲
- 代码:在二叉树的所有级别上打印最左边和最右边的元素。
- 在大小为 n 的 int 数组上,大小为 k 的滑动窗口中的最大元素。
面对面 2
- 代码:在二叉树的给定级别查找最小元素
- 您将如何组合驻留在磁盘上的大量大排序文件(文件大小 >>> 内存)
- 在浏览器中输入 URL 时会发生什么。
- 尽可能高效地在一个大的 int 数组中设计多个堆栈(现实世界的示例多进程函数堆栈在 linux os 的内存中创建和删除)
面对面 3
- 讨论具有挑战性的工作项目。
- 设计内存文件系统。
最后一轮电话
- 最艰难的工作项目经验。
- 机器人站在网格的左上角,它只能向右或向下移动,确定到达右下角的可能路径总数。
- 代码:修剪二叉树,以便只保留属于 K-Heavy 路径的节点,K-Heavy 路径意味着从根到叶的路径中所有元素的总和 > K。
亚马逊的所有练习题!