亚马逊面试经历 |第 165 组(用于 SDE I)
我收到了来自 amazon.com(班加罗尔)的 SDE1 职位的面试电话,有 1.5 年的经验。
第 1 轮:1 小时 - 在亚马逊办公室进行笔试。
Q1。给定一组字符串,找出所有字符串共有的字母表。
<我用过Hashmaps>
Q3。给定字符串中最长的回文子序列。
Q3。查找二叉树中两个节点的 LCA
第 2 轮:F2F 1.5 小时
给定一个包含大量单词的巨大文件,编写一个函数,该函数将一个单词作为输入并打印文件中存在的该单词的所有字谜作为输出。函数必须非常非常快,而且运行时间为 O(1)。您可以花费尽可能多的时间和资源对文件进行一次预处理。但是在预处理函数应该在 O(1) 时间内执行。
<使用hashmap,事实上所有字谜都有相似的字母顺序>
为上面创建一个哈希函数。
然后他问,另一种方式而不是 Hash ?
如何优化在其他链表头的这个链表之间的搜索。
第 3 轮:F2F 1 小时
只有一个问题——在二叉树的每一层打印最左边和最右边的节点。
第 4 轮:F2F 1 小时
给定一个带有“?”的字符串在哪里 ?可以是 0 或 1。通过替换打印所有可能的字符串? 0/1。
例如:I/p Amaz??n,
o/p Amaz00n、Amaz10n、Amaz01n、Amaz11n
连接一棵二叉树的所有处于同一级别的节点。
第 5 轮:电话 1.5 小时
编写代码(在线共享协作文档)来检查树是否满足 children-sum 属性。
编写代码(在线共享协作文档)将给定的树转换为满足 children-sum 属性的树。
一些与操作系统相关的问题
线程和进程的主要区别
进程和线程之间的 CPU 调度差异。
死锁的充要条件
假设你有一个 10 亿个整数的列表,在这个列表中找到 100 万个最大的整数。
列表可以有重复元素,最大内存限制为 100 万个数字
要求计算我的算法的时间复杂度
第 6 轮:F2F 1 小时
讨论当前工作。你必须详细了解你在做什么,因为你会被烤
如果我要推出出租车服务,我会在网站门户上放置 3 大功能。 (非技术)
为此类出租车服务的调度算法编写代码,前提是您有未来预订列表和车队中的出租车列表。
<我被要求编写 OOP 范式代码>
尖端:
尝试与面试官持续互动。继续大声思考并继续与面试官讨论你的想法和方法
非常彻底地准备数据结构,特别是二叉树。
希望这可以帮助。 🙂
亚马逊的所有练习题!