亚马逊面试经历 | Set 403(全日制校园)
编码轮(90 分钟):
来自 DS、OS、DBMS、网络的 20 个目标和 2 个编码问题:
- https://www.hackerrank.com/contests/dakshonline/challenges/yule-ball
- https://www.hackerearth.com/practice/data-structures/arrays/1-d/practice-problems/algorithm/i-demand-trial-by-combat-13/
第一轮:
- 给定一个二进制字符串(例如 01、101、011),在每次迭代中,0 变为 01,1 变为 10,在第 n 次迭代后找到字符串中的第 k 个字符。 GeeksforGeeks 链接
简单方法,时间复杂度,仅用 n 表示时间复杂度
有效方法、解释、时间复杂度 - 给定 n 根不同长度的绳索,将它们连接成一根绳索。连接两条绳索的成本等于它们的长度之和。以最低成本连接绳索:
GeeksforGeeks 链接 - 何时以及为什么合并排序优于快速排序——时间/空间复杂度
第二轮:
- 项目讨论
- 使二叉树对称——所有情况都是可能的,使用哪种遍历以及为什么
- 使链表的一半反向(迭代,递归)和链表中的一些问题
- 递归,递归中使用的数据结构
- C++字符串,字符串类中+运算符的重载
第三轮:
- 设计一个数据结构来向客户展示最常购买的商品,展示在给定时间跨度内经常购买的商品 GeeksforGeeks Link
- Priority_queue、map/unordered_map、滑动窗口概念
- 优先队列
- 滑动窗口技术
- 无序地图
- 在字典中搜索给定单词(方法、时间复杂度、在不同数据结构中插入/删除新单词的成本)GeeksforGeeks Link
- 二叉搜索树、AVL树(旋转、插入、删除)、Trie数据结构
- BST
- Avl 树(插入)
- Avl 树(删除)
- 特里
- 在给定字符串中搜索模式(简单方法和使用 KMP 算法),处理所有情况 GeeksforGeeks Link
- LRU 缓存实现
第四轮:
- 自我介绍
- 项目讨论
- 将给定的整数转换为其对应的罗马数字 GeeksforGeeks Link
- 哈密顿循环和少数图问题(有向/无向图中的循环)GeeksforGeeks Link
在这期间,他们向操作系统、DBMS、网络提出了一些问题:
– Belady 异常、上下文切换、冲突可串行化、某些 OSI 层的功能等。
亚马逊的所有练习题!