📜  亚马逊专访 |设置 56(校外)

📅  最后修改于: 2022-05-13 01:58:17.956000             🧑  作者: Mango

亚马逊专访 |设置 56(校外)

亚马逊面试最重要的一点是,你需要在第一次尝试中产生完美的、最优化的解决方案。花点时间思考,但在编写代码时,请确保在将解决方案交给面试官之前涵盖所有极端情况。

在线回合(90 分钟)

20 道 MCQ 问题,涵盖 Aptitude、基本 C/C++ 技能
2个编码问题
-> 二叉树中的垂直和
-> 添加2个链接列表

手机屏幕(PS1)(45 分钟)
关于操作系统的基本问题。虚拟内存、多线程等
-> Next 每个元素的更大数字。 (算法+代码)
-> 反向链接列表(算法)
-> 二叉树中的 LCA(算法 + 代码)

F2F 访谈 1:(45 分钟)
-> N叉树中K个给定节点的LCA。(算法+代码)
-> 滑动窗口最小值。 (算法+代码)
关于实习项目的讨论。

F2F采访2:(60分钟)
关于实习项目的讨论。要制作高级设计
-> 给定一个布尔二维矩阵,找出其中的唯一行数。(算法 + 代码)
我给出了 3 个不同的解决方案。其中一个使用了散列。然后面试官进入了散列的重要细节。
在对各种类型的哈希实现、优缺点、用途进行了大量讨论之后,他给了我一个场景,我需要为它构建一个好的哈希函数。

F2F面试3(Stess面试)(60分钟)
关于实习项目的讨论。
-> 给定一棵二叉树和该树的任意节点,找到与该节点距离为 K 的所有节点。节点没有父指针。(算法 + 代码)
-> 在一个数组中实现 2 个堆栈。(算法 + 代码)。
跟进问题->如果我们想动态更改数组的大小,我们该怎么办。
-> 在一个数组中实现 3 个堆栈。(算法)
-> 在数组中实现 K 个堆栈。(算法)

F2F 访谈 4 ( 60 分钟 )
-> 很多操作系统问题。互斥体,信号量,死锁,虚拟内存,调度算法。
然后他给了我一个代码,并要求将其设为 Thread Safe 。
我在实习项目中使用过 SQL,因此被问到基本的 DBMS 问题和 SQL 查询。
SQL 查询以查找列中的最大值,而不使用聚合 MAX函数。

-> 给定一棵二叉树,其中每个节点值都是 1-9 的数字。求从根路径到叶路径形成的所有数字的总和。 (算法+代码)

6
                                      /       \
                                    3          5
                                  /   \           \
                                 2     5          4  
                                      /   \
                                     7    4
  There are 4 leafs, hence 4 root to leaf paths:
   Path                    Number
  6->3->2                  632
  6->3->5->7               6357
  6->3->5->4               6354
  6->5>4                   654   
Answer = 632 + 6375 + 6354 + 654 = 13997
亚马逊的所有练习题!