← 面经 & 服务案例

Amazon Intern OA|亚麻最新OA详细题解|Amazon 实习面经

OfferForge 导师 Dr. W. — 博士毕业,前 FAANG Senior MLE。研究方向为大规模分布式机器学习系统,曾在顶级国际学术会议发表多篇论文。负责团队学术方向把控与 MLE 面试辅导。

OfferForge 导师 Dr. S. — 前大厂 Senior SDE,精通分布式系统与大规模数据处理。曾在顶级技术会议发表多篇技术报告,专注于系统可扩展性与可靠性。负责课程体系设计与 System Design 面试辅导。

OfferForge 导师 Dr. L. — 前大厂 Senior SDE,深耕分布式系统与微服务架构。在服务治理、事件驱动架构方面有丰富实战经验。负责求职策略制定与 SDE 面试辅导,已帮助多位候选人斩获 Senior 级别 Offer。

最近看了很多朋友在讨论今年亚麻实习 OA 的题目,大多数都还是那几道反复出现的老题,变化不大。所以我把这两道遇到的新题整理了一下,希望能帮到准备 OA 的同学。这次的流程还是老样子,在 HackerRank 上做题,开始的时候需要拍照身份认证,之后整个过程都不需要再开摄像头或者共享屏幕。Test case 有 hidden 的部分,而且非常容易因为时间复杂度不过关被卡住。因此真的不能单纯依赖 ChatGPT 或者照搬以前的题解,尤其是题目描述里有些比较模糊的要求,必须结合 test case 才能判断它真正想让你实现的细节逻辑。

这一题主要模拟的是 Amazon 物流仓储中心里最典型的规划问题。题目给出的就是一个这样简化后的仓库环境——一个由 0 和 1 组成的二维网格。0 表示可以通行的道路,1 表示障碍物或不可通行的区域。同时会给出机器人起点和目标包裹位置,要求你返回从起点移动到目标位置的最短路径长度。如果根本到不了目标,就返回 -1。本质上,这道题就是典型的 BFS 最短路径问题。因为网格中的每一步路径代价一致,只要用 BFS,从起点开始层层扩展,当你第一次抵达目标位置时,那条路径就一定是最短的。代码实现时重点是维护一个队列,把下一步可能到达的位置不断压进队列,同时用 visited 去记录已经访问过的格子,避免重复计算,否则会导致时间复杂度飙升。写得够规范的话,BFS 的整体复杂度大约是 O(m·n),完全能满足 OA 的要求。虽然从真实业务角度来看,路径规划更常使用 A* 这种带启发式函数的算法,但 OA 通常不会搞太复杂,按照 BFS 来实现就足够了。不过 test case 会专门设计那种绕远路的情形和边界条件,一定要注意比如越界判断、障碍处理、起点等于终点这些小点,否则很容易挂掉。

第二题就更偏向 Amazon Prime Video 背后的内容分发逻辑。题目里会给出 N 个服务器的当前负载,然后告诉你系统一次会新增 K 个请求,希望你能模拟系统是如何把这些请求一步一步分配出去的。每次都要把新的请求派给负载最低的那台服务器,分配完后更新它的负载,再继续进行下一轮分配。最终做完 M 次这样的分配后,要求你输出所有服务器的最终负载,并按从小到大排序。解决思路其实就是 min-heap。把所有服务器的负载丢进堆里,每次从堆顶取出负载最小的服务器,让它承担 K 个新请求,然后把更新后的负载重新放回堆。堆结构能保证你在每次选择最小负载时只要 O(log N) 的操作复杂度,而整个过程要重复 M 次,所以总复杂度大概是 O(M log N),正好符合 OA 对时间性能的要求。这题比较容易踩坑的是边界情况,比如 K 为 0、服务器数量为 1、或者 M 特别大导致需要非常严格的堆操作效率。还有一些 test case 会故意构造负载相同的服务器,并测试你是否会把它们都正确放回堆中,而不是只更新一部分。另外最终输出前要记得把堆里的所有内容完整弹出,并保证排序正确。

做完编程题之后的 Work Simulation 就简单得多,可以理解成选择题版的 situational judgment test。不限时,而且逻辑都相对固定,有条件的话直接用 GPT 辅助做,基本不会出错。

想要和我们的面试辅助团队进行一次免费的沟通?

我们会直击要点,回答你的所有疑问,并介绍我们的服务。还有顾虑?我们可以提供免费的面试实战展示。

预约免费咨询

客户怎么评价我们

毫无疑问是市面上最专业的 SDE 辅助机构。我接触过若干家机构,但是你们的专业能力以及细致服务给我留下了非常深刻的印象。感谢你们带给我的无比丝滑的跳槽体验。

A.H. · Amazon SDE L5

现在的市场对于转码选手可以说是非常不友好了。本来我已经不抱希望,准备收拾行李回国了,但是和导师聊完之后,我打算赌一把。结果团队果然不负所托,帮我成功上岸 Capital One。

C.Z. · UIUC 物理转码

本来觉得辅助是一件非常不靠谱的事情,我也只是抱着试探的心态和你们的团队聊了聊细节。但是一试便知能力的深浅,无论是分布式理论还是项目实战经验,都非常符合我的面试岗位需求。如果没有你们的协助,估计很难拿下这个 senior role。祝生意兴隆。

匿名客户 · Senior SDE