亚马逊专访 |设置 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