亚马逊面试经历 |设置 272(校内)
第一轮:(hackerrank在线)
基于输出、操作系统、DBMS 的 20 道 MCQ 问题。
1.打印电话号码中所有可能的单词
2. 给定一个矩阵,其中元素在第 0 行中插入为 1 到 n,在第 1 行中插入 n+1 到 2n,依此类推,直到 n^2 并以螺旋方式遍历矩阵,找到您将访问的第 k 个数字
eg. n = 3
matrix: 1 2 3
4 5 6
7 8 9
k = 4, output: 6
k = 6, output: 8
第 2 轮:(F2F)
1. 给定一个布尔矩阵,找到最大数量为 1 的行
2. 给定一个指向树节点的指针,打印中序后继。假设你有一个函数getParent(node) 返回节点的父节点
3. 给定一个数组,找到我们将获得 i*array[i] 最大总和的配置
例如:8312 = 8*0 + 3*1 + 1*2 + 2*3 = 11
3128 = 3*0 + 1*1 + 2*2 + 8*3 = 29
1283 = 1*0 + 2*1 + 8*2 + 3*3 = 27
2831 = 2*0 + 8*1 + 3*2 + 1*1 = 15
当数组旋转 1 时,此处的最大值为 29
预期时间复杂度 O(n)
提示:查看旋转数组时输出和输入的内容。您不需要旋转阵列
我的朋友被问到的一些问题:
1. 根到叶路径总和等于给定数。同时打印路径
2. 给定一个数字 n 和如下模式: (1 到 26): a,b,c,….z (27 到 52): aa,ab,ac,…az (52 到 78): ba, bb,bc,…bz。 . . za,zb,zc,…zz aaa,aab,aac,…aaz aba,abb,abc,…。 . .找到第 n 个模式
3. 给定一个像 1->2->3->4->5->6->7->8 这样的链表,将其修改为 1->8->2->7->3->6-> 4->5
第三轮:(F2F)
1. 第 1 部分:设计蛇和梯子游戏。考虑这样的情况,例如在另一个梯子的末端可能有另一个梯子,或者在另一条蛇的末端有一条蛇。
主要关注您将用于设计游戏和所有案例的数据结构。
第 2 部分:现在你的游戏已经设计好了,找出你必须掷骰子/跳跃的最小数量才能到达终点,即从 0 开始的 100
您可以控制掷骰子时出现的值。
2.解释堆排序、hipify、percolate_down、时间复杂度
第四轮:(F2F)
1. 操作系统相关问题,例如什么是分页、页面错误
DBMS:事务、ACID 属性、主索引、二级索引、多级索引
2. 给定一个数组,检查该数组是否可以是 BST 的前序遍历
3. 设计一个数据结构,使得插入、删除、findMin()、find() 可以在 O(1) 内完成
4. 树的对角线视图
类似于二叉树的对角遍历
5. 二叉树的直径
第五轮:(电话轮):
1.关于我的暑期实习
2. OS、DBMS 问题
3. 给定一个数组,只需生成 3 阶的 B-tree
4.设计STL图
5. 给定一棵树,连接所有兄弟姐妹。要求我提供迭代和递归方法
感谢 Geeksforgeeks。
亚马逊的招聘人员非常友好。如果您遇到困难,请与面试官互动。尝试提出不同的方法来解决相同的问题。他们的主要关注点仍然是您如何看待问题并尝试解决问题。不要一遇到问题就立即编写代码,首先讨论它,然后如果被问到再编写代码。如果您无法获得完美的解决方案,请自信并不要放弃。