Question Study

Amazon 面试题专题

本地面经库有 131 条来源 URL 去重后的记录,其中 131 条有正文;目前整理出 228 道代表练习题,其中 228 道已完成独立深文。题目清单仍在逐帖核对和补充。

Reading Guide

如何使用这份题目清单

题目根据面经方向重新表述,其中可能包含站内攻略建议的训练题;它们不是公司的官方题库,也不保证下一场面试重复出现。

先分岗位

Amazon 的不同岗位和团队可能考不同内容。先核对 JD 与面试邀请,再选对应题型。

合并同题变体

相同核心考点只保留一条,后续的附加约束放在原题里练,避免把同一道题当成多道题刷。

练习顺序

先口述输入、输出和边界,再写核心方案;最后解释复杂度、失败路径和面试官可能追加的约束。

Deduplicated Question Map

按考点去重的代表题

同一题的追加条件合并在一条里。题目清单用于确定训练范围;具体流程和准备优先级见公司攻略。

OA / Coding · 01

选择偶数台服务器分成 primary/backup,backup 容量至少为 primary

选择偶数台服务器分成 primary/backup,backup 容量至少为 primary;每台只用一次,最大化 primary 容量总和,奇数输入怎么办?

查看上方解题路线 ↑

阅读这道题的独立深文 →
OA / Coding · 02

每次给任意连续算力区间加正整数 x,最小化所有 x 的和,使数组非递减

每次给任意连续算力区间加正整数 x,最小化所有 x 的和,使数组非递减;如何证明下降量之和最优?

解题切入:相邻原始下降量之和是成本下界;每处下降对应一个后缀增量,构造达到下界。任意 x 操作的成本是 x。

阅读这道题的独立深文 →
OA / Coding · 03

从 n 个带宽节点选 K 个不同有序下标对,允许自配对和镜像对,最大化带宽和

从 n 个带宽节点选 K 个不同有序下标对,允许自配对和镜像对,最大化带宽和;K 很大时如何避免枚举?

解题切入:有序对形成单调和值矩阵,堆前沿枚举 K 大;大 K 改为阈值计数与前缀和,保留自配对和镜像对。

阅读这道题的独立深文 →
OA / Coding · 04

不同仓库的两件可以一次发,同仓只能单发

不同仓库的两件可以一次发,同仓只能单发;任意挑选物品,发完全部最少多少次?

解题切入:最少发货次数为 max(最大仓频次, ceil(n/2));分别证明双下界与可行配对,任意选件是关键合同。

阅读这道题的独立深文 →
OA / Coding · 05

对 1..n 每个数字选择正负号,使总和为 target,并返回排序后字典序最小的排列

对 1..n 每个数字选择正负号,使总和为 target,并返回排序后字典序最小的排列;如何线性构造及判无解?

解题切入:符号转为子集和 (n(n+1)/2−target)/2;连续值域允许从大到小优先取负,输出负数在前的升序排列。

阅读这道题的独立深文 →
OA / Coding · 06

字符串由 0、1、! 组成,替换 ! 最小化所有 i<j 的 01/10 对成本 x·count01+y·count10

字符串由 0、1、! 组成,替换 ! 最小化所有 i<j 的 01/10 对成本 x·count01+y·count10;如何线性枚举切分并正确取模?

解题切入:费用较小的 01 情形下,通配位置最优赋值可先 0 后 1;扫描所有切分更新成本,最小化完整整数后再取模。

阅读这道题的独立深文 →
System Design · 07

百万至千万 HTTP 温度传感器,十秒采样、近实时地图、一天至一年 min/max/current 查询且多年运行,如何拆写入、历史存储与瓦片?

百万至千万 HTTP 温度传感器,十秒采样、近实时地图、一天至一年 min/max/current 查询且多年运行,如何拆写入、历史存储与瓦片?

解题切入:十秒采样先算10万至100万样本/秒;latest、历史极值桶与地图瓦片分开,边缘范围回读原始数据,显示离线年龄。

阅读这道题的独立深文 →
System Design · 08

Kindle Reader 离线和多设备同书阅读,如何同步进度、处理并发与回退重读,并保证重试幂等?

Kindle Reader 离线和多设备同书阅读,如何同步进度、处理并发与回退重读,并保证重试幂等?

解题切入:进度使用稳定内容位置与revision,区分current和furthest;离线并发保留冲突分支,同op_id重试返回同结果。

阅读这道题的独立深文 →
OOD · 09

Amazon Locker 从单尺寸扩展到多尺寸,如何选最小可容纳空柜,防重复分配并处理取件、超时与硬件失败?

Amazon Locker 从单尺寸扩展到多尺寸,如何选最小可容纳空柜,防重复分配并处理取件、超时与硬件失败?

解题切入:Locker分配用原子FREE→RESERVED,最小合适尺寸是当前策略;硬件超时先核验,不能直接复用已占柜格。

阅读这道题的独立深文 →
OOD / System Design · 10

多图书馆支持预约、借取还,同一实体副本的借阅不可重叠

多图书馆支持预约、借取还,同一实体副本的借阅不可重叠;如何建模副本、执行事务并处理通知失败?

解题切入:Book与Copy分开;借还事务保护单副本状态,预约hold与Outbox通知衔接,消息失败不回滚已还书。

阅读这道题的独立深文 →
OOD · 11

Checkout Price Engine 支持百分比、固定减免、买赠及会员资格,isEligible/apply如何组合,怎样定义叠加与舍入?

Checkout Price Engine 支持百分比、固定减免、买赠及会员资格,isEligible/apply如何组合,怎样定义叠加与舍入?

解题切入:折扣资格与金额调整分离,先写买赠、基数、叠加和舍入合同;Engine统一汇总且返回可解释明细。

阅读这道题的独立深文 →
OOD / Coding · 12

按文件大小与后缀搜索,如何拆谓词与遍历

按文件大小与后缀搜索,如何拆谓词与遍历;跟随 symbolic link 时怎样检测环并定义路径别名输出?

解题切入:目录遍历与size/suffix谓词分开;对象身份用于环检测,祖先集合和全局visited对应不同别名输出政策。

阅读这道题的独立深文 →
Robotics / OOD · 13

高频check把电量低于50%的机器人送空桩,高于95%离桩,如何保护分配与命令幂等并处理途中状态?

高频check把电量低于50%的机器人送空桩,高于95%离桩,如何保护分配与命令幂等并处理途中状态?

解题切入:充电控制记录EN_ROUTE/CHARGING/LEAVING,预约机器人与桩原子绑定;重复check不重复派单,物理确认后释放。

阅读这道题的独立深文 →
AS / Coding · 14

实现随机Playlist,某歌播出后的N次播放都不能再选它

实现随机Playlist,某歌播出后的N次播放都不能再选它;如何均匀抽取、处理重复歌曲并将每次play优化到O(1)?

解题切入:可播数组均匀抽下标后swap删除,冷却队列长度超过N再释放最老歌曲;去重且独立歌曲数必须大于N。

阅读这道题的独立深文 →
LP Behavioral · 15

紧Deadline下完成重要项目时牺牲了什么,如何影响最终质量,怎样验证结果并偿还后续成本?

紧Deadline下完成重要项目时牺牲了什么,如何影响最终质量,怎样验证结果并偿还后续成本?

解题切入:期限交付需说明具体牺牲、风险批准与质量指标,延期范围有偿还计划;个人动作和团队成果分开。

阅读这道题的独立深文 →
LP Behavioral · 16

讲一次信息不完整时的决定

讲一次信息不完整时的决定:哪些未知会改变选择,等待成本是什么,如何限定行动范围与止损?

解题切入:信息缺口按是否改变决定排序,比较等待成本与可逆性;限定试验范围、退出阈值并及时更新判断。

阅读这道题的独立深文 →
LP Behavioral · 17

讲一次主动承担职责之外的问题

讲一次主动承担职责之外的问题:个人行动、权限、跨组协作、用户结果和长期owner如何说明?

解题切入:跨职责担当从用户风险出发,核对实际owner与权限;结果之后建立监控、文档与交接机制。

阅读这道题的独立深文 →
LP Behavioral · 18

系统间歇故障但显眼指标全绿时,你如何定位根因,用了多久,为什么最初假设错?

系统间歇故障但显眼指标全绿时,你如何定位根因,用了多久,为什么最初假设错?

解题切入:故障诊断从用户症状切片,保留错误假设的反证与因果验证;恢复、定位和永久修复分别计时。

阅读这道题的独立深文 →
LP Behavioral · 19

讲一次不同意最终方案但仍commit的经历

讲一次不同意最终方案但仍commit的经历:双方理由、决策权、决定后的行动和实际结果是什么?

解题切入:分歧先给双方目标和反证;最终决定后有具体实施、风险补偿和结果验证,commit不等于闭口不提新风险。

阅读这道题的独立深文 →
Bar Raiser · 20

明知有风险仍推进的项目,风险怎样量化、谁承担下行、兜底阈值是什么,重来会改什么?

明知有风险仍推进的项目,风险怎样量化、谁承担下行、兜底阈值是什么,重来会改什么?

解题切入:计算风险比较行动与不行动的下行,用范围、批准、试点和兜底阈值说明决策,不靠成功结果倒推。

阅读这道题的独立深文 →
LP Behavioral · 21

没有汇报关系时怎样影响peer配合共同目标,被拒后怎么调整,怎样证明实际落地?

没有汇报关系时怎样影响peer配合共同目标,被拒后怎么调整,怎样证明实际落地?

解题切入:无职权影响从对方约束出发,降低协作成本;保留拒绝后的提案调整与owner/期限,实际采用比点头重要。

阅读这道题的独立深文 →
Coding · 22

通用Weighted Random支持add(value,weight)与addWithExpiry,按活跃权重抽样

通用Weighted Random支持add(value,weight)与addWithExpiry,按活跃权重抽样;重复值、到期边界与并发怎样定义?

解题切入:活跃entry占weight张票,先清理到期再统一total抽样;重复值保留独立TTL,大规模可用Fenwick与expiry堆。

阅读这道题的独立深文 →
AI / Coding · 23

给模型图计算memory size并展示AI prompt/debug

给模型图计算memory size并展示AI prompt/debug;怎样定义逻辑张量字节、共享存储、dtype单位与运行峰值?

解题切入:先定逻辑张量还是运行峰值,形状乘元素字节并按storage身份去重;标量、零维、bits/bytes与共享view要核对。

阅读这道题的独立深文 →
Graph / Coding · 24

节点有整数值,给边起终点,求各连通分量内最大值减最小值的全图最大差

节点有整数值,给边起终点,求各连通分量内最大值减最小值的全图最大差;DFS和DSU如何取舍?

解题切入:分量范围由全部节点值极值决定,不是边端点最大差;DSU合并root极值,只加边适用,删边须改模型。

阅读这道题的独立深文 →
System Design · 25

设计S3类对象存储

设计S3类对象存储:上传/下载API、分块重试、原子发布、后端备份与数据中心事故恢复怎样衔接?

解题切入:对象上传会话先持久分块再原子发布manifest,重试保持upload身份;副本故障域、持久ACK与容灾RPO须一致。

阅读这道题的独立深文 →
ML System Design · 26

以图片search设计brand logo infringement候选检测,如何拆区域召回、重排、授权上下文与人工审核?

以图片search设计brand logo infringement候选检测,如何拆区域召回、重排、授权上下文与人工审核?

解题切入:Logo相似检索输出疑似候选,区域检测/ANN/重排分层;授权与人工复核决定处置,评估误报成本与品牌切片。

阅读这道题的独立深文 →
LLM System Design · 27

LLM quality validation平台怎样连接layer/tensor/logits/tokens检查、loss/模型裁判/人工评价和异步推理任务?

LLM quality validation平台怎样连接layer/tensor/logits/tokens检查、loss/模型裁判/人工评价和异步推理任务?

解题切入:评测run固定模型/数据/runtime版本,数值与任务质量分层;裁判校准、失败分母和shard完成状态保留。

阅读这道题的独立深文 →
ML Design · 28

Computer Use Agent从pretrain、posttrain、RL到inference如何连接,怎样定义观察动作、任务奖励、验证与恢复?

Computer Use Agent从pretrain、posttrain、RL到inference如何连接,怎样定义观察动作、任务奖励、验证与恢复?

解题切入:Computer Use训练轨迹包含执行后观察,RL需独立任务检查器;推理核观察版本、权限和预算,长任务成功率单独评。

阅读这道题的独立深文 →
AS / ML Evaluation · 29

RAG怎样评估?专家ground truth、BLEU/ROUGE和无标签cosine相似度分别衡量什么,如何识别事实反转与缺证据?

RAG怎样评估?专家ground truth、BLEU/ROUGE和无标签cosine相似度分别衡量什么,如何识别事实反转与缺证据?

解题切入:RAG拆检索、正确性、忠实性与覆盖,词面/向量相似仅代理;专家rubric和裁判校准需保留随机总体样本。

阅读这道题的独立深文 →
Coding · 30

Amazon OA

Amazon OA:字符串第一个不重复字符,计数与在线追问:两遍扫描保留原顺序,区分字符索引与字节索引,并解释流式候选队列。

解题切入:第一遍Counter统计全串出现次数,第二遍从头找count=1的字符;频表只负责唯一性,原串负责“第一个”。

阅读这道题的独立深文 →
Coding · 31

Amazon OA

Amazon OA:组内差不超过 maxdiff 的最少分组:排序后从最小未分配值建立最长可行组,以交换论证证明贪心。

解题切入:一维组内任意两值差不超过d等价于max-min≤d。排序后以最小未分配值x为组起点,吸收所有≤x+d的剩余值,再建下一组。

阅读这道题的独立深文 →
Coding · 32

Amazon AS OA

Amazon AS OA:给剩余预算,怎样完成最多任务:将完成时间减已用时间,排序剩余成本,证明最低成本优先并澄清已完成任务口径。

解题切入:构建remaining=max(0,required-spent)。题目给的spent是已经沉没的投入,不应该按required或spent大小排序。

阅读这道题的独立深文 →
Coding · 33

Amazon AS OA

Amazon AS OA:利润和为 target,按数值去重计数:区分位置对与数值对,使用频表约束双元素自配,并以规范顺序避免重复。

解题切入:Counter保留每个值频次。对每个不同a计算b=target-a,仅检查a≤b;b须存在,若a=b须count[a]≥2。

阅读这道题的独立深文 →
Coding · 34

Amazon Coding

Amazon Coding:每位用户订单与广告事件的最近时间对:先按用户拆分两条时间有序流,再双指针求绝对时间差,明确归因方向与并列输出。

解题切入:按user分组,禁止把全局最近的不同用户事件匹配。每组取两个有序数组,双指针比较当前时间,保留最小候选并移动较小时间一侧。

阅读这道题的独立深文 →
Coding · 35

Amazon AWS Coding

Amazon AWS Coding:乱序收包裹,返回最大 ID 和缺失列表:用幂等接收集合表达正确状态,分析查询输出下界及巨大稀疏 ID 的区间压缩。

解题切入:接收时set插入并更新maximum,查询扫描0..maximum并过滤未收到ID。先用最简单状态说明正确性:集合精确表示已收到,最大值是右界,补集就是所需缺失列表。

阅读这道题的独立深文 →
Coding · 36

Amazon Robotics

Amazon Robotics:一滴水从给定点流下,哪些格子会湿?:按有向可达性遍历低处邻格,区分单起点扩散与两海洋逆向搜索。

解题切入:将每个格子看节点,指向高度严格更低的邻格。从给定起点BFS/DFS,首次发现时放visited,最终集合就是所有有向可达节点。

阅读这道题的独立深文 →
Coding · 37

Amazon AS

Amazon AS:不用除法求除自身外乘积,零与溢出怎么处理?:输出数组保存左乘积,再累乘右乘积,解释常数辅助空间与精确整数边界。

解题切入:第一遍out[i]记录所有左侧值乘积,prefix从1起,每次写出之后再乘当前值。第二遍右向左,suffix为严格右侧乘积,将out[i]乘suffix后再纳入当前值。

阅读这道题的独立深文 →
Coding · 38

Amazon 前端 Coding

Amazon 前端 Coding:失败后持续失败,二分找首次失败日志:在False到True的单调状态上做lower bound,明确时间顺序、无失败和可观测起点。

解题切入:以半开[lo,hi)搜索第一条failed。mid失败则答案在mid或左边,hi=mid;mid成功则答案严格在右边,lo=mid+1。收敛位置可能等于n,表示全成功。

阅读这道题的独立深文 →
Coding · 39

Amazon Intern

Amazon Intern:两个有序数组原地合并,为什么从尾部写?:借尾部容量避免覆盖尚未读取数据,说明降序、无序和没有空余空间的合同变化。

解题切入:i指向arr1最后有效值,j指向arr2最后值,k指向arr1尾槽。每次把较大候选放k并移动对应读指针,保持已写后缀为最终排序后缀。

阅读这道题的独立深文 →
Coding · 40

Amazon 课程表

Amazon 课程表:可完成、修课顺序与具体环路径:Kahn给出顺序,失败后用显式DFS栈提取闭环,避免把所有残留节点误当环。

解题切入:建立before到after邻接和入度,0入度课程入队,处理课程后减少后继入度。全部n个出队则顺序满足每条依赖。

阅读这道题的独立深文 →
Coding · 41

Amazon NG

Amazon NG:不用排序签名,按字符计数分组 Anagrams:用完整26维计数元组建立可证明的等价类,说明质数乘积的精度与溢出。

解题切入:每词扫描一次构造26计数元组作为key,追加到对应组。计数key不可用无分隔拼接,否则不同计数可能编码成同串。

阅读这道题的独立深文 →
Coding · 42

Amazon Coding

Amazon Coding:先增后减数组,二分找最大峰值:用相邻斜率排除半区,解释端点、平台以及一般局部峰与全局最大差别。

解题切入:比较mid和mid+1:上升意味着峰在mid右边,lo=mid+1;下降意味着峰在mid或左边,hi=mid。半区始终保留唯一全局峰。

阅读这道题的独立深文 →
Coding · 43

Amazon VO

Amazon VO:行星碰撞,栈与连锁消除的循环不变量:仅处理左侧向右和新来向左的相遇,覆盖相等抵消与多次碰撞。

解题切入:栈保存已处理前缀最终幸存者。新行星只有负数且栈顶为正时会相撞;两个负数、两个正数、左负右正都不碰。

阅读这道题的独立深文 →
Coding · 44

Amazon VO

Amazon VO:合并三个有序数组并去重,再扩展到 K 路:堆维护各流当前最小项,输出去重与推进重复流分别处理。

解题切入:三路可以三个指针比较最小当前值;K路用堆放每个非空流的首项,项包含(value,流号,下标),避免同值无法区分推进哪个流。

阅读这道题的独立深文 →
Coding · 45

Amazon Coding

Amazon Coding:频率 Top K,桶排序与持续流更新:先统计频次再选K项,固定并列口径,区别元素大小 Top K 与超大日志聚合。

解题切入:Counter统计各值频次,上界为输入长度n,因此n+1桶可直接按freq放值,频率从高到低取够k项。并列用Counter首次插入顺序作为训练政策。

阅读这道题的独立深文 →
LP Behavioral · 46

Amazon Customer Obsession

Amazon Customer Obsession:理解用户后,怎样推翻技术方案?:从用户证据到方案改变和效果验证,回答“改善产品”与“推翻原方案”的同题变体。

解题切入:起点说明原方案为什么看似合理、谁是用户、用户的实际任务是什么。用户访谈、支持工单或任务日志要明确样本范围,避免把最高声量用户当全体。

阅读这道题的独立深文 →
LP Behavioral · 47

Amazon Are Right A Lot

Amazon Are Right A Lot:判断被证明错误,怎样承认和修正?:把原判断、反证、承认时点和修正后代价串起来,避免事后把错误包装成成功。

解题切入:明确当时假设、可用证据、选择路径和自己承担的决定;不要只用“团队判断失误”遮住个人责任。

阅读这道题的独立深文 →
LP Behavioral · 48

Amazon Invent and Simplify

Amazon Invent and Simplify:复杂问题怎样得到简单解法?:用删掉的复杂度、仍保留的要求和失败边界证明“简单”有实际价值。

解题切入:先写问题为何复杂:耦合、手工步骤、状态数量或历史约束;不是故意把简单问题讲复杂。列不可删的核心需求。

阅读这道题的独立深文 →
LP Behavioral · 49

Amazon Hire and Develop

Amazon Hire and Develop:怎样帮助同事成长?:定义能力缺口、渐进授权与独立完成证据,把教会和代做区分清楚。

解题切入:先核对对方目标和能力缺口,说明观察依据;将对方贡献与自己的支持动作分开,不能替对方叙述心理状态。

阅读这道题的独立深文 →
LP Behavioral · 50

Amazon HM

Amazon HM:最需要提升的地方,怎样讲真实短板?:选择影响过工作的具体短板,展示改进机制、残留问题和未来验证。

解题切入:选真实、相关且自己能改的习惯或能力缺口,明确它何时造成了具体损失;不把“太完美”当万能回答。

阅读这道题的独立深文 →
LP Behavioral · 51

Amazon Learn and Be Curious

Amazon Learn and Be Curious:最近主动学了什么,怎样用起来?:从未知问题到学习试验与迁移,回答学新技术及 GenAI 的行为追问。

解题切入:起点从实际未知问题出发,说明为什么必须学和哪些已有技能不够。兴趣可以作动机,但需能展开理解过程。

阅读这道题的独立深文 →
LP Behavioral · 52

Amazon Intern BQ

Amazon Intern BQ:Why Amazon 和 Why This Program 怎样回答?:把个人目标、具体岗位信号与已有能力连接,避免编造团队或实习政策。

解题切入:用实际职位描述与已知团队任务明确吸引点:问题规模、工程责任或技术方向。未知team方向就说需要了解,不用网上传闻补齐。

阅读这道题的独立深文 →
LP Behavioral · 53

Amazon LP

Amazon LP:收到严厉负面反馈,怎样回应并改变?:讲清具体反馈、核实与行为变化,兼顾有依据的接受和有证据的异议。

解题切入:反馈内容须具体到行为/产物与影响,说明谁在何场合提出;删去不必要个人身份信息。

阅读这道题的独立深文 →
LP Behavioral · 54

Amazon Deliver Results

Amazon Deliver Results:错过期限,怎样承担责任和修复?:重建预警与决策时间线,量化延误影响,避免把成功救火当按时交付。

解题切入:说明原承诺、估算依据和依赖,标出自己负责部分。时间线从首次偏离开始,不从最后一天事故开始。

阅读这道题的独立深文 →
LP Behavioral · 55

Amazon Customer Obsession

Amazon Customer Obsession:拒绝用户请求,怎样解释和替代?:核对用户真正目标与拒绝理由,提出可用替代并记录影响与后续反馈。

解题切入:先说明用户目标、请求方式、拒绝约束和自己的决策权限。用户想要某实现与想完成某任务不一定相同。

阅读这道题的独立深文 →
OA Coding · 56

Amazon OA

Amazon OA:安全单位最多左移一格,最大保护人口:把连续单位段转为少保留一个城市的选择,证明相邻段候选范围不重叠。

解题切入:找每段连续1,位置[a,b]含L=b-a+1个单位。若a=0无法向左扩张,全部留下覆盖该段;非负人口保证不制造重叠最优。

阅读这道题的独立深文 →
OA Coding · 57

Amazon OA

Amazon OA:加法预算下,选 M 个数最大化 Bitwise AND:从高位到低位试掩码,以每个数满足掩码的最小增量及 M 个最低成本判断可行。

解题切入:可行掩码t表示存在m项最终数都包含t的每个1位,即(y&t)==t;它不要求最终数恰等于t,也不要求AND恰等于t。

阅读这道题的独立深文 →
OA Coding · 58

Amazon Intern OA

Amazon Intern OA:最大 K,使至少 K 个实例评分 ≥ K:降序排序寻找最后合法排名,解释阈值单调性和截断桶的线性优化。

解题切入:降序排序后检查第k项是否≥k。成立时前k项都达标,失败时达到k的项不足k个,后面的更大k也不可能成立。

阅读这道题的独立深文 →
Coding · 59

Amazon Meeting Rooms I

Amazon Meeting Rooms I:一个人能否参加全部会议?:排序检查相邻区间,固定半开边界,说明零时长与时区输入的处理。

解题切入:按start排序,只需比较每个会议与前一个:前end>当前start则冲突;相等不冲突。遇到冲突立即返回false。

阅读这道题的独立深文 →
Coding · 60

Amazon Meeting Rooms II

Amazon Meeting Rooms II:最少房间数与最大重叠:用结束先于开始的事件扫描,证明并发下界可通过复用房间达到。

解题切入:每会议拆成start:+1、end:-1事件,按(time,delta)排序。这样同刻-1先处理,不把刚结束与新开始同时计入。

阅读这道题的独立深文 →
Coding · 61

Amazon Meeting Rooms III

Amazon Meeting Rooms III:延后会议后,哪个房间最忙?:双堆处理最小房号与最早空闲,保持会议时长和原始排队顺序。

解题切入:free最小堆存可用房号,busy最小堆存(actual_end,room)。每会议先把所有结束≤原start的房间转入free,不能仅释放一个。

阅读这道题的独立深文 →
Coding · 62

Amazon OA

Amazon OA:稀疏袋子区间,长度 K 窗口最大价值:将闭区间改为半开边界,前缀质量积分查询窗口,枚举所有斜率变化点。

解题切入:不能展开所有坐标,巨大间隙可能使空间爆炸。将每段变[l,r+1),前缀数组存完整段质量(length·value)。

阅读这道题的独立深文 →
Coding · 63

Amazon NG

Amazon NG:岛屿数、最大面积与逐行矩阵输入:四邻接遍历完整矩阵,再解释只保留行前沿的连通分量封口与面积累积。

解题切入:完整矩阵遍历每个未访问1作为新岛起点,用栈探索全部四邻1并计area,完成后更新largest。发现时就标seen,避免多父节点重复入栈。

阅读这道题的独立深文 →
Coding · 64

Amazon Cache

Amazon Cache:TTL + LRU,主动过期怎样避免旧计时器误删?:OrderedDict维护访问顺序,最小堆处理过期,版本号识别过时记录并定期压缩。

解题切入:状态分工:OrderedDict从LRU到MRU维护活跃entry,过期堆存(deadline,version,key)。每次put生成全局唯一version,get/put前advance先清到期再做容量判断。

阅读这道题的独立深文 →
OOD · 65

Amazon OOD

Amazon OOD:Keyboard + Mouse 输入系统怎样设计?:先用有序事件流表达键盘与鼠标输入,再拆设备适配、状态与订阅处理。

解题切入:先明确功能边界,InputEvent为不可变事件、DeviceAdapter把原生事件转通用形式,InputHub接收/排队/分发,InputState保留按住键与鼠标状态;不要为每个键建一套继承树。

阅读这道题的独立深文 →
OOD · 66

Amazon OOD

Amazon OOD:日志过滤、错误计数与小时 Histogram:从统一过滤合同出发,保持筛选集合、错误计数和时间分桶一致。

解题切入:LogRecord负责字段解析与合法性,Predicate表达level/type/时间范围等条件,LogAnalyzer先确定匹配集合,再提供filter/count/histogram;三功能共用谓词,避免边界各写一遍而不一致。

阅读这道题的独立深文 →
Coding · 67

Amazon AS ML Coding

Amazon AS ML Coding:手写线性回归与 Backprop:从平方损失推导权重和偏置梯度,用SGD同时更新并通过有限差分验证,不把框架API当推导。

解题切入:计算r_i=w*x_i+b-y_i,J=(1/(2n))Σr_i²。链式法则dJ/dw=mean(r_i*x_i),dJ/db=mean(r_i);1/2抵消导数中的2。

阅读这道题的独立深文 →
Coding · 68

Amazon OA

Amazon OA:每个前缀最多分成多少等长同频块?:用总字符频次的GCD筛候选块数,再以精确前缀频次向量核对,避免把必要条件当充分条件。

解题切入:前缀长度i、总计数C_c若分k块,每块字符c计数必须C_c/k,因此k整除全部C_c,候选是gcd(C_c)的约数;所有计数和为i也保证k整除i。

阅读这道题的独立深文 →
ML Coding · 69

Amazon AS ML Coding

Amazon AS ML Coding:Dropout 为什么除以保留概率?:实现训练和推理分支、复用mask的反向传播,证明期望保持并说明MC Dropout的适用边界。

解题切入:独立mask M_i~Bernoulli(q),inverted dropout输出Y_i=X_i·M_i/q。因此E[Y_i|X_i]=X_i,训练时除q而普通推理不用再缩放。

阅读这道题的独立深文 →
Coding · 70

Amazon Coding

Amazon Coding:Rotten Oranges,为什么所有源同时入队?:用多源最短传播时间而非依次模拟每个腐烂点,核对无新鲜和不可达。

解题切入:把全部初始2以time=0入同一BFS队列,统计fresh。发现新鲜邻格立刻标2且fresh--,入队time+1。

阅读这道题的独立深文 →
Coding · 71

Amazon VO

Amazon VO:免费公交加步行,怎样判断 K 街以内可达?:把公交边赋零步行成本、站点间步行赋曼哈顿成本,求最小累计步行。

解题切入:顶点为所有站点加start/end,公交连接边权0;任意两点可以步行,边权为Manhattan distance。这是非负权最短路,目标最短步行≤k。

阅读这道题的独立深文 →
Coding · 72

Amazon OA

Amazon OA:IP 黑名单 * 匹配与最近五次请求限频:点号按字面处理,独立核对通配匹配和短请求窗口,不让被屏蔽请求消失。

解题切入:star_match用DP,previous[i]表示此前pattern可匹配text前i字符。普通字符来自previous[i-1]且字面相等;*来自previous[i](空)或current[i-1](多吃一个)。

阅读这道题的独立深文 →
OOD · 73

Amazon OOD

Amazon OOD:Doc/Tag 类与多线程反向索引:同一事务维护文档和Tag关联,核对查询快照、删除、重复标签及锁粒度。

解题切入:模型Doc(id,body,version,tags)、Tag(name)、DocumentTag(doc_id,tag)多对多关系;内存可用docs[id]与by_tag[tag]=set(doc_id)。标签独立对象仅在有元数据/rename需求时引入。

阅读这道题的独立深文 →
System Design · 74

Amazon System Design

Amazon System Design:Bookstore 浏览与购买链路:拆书目、库存、订单和支付状态,解释并发抢最后一本、幂等与通知失败。

解题切入:对象分CatalogBook(ISBN,title,edition)、SKU/warehouse stock、Order/OrderLine、PaymentAttempt与库存reservation。书目与物理库存分开,浏览可缓存,而买下库存需要权威写。

阅读这道题的独立深文 →
Coding 电话面试 · 75

Amazon Cache 变体

Amazon Cache 变体:返回某个 Key 的最大时间戳 Value:按事件时间保留最新值,明确同刻策略,避免把类似缓存的描述误写成LRU。

解题切入:Map key→(timestamp,value)。set只有新timestamp≥当前才替换;旧事件不能覆盖更晚事件,访问顺序不参与答案。

阅读这道题的独立深文 →
Coding VO · 76

Amazon Coding

Amazon Coding:字典中的词能否由可重复使用的词拼成?:按字符位置做分词DP,排除直接用自己一次的平凡答案,并核对重复词与空串。

解题切入:对每个目标word,best[i]记录前i个字符最多可切几块,-1代表不可达,best[0]=0。转移从所有start<end检查word[start:end]是否在dictionary。

阅读这道题的独立深文 →
System Design / Query Processing · 77

Amazon L6

Amazon L6:查询树常量折叠,什么才是“安全节点”?:后序访问projection、predicate与子查询,保留类型、NULL、错误和函数副作用语义。

解题切入:遍历先递归每个nested query,再后序访问projection/predicate里的表达式子节点。表达式子节点先被折成literal,父节点才有机会成为全常量;不靠字符串替换。

阅读这道题的独立深文 →
LP / Project · 78

Amazon Dive Deep

Amazon Dive Deep:深入分析时,怎样确认研究的是正确问题?:区分目标、症状和假设,以价值、信息增益与反证决定分析顺序。

解题切入:先用用户/业务目标说明问题成本和边界,把症状与根因假设分开。复杂不等于价值高,需解释解决它为什么比其他问题优先。

阅读这道题的独立深文 →
LP / Project · 79

Amazon Operational Excellence

Amazon Operational Excellence:On-call 告警第一反应是什么?:从用户影响和止损开始,保留升级、值班交接与恢复确认,避免只说看dashboard。

解题切入:先说明值班范围、权限、告警含义与当班动作。分清亲自处置、辅助定位与旁听事故,不能把团队经历当自己主导。

阅读这道题的独立深文 →
LP / Project · 80

Amazon Cost

Amazon Cost:主动降本或性能治理,怎样证明没有转移成本?:在成本、用户质量与维护负担之间建立基线和护栏,报告按量归一化的实际收益。

解题切入:建立同口径基线:流量、任务量、账期、资源使用与单位成本;全站费用下降可能仅因流量下降,不自动是优化。

阅读这道题的独立深文 →
LP / Project · 81

Amazon Ownership

Amazon Ownership:自己引入的复杂度导致问题,怎样处理?:承认设计选择、拆除不必要状态,并验证修复没有继续叠补丁。

解题切入:描述当时为何引入复杂度及当时已知的需求,不以结果倒推所有高级设计都错。指出自己作出的具体决定。

阅读这道题的独立深文 →
Coding · 82

Amazon RPN OOD

Amazon RPN OOD:自定义 Operator 与计算逻辑怎样接入?:用arity与compute注册表驱动栈求值,保持操作数顺序并定义错误语义。

解题切入:Parser只负责token分类,Registry负责Operator(arity,compute),Evaluator负责栈与错误。新增operator不改一串if/else,只加注册项;arity允许0常量、1一元、2二元和更多参数。

阅读这道题的独立深文 →
Coding · 83

Amazon Graph

Amazon Graph:枚举 Start 到 Target 所有路径,遇环怎么办?:按单条路径的访问集合回溯,区别全局visited与有环图无限walk。

解题切入:当前path与active set仅表示这一条正在探索的路径,新增邻点不在active才入。找到target复制path输出再回退,完成分支退出时从active删点。

阅读这道题的独立深文 →
Coding · 84

Amazon Graph

Amazon Graph:连通分量有多少个,孤立节点算不算?:从N个分量开始,DSU只在不同根合并时减一,核对自环、重边和方向。

解题切入:DSU初始每点一个分量,result=n。每边find两个根,不同才按size合并并result--;同根边只形成冗余连接。

阅读这道题的独立深文 →
Coding · 85

Amazon Sliding Window

Amazon Sliding Window:最长无重复子串,左边界为何不能倒退?:用字符最后位置推进窗口,区分连续子串与子序列及Unicode口径。

解题切入:维护last[ch]和left。看到当前ch时left=max(left,last[ch]+1),再更新last到right,窗口[right-left+1]更新答案。

阅读这道题的独立深文 →
LP / Project · 86

Amazon LP

Amazon LP:失败项目或最大错误,怎样保留真正损失?:明确成功标准未达成的部分、个人责任与修复结果,区分判断错和整个项目失败。

解题切入:写出项目原目标、期限、用户与验收标准,以及到底什么没有达成。失败不必是全面报废,但须有明确未达目标。

阅读这道题的独立深文 →
LP / Project · 87

Amazon Project Deep Dive

Amazon Project Deep Dive:最自豪或最有挑战的项目怎么讲?:建立目标、约束、个人技术选择与结果证据,避免把团队成绩写成个人全包。

解题切入:选自己参与深且能追问的项目,不因品牌或规模大就选本人只做边角的一项。说明原始目标和最难约束。

阅读这道题的独立深文 →
LP / Project · 88

Amazon Ownership

Amazon Ownership:项目职责不清,怎样建立 Owner 与交付边界?:把未认领工作拆成决策、执行和验收责任,先核协调权再推进。

解题切入:列实际出现的模糊点:谁作决定、谁执行、谁接受结果或谁值班。用具体卡住的依赖说明,避免泛讲沟通不好。

阅读这道题的独立深文 →
LP / Project · 89

Amazon BQ

Amazon BQ:知道任务,却不知道从哪里开始怎么办?:从验收和最小未知出发设计第一个可验证动作,说明求助与试验如何减少不确定性。

解题切入:复述任务目标和验收,把“不会做”拆成领域知识、依赖、工具或路径选择的具体缺口。缺口不同时第一步应不同。

阅读这道题的独立深文 →
Coding · 90

Amazon Coding

Amazon Coding:无限次股票交易含手续费,Cash/Hold 怎样更新?:两状态DP保留旧日状态,每次卖出扣费,避免费用重复和未平仓虚增收益。

解题切入:cash为处理前缀后无股最高现金,hold为持一股最高账面现金。更新new_cash=max(cash,hold+price-fee),new_hold=max(hold,cash-price),两个均读取旧状态。

阅读这道题的独立深文 →
Coding · 91

Amazon AS

Amazon AS:前 K 大的数,别和频率 Top K 混淆:小顶堆保留最大的K个位置值,重复值照计并说明排序输出成本。

解题切入:堆未满先push,满后只有当前值>heap最小才replace。堆顶始终是保留项中最小者,因此可淘汰最不值得保留的一项。

阅读这道题的独立深文 →
Coding · 92

Amazon Coding

Amazon Coding:最多翻一格 0,最大岛屿面积是多少?:给现有岛编号,再合并零格四邻不同分量,避免重复加同一岛。

解题切入:先DFS给每个现有岛唯一id并存area;每个0枚举四邻id去重,候选面积=1+Σ不同相邻岛area。

阅读这道题的独立深文 →
Coding · 93

Amazon OOD Coding

Amazon OOD Coding:对象上下左右移动,返回最终坐标:显式方向映射与坐标合同,说明批次验证、非法指令和可交换移动的边界。

解题切入:把指令映射为(dx,dy),先将整批解析成合法moves,再累加到对象x,y。简单需求不需要每个方向建子类或设计地图导航。

阅读这道题的独立深文 →
Coding · 94

Amazon AS Coding

Amazon AS Coding:按 User 与 Action 统计总次数:用二层频表聚合完整记录,澄清date不参与总量键以及缺字段和重复事件。

解题切入:外层key user,内层key action,逐行+1;日期不用作key,因为目标是全时期总次数。若改每日统计,才增加date维。

阅读这道题的独立深文 →
OA Coding · 95

Amazon OA

Amazon OA:所有子数组 Top Two 差值,去重后求和:用单调栈提取可成为最高/次高的相邻支配关系,避免二次枚举连续子数组。

解题切入:任意非零差由某子数组唯一最高值u和一个次高v产生。选择最靠近u的v,二者间所有值≤v,所以u是该v在对应方向遇到的首个严格更大值。只需收集这些候选差。

阅读这道题的独立深文 →
OA Coding · 96

Amazon OA

Amazon OA:查询区间里,恰好 K 个进程运行多少秒?:把闭区间结束移到end+1事件,按并发数建立压缩长度前缀,支持巨大时间与零并发。

解题切入:事件start:+1,end+1:-1;排序事件点后,在at应用变化,得到[at,next)每个整数秒的并发数k,长度next-at。

阅读这道题的独立深文 →
OA Coding · 97

Amazon OA

Amazon OA:整体反转与左转一格,最少操作不能只数旋转:利用二面体关系证明最多需两次反转,核对可达排列及旋转方向捷径。

解题切入:两个操作只改变环方向和起点,故可达排列恰为升序环的旋转或降序环旋转。验证相邻值模n差+1或-1,不能假设任意排列都可排序。

阅读这道题的独立深文 →
OA Coding · 98

Amazon OA

Amazon OA:全局替换数值,让每种值只占一个连续块:把同值首末区间的重叠闭包转为最细分段,最少操作等于不同值数减区间分量数。

解题切入:每值v的first..last范围必须在最终同一值块内,因为全局替换永不把原v拆到多个final value。两个原值区间重叠就不能成为两个不同连续块,必须最终合并。

阅读这道题的独立深文 →
Technical Calculations · 99

Amazon EM 计算题

Amazon EM 计算题:MLP Batch 1 与 256 的 Roofline 下界:按给定带宽与峰值估算冷权重单次前向,明确融合、缓存和实际kernel效率的限制。

解题切入:主matmul FLOPs=2Bd²,最低冷HBM traffic=2(d²+3Bd+d)字节,分别含W、X/H/Y与bias。与硬件单位一致,不能把bits当bytes或把FMA只算1却仍用双FLOP峰。

阅读这道题的独立深文 →
LP Behavioral · 100

Amazon EM LP

Amazon EM LP:怎样处理 Low Performer?:以具体期望和观察确定差距,提供支持与可检验改进,而不是给人贴标签。

解题切入:先定义角色期望、观察周期、实际差距与业务影响,确认目标/资源本身是否清楚且可达;不能因为一个项目延期就给永久能力标签。

阅读这道题的独立深文 →
LP Behavioral · 101

Amazon EM LP

Amazon EM LP:高挑战工作与 Team Health 怎么平衡?:定义挑战收益、持续负担和降载阈值,避免用一次冲刺掩盖长期不可持续。

解题切入:明确挑战来自技术未知、时限还是业务责任,说明为什么值得承担;deadline不是自动批准无限负担。

阅读这道题的独立深文 →
LP Behavioral · 102

Amazon EM LP

Amazon EM LP:怎样让团队保持动机?:将共同目标连接到个人发展和自主空间,核对激励是否实际改变行为。

解题切入:讲团队目标为何有意义及当时动力下降的具体信号,如目标反复、影响不可见或缺少自主判断;先诊断再选动作。

阅读这道题的独立深文 →
AI Coding / Debug · 103

Amazon AI Coding

Amazon AI Coding:已有 Repo 的失败测试怎样定位与修复?:把Test→Route→Handler→Data→Response连接起来,核对最小补丁与AI建议,原始代码缺失仍待核。

解题切入:先运行最小可复现失败,保存test名称、输入、expected/actual、traceback与代码位置;按endpoint/症状分组,多个失败可能同根,不先改每个断言对应函数。

阅读这道题的独立深文 →
OA Coding · 104

Amazon OA

Amazon OA:House Robber II 环形相邻约束怎样拆?:将不同时选择首尾转换为两条线性DP,处理单元素与常数辅助空间。

解题切入:n≥2时合法解不能同时选0和n-1,因此至少排除一端。分别算[0,n-2]与[1,n-1]线性最大非相邻和,取max。

阅读这道题的独立深文 →
Coding + Distributed Follow-up · 105

Amazon LFU

Amazon LFU:O(1) 频率桶与分布式数据流追问:频率+桶内LRU维护淘汰顺序,明确成功访问、更新和跨分片近似的边界。

解题切入:状态values/frequency两个map,freq→OrderedDict桶,minimum_frequency。桶内从最旧到最新,get/更新把key从f桶移f+1桶末尾。

阅读这道题的独立深文 →
ML Coding · 106

Amazon ML Coding

Amazon ML Coding:手写 Decoder-only GPT 的四个类:MultiheadAttention、Feedforward、DecoderLayer、GPT:从形状和因果掩码到残差、输出logits与独立验证。

解题切入:先写形状合同:embedding从[B,T]得[B,T,d],加position;Q/K/V各投影d,再reshape[B,T,h,dh]转[B,h,T,dh]。score为[B,h,T,T],乘1/sqrt(dh)。

阅读这道题的独立深文 →
Round 1 Coding · 107

Amazon Coding

Amazon Coding:两个有序数组的第 K 小,二分划分如何证明?:在短数组二分左半部分元素数,处理重复值、空数组和一基k;区分随机访问数组与链表。

解题切入:短数组a划出i个,b划出j=k-i个,左侧正好k个。i范围[max(0,k-n),min(k,m)]确保两边容量合法。

阅读这道题的独立深文 →
Phone Coding · 108

Amazon LC98

Amazon LC98:验证 BST 为什么必须传全局上下界?:用严格开区间校验每个节点,避免只比较父子;迭代实现支持深链和任意大小整数。

解题切入:节点收到祖先约束(low,high),校验low<value<high;向左缩上界为当前值,向右提高下界。祖先界持续传下去。

阅读这道题的独立深文 →
Phone Coding · 109

Amazon Coding

Amazon Coding:返回重复数据,每个值只输出一次:区分重复值、重复记录和多余次数,双集合保证单次输出,并明确结果顺序。

解题切入:seen记录已见,emitted记录已输出。读到值已seen且未emitted时加入结果与emitted;无论是否重复都更新seen。

阅读这道题的独立深文 →
OA / Coding · 110

Amazon Coding

Amazon Coding:合并区间,端点相接究竟算不算重叠?:先固定闭区间语义,再用排序扫描维持覆盖不变量;与会议室半开区间的边界区别。

解题切入:按start排序,维护已完成结果与最后活动区间。新start≤活动end时相交,扩end到max;否则活动区间不会再被后续start连接,可以定稿。

阅读这道题的独立深文 →
Coding · 111

Amazon Coding

Amazon Coding:普通二叉树 LCA,目标缺失和同一节点怎么处理?:按节点身份求最近公共祖先,后序返回命中数,避免按值混淆重复节点或误用BST路径。

解题切入:后序处理左右子树,每个结果包括candidate与found。found分别统计是否命中目标a和b;节点是a则加1、是b再加1,因此a=b时同一对象可同时满足两个目标。

阅读这道题的独立深文 →
Phone ML Coding · 112

Amazon ML Coding

Amazon ML Coding:K-means 手写与距离矩阵的维度优化:Lloyd分配/均值更新,处理空簇和停止条件,从双循环到广播或矩阵乘法计算距离。

解题切入:中心C[K,D];assign每点选择最小平方距离,输出labels[N]。按labels累加sum[K,D]与count[K],非空簇更新为均值。均值是在固定分配下平方误差最小解。

阅读这道题的独立深文 →
Statistics Application / ML Breadth · 113

Amazon Statistics

Amazon Statistics:多维两样本整体分布检验,30 对 30 如何回答?:把用户特征和图像分布归入同一两样本问题,区分均值检验、MMD、分类器检验与低功效结论。

解题切入:先确认问题是均值还是整个联合分布。逐特征t检验只针对均值且需多重比较控制;即使所有边缘相同,相关结构仍可不同,不能答完t-test就宣称整体无差异。

阅读这道题的独立深文 →
Phone ML Breadth · 114

Amazon ML

Amazon ML:Transformer 与 RNN 的长序列和并行取舍:区分训练并行与自回归生成,比较attention二次成本、RNN顺序依赖和长期信息路径。

解题切入:RNN的h_t=f(x_t,h_{t-1})让同一序列跨t存在顺序依赖;仍可跨batch/矩阵操作并行,不能泛说RNN完全不能并行。Transformer在同一层的已知输入上同时构造QKV与attention,causal mask不阻止训练矩阵并行。

阅读这道题的独立深文 →
ML Deep Dive · 115

Amazon ML

Amazon ML:如何用 Decoder-only 模型生成句子 Embedding?:从因果hidden states选pooling,处理padding/EOS,设计对比训练与检索评估。

解题切入:取得某层hidden[B,T,d]与valid mask。last valid token含整个有效前缀上下文,可作简单起点;右padding不能固定取最后数组位置。EOS需模型训练与tokenizer实际支持,不临时加一个随机新token指望好效果。

阅读这道题的独立深文 →
OA Hard · 116

Amazon OA

Amazon OA:价格转移限制 x≤y,先证明可达性再谈最少操作:总和守恒、前缀单调与有限状态BFS;给小规模精确答案,标明原帖缺规模时不能承诺高效OA解。

解题切入:每次转移保总和S。定义前缀A_r=前r个值之和,x<y操作只把A_x至A_(y−1)全部增加p,其余不变。因此所有前缀只能增加,后面低价无法向前面高价反方向取钱。

阅读这道题的独立深文 →
VO Coding · 117

Amazon Coding

Amazon Coding:停车事件峰值与漏扫 Exit,哪些区间能确定?:按车配对生成半开会话、同时间事件批处理,区分完整日志峰值与缺失退出下的上界。

解题切入:事件按时间排序并按车辆ID组装会话状态。一个车先entry1、exit10、entry11意味着两次访问;只按ID去重会删真实第二次。重复扫码需要eventId/业务政策,不按同车全删。

阅读这道题的独立深文 →
Phone Coding · 118

Amazon Coding

Amazon Coding:从阅读顺序推荐下一本书:相邻转移频次模型、确定并列与冷启动政策,保留原帖未给的文件格式和过滤规则。

解题切入:遍历每序列的相邻(source,destination)计数,不连接不同用户序列的末尾/开头。每次A→B为A的候选B加一;一次会话多次转移按本训练合同都计数。

阅读这道题的独立深文 →
Phone Coding · 119

Amazon Coding

Amazon Coding:时钟夹角,时针在分钟内也移动:小时归一化、连续时针位置、较小夹角与整数算术;避免仅按小时整点计算。

解题切入:分钟一圈60分钟,分针角度6m;小时一圈12小时,时针角度30(h mod12)+0.5m。两者都以12点方向为0。

阅读这道题的独立深文 →
Phone ML Project Deep Dive · 120

Amazon ML

Amazon ML:全新用户没有历史,推荐模型究竟输出什么?:从未知user embedding的实际行为讲起,设计内容/上下文fallback、探索与新用户偏差评估。

解题切入:先画推理路径:若只用训练中user-id embedding,未知ID可能映射UNK、默认向量或直接报错;不能回答模型自动懂新人。检查真实encoder的lookup/default与特征缺省,给具体输出合同。

阅读这道题的独立深文 →
VO Statistics Application · 121

Amazon Statistics

Amazon Statistics:新 UI 的 CTR 上升、CVR 不动,先查分母再解释:拆曝光到点击到下单漏斗,核随机化与实验功效,处理小用户层和多重探索。

解题切入:先核样本量比、曝光埋点、点击去重、分组一致性和订单延迟。UI改了事件触发点可能只增加记录点击,不增加用户真实意图;实验被缓存/跨端污染也会失效。

阅读这道题的独立深文 →
VO ML Project Deep Dive · 122

Amazon ML

Amazon ML:为什么选这个 Learning Rate Scheduler?:将warmup、cosine、step与plateau关联到训练证据,明确更新步、恢复状态和比较预算。

解题切入:先解释当前曲线的目的与证据:早期loss/grad/update不稳用warmup逐步增学习率;后期希望缩小更新用decay。先检查bad data、loss scale与归一化,scheduler不能自动修复错误。

阅读这道题的独立深文 →
VO ML Project Deep Dive · 123

Amazon ML

Amazon ML:Gradient Clipping 裁什么,什么时候有用?:区分全局范数与逐值裁剪,解释AMP反缩放、梯度累积和分布式全局范数。

解题切入:全局norm裁剪g'=g·min(1,c/||g||),g=0保持0;当超阈值统一缩放,保持梯度方向。逐元素clamp(g_i,−c,c)改变方向,两者不混称。

阅读这道题的独立深文 →
VO ML Scenario · 124

Amazon ML

Amazon ML:预测 Query 与商品相关性,怎样超越 Cosine Similarity?:定义人工相关性等级,区分语义/词法/结构约束、点击偏差和多阶段检索排序。

解题切入:先定义相关性:精确满足、可替代、附件/关联、不相关等等级,并用标注规范处理品牌/型号/尺寸/否定词。查询“iPhone15 case”与手机本体词法相似,却不满足case意图。

阅读这道题的独立深文 →
VO ML Follow-up · 125

Amazon ML

Amazon ML:Bias–Variance Trade-off,先说清误差分解的条件:平方损失分解、训练集重复实验与容量/正则取舍,避免把单次训练差解释成variance。

解题切入:平方期望误差= (E_D[fhat_D(x)]−f(x))² + E_D[(fhat_D(x)−E_D[fhat_D(x)])²] + Var(ε|x)。中间交叉项因中心化/独立而消失,不能忽略假设只背三项。

阅读这道题的独立深文 →
VO ML Follow-up · 126

Amazon ML

Amazon ML:Double Descent 为什么不等于模型越大越好?:区分模型规模、训练epoch与样本轴,讨论插值附近不稳定、正则和验证设计。

解题切入:模型轴:固定数据与训练协议改变容量;epoch轴:固定模型看训练时间;样本轴:固定模型协议改样本。三者图形不能混画后用同一阈值解释。

阅读这道题的独立深文 →
HM ML Discussion · 127

Amazon ML

Amazon ML:上线比离线差,按什么顺序排查?:从指标/数据合同到特征服务、候选覆盖与实验偏差,逐层对照线上实际输出。

解题切入:先核指标单位、分母、归因窗口、订单成熟延迟和样本选择。离线AUC与线上CTR不是同指标,不能把不同量直接相减当质量掉点。

阅读这道题的独立深文 →
ML Deep Dive / Breadth · 128

Amazon ML

Amazon ML:Adam 与 AdamW,Weight Decay 为什么不能只写 L2?:动量、偏差修正与解耦衰减,区分SGD等价条件和自适应预条件下的差别。

解题切入:用真实loss梯度g更新m_t=β1m_(t−1)+(1−β1)g,v_t=β2v_(t−1)+(1−β2)g²;初始0时mhat=m/(1−β1^t)、vhat=v/(1−β2^t)。参数更新减ηmhat/(sqrt(vhat)+ε),各坐标不同缩放。

阅读这道题的独立深文 →
ML Depth / LLM Breadth · 129

Amazon LLM

Amazon LLM:LoRA 的矩阵形状、初始化和合并成本:冻结基座加低秩更新,计算参数量,说明训练内存与量化/多适配器推理边界。

解题切入:shape先逐项核:Ax为r维,B(Ax)为out维;trainable参数r(in+out),不是r²也不是out×in。r必须相对维度小才省更新参数。

阅读这道题的独立深文 →
ML Breadth / LLM Follow-up · 130

Amazon RL

Amazon RL:PPO Clipping 的 Advantage 正负怎么影响目标?:概率比、旧策略rollout和clip surrogate,解释裁目标不等于强制参数信赖域。

解题切入:最大化mean min(rA,clip(r,1−ε,1+ε)A)。若A>0,提高已采样动作概率有利,但r超过1+ε后这项被截平;若A<0,降低概率有利,r低于1−ε后被截平。正负乘法不能忽略。

阅读这道题的独立深文 →
HM ML Breadth · 131

Amazon LLM

Amazon LLM:RLHF 与 DPO,比较的是哪一段训练流程?:偏好数据、奖励建模与直接偏好目标,明确reference、log-prob求和和离线覆盖限制。

解题切入:典型reward-model流程先用偏好拟合reward,再让policy采样并优化奖励,同时限制偏离reference;需要考虑rollout/reward/value/策略更新。PPO只是可选策略优化方法之一。

阅读这道题的独立深文 →
ML Coding · 132

Amazon ML Coding

Amazon ML Coding:PyTorch InfoNCE,正样本下标与梯度怎样核对?:成对双塔embedding、in-batch negatives、稳定cross entropy和对称损失,独立标量与有限差分验证。

解题切入:归一化q/k后score=qkᵀ/τ,shape[N,N]。第i行target=i,loss是−score_ii+logsumexp(score_i*);对角是正确候选必须保留,不能套自对比mask把正样本删掉。

阅读这道题的独立深文 →
ML Breadth · 133

Amazon LLM

Amazon LLM:RoPE 公式为什么让 Q·K 含相对位置?:二维旋转块、频率与坐标布局,核对KV cache位置偏移和长上下文外推边界。

解题切入:每对(a,b)旋转得(a cosφ−b sinφ,a sinφ+b cosφ)。拼接d/2个独立rotation blocks;因为各块正交,单向量范数不变。

阅读这道题的独立深文 →
Coding Follow-up · 134

Amazon ML Coding

Amazon ML Coding:PyTorch Training Loop,更新与评估边界怎么写?:train/eval、清梯度、前向loss反传更新和按样本加权指标,用手算SGD独立验证。

解题切入:epoch开始model.train启用dropout/BN训练行为;每批move输入/target,zero_grad(set_to_none=True),前向CE、backward、step,顺序必须解释。若把zero_grad放backward后step前,会清掉刚算梯度。

阅读这道题的独立深文 →
LLM Breadth · 135

Amazon LLM

Amazon LLM:KV Cache 缓存什么,怎样估算内存与 Decode 成本?:区分prefill/decode、K/V与Q,计算GQA缓存规模并核位置、版本和前缀复用。

解题切入:prefill处理已知输入序列,各层历史token投影K/V保存;decode新token生成自己的Q/K/V,把新K/V追加后用当前Q读历史K/V。历史Q无需供未来attention,缓存它不是核心节省。

阅读这道题的独立深文 →
LLM Breadth · 136

Amazon LLM

Amazon LLM:FlashAttention 为什么省显存,但不是线性 Attention?:分块与在线softmax合并,避免完整score/probability写回,解释精确性、重计算与测量范围。

解题切入:朴素QKᵀ把T×T score写显存,再读softmax、写probability,再读乘V,多次大矩阵IO。分块将K/V和query tiles尽量在快存计算,避免完整T²中间矩阵在显存物化。

阅读这道题的独立深文 →
ML Project Deep Dive · 137

Amazon ML Deep Dive

Amazon ML Deep Dive:为何选这套 Metric,Validation 怎么划分?:将业务目标、标签/样本单位、数学指标与时间/用户划分连起来,区分RAG评测与监督任务。

解题切入:先给业务输出和损失:风险排序、阈值决策或推荐TopK是不同任务。说明label何时成熟、正负定义、评价单位和错判成本,才能解释为何选AUC/PR/precision/recall/calibration/排序指标。

阅读这道题的独立深文 →
ML Breadth / Deep Dive · 138

Amazon ML

Amazon ML:一千万条数据,Logistic Regression、Boosting 或神经网络?:由特征形态、交互、校准和部署约束决定候选,样本数不能单独决定模型。

解题切入:LR适合作可解释线性/稀疏基线,优化和增量训练较直接;非线性与交互通常靠特征或更强模型。正则、缺失、类别编码与校准需定义,不把有10M数据当线性模型一定过弱。

阅读这道题的独立深文 →
ML Breadth · 139

Amazon ML

Amazon ML:Random Forest 能不能处理 Time Series?:用只含过去的lag特征构造监督问题,区别序列归纳偏置、滚动验证和外推限制。

解题切入:RF可以输入lag y_t/y_(t−1)、过去rolling统计、已知日历和外生变量做监督预测;它不原生表达顺序/动态记忆,但不等于不能处理任何时序。

阅读这道题的独立深文 →
ML Project Follow-up · 140

Amazon CV

Amazon CV:Edge Detection Kernel 叫什么,为什么能检测边缘?:说明Sobel方向导数核、平滑与差分,区分梯度响应、阈值边缘和Canny完整流程。

解题切入:Gx核=[−1,0,1;−2,0,2;−1,0,1],Gy为其转置。水平方向差分[-1,0,1]与正交方向平滑[1,2,1]的外积,既抓强度变化又减少部分噪声。

阅读这道题的独立深文 →
Phone ML Breadth · 141

Amazon Statistics

Amazon Statistics:P-value 是什么,它不告诉你什么?:条件于零模型的尾概率、统计量方向与效应大小,解释多重选择和低功效。

解题切入:p=在H0模型和设计成立条件下,得到观察统计量同样或更极端结果的概率;条件在模型而不是对H0本身的后验概率。

阅读这道题的独立深文 →
Phone ML Breadth · 142

Amazon ML

Amazon ML:Causal Inference 从什么问题开始,而不是先选方法?:定义干预与ATE/ATT,区分预测关联、随机实验和观察识别条件,检查混杂/重叠。

解题切入:先说问题是谁在何时接受哪种处理,相比什么、结果何时测,估ATE/ATT/某群体效应。改变目标总体会改变需哪些识别/运输假设,不用一句“算correlation”代替。

阅读这道题的独立深文 →
ML Breadth · 143

Amazon ML

Amazon ML:Gradient Descent 与 Backpropagation 是同一件事吗?:用一层模型解释链式求导和参数更新,核共享参数、batch归一化与计算图。

解题切入:backprop负责沿计算图反向用链式法则求梯度;GD/SGD/Adam用梯度更新参数。反传不等于更新,计算梯度后可累积/检查,optimizer也可读取其他方式得到的梯度。

阅读这道题的独立深文 →
ML Breadth · 144

Amazon ML

Amazon ML:梯度消失/爆炸,Activation 与初始化怎样影响它?:链式乘积、sigmoid饱和、ReLU死区与方差传播,区分norm clipping和结构修复。

解题切入:反传沿路径乘局部导数/矩阵Jacobian,奇异值长期小于或大于1可导致幅值衰减/增长;多路径残差可提供更直接信号,但不是所有Jacobian都一个标量。

阅读这道题的独立深文 →
ML Breadth · 145

Amazon ML

Amazon ML:L1/L2 正则,稀疏性、尺度和 Optimizer 合同:对比绝对值与平方惩罚、近端soft-threshold及多重共线性,衔接AdamW解耦区别。

解题切入:L2导数λw平滑缩小权重,L1非零处subgradient λsign(w),0处是区间。稀疏性常来自目标几何/近端更新,不把简单减固定sign就说每次必稳定得到精确零。

阅读这道题的独立深文 →
VO Coding · 146

Amazon Coding

Amazon Coding:Word Search II,Trie 与路径回溯如何共享剪枝?:字典前缀树、路径内visited、终止去重与安全删除空支,明确标准题训练和未知变体。

解题切入:Trie把字典共有前缀存一份,从每格出发沿当前字母分支前进。不存在前缀立即剪枝,不给每个词独立扫描完整网格。终止标记用独立object避免与任意字符键冲突。

阅读这道题的独立深文 →
VO Coding · 147

Amazon Coding

Amazon Coding:Valid Parentheses,栈顶匹配与前缀不变量:匹配三类括号嵌套,区分只计总数、非括号字符政策与流式验证。

解题切入:读开括号push,闭括号必须有栈顶且与其类型配对,随后pop;扫完栈空才合法。不能只计三种净数量。

阅读这道题的独立深文 →
OA Coding · 148

Amazon Frontend OA

Amazon Frontend OA:Vanilla JS 愿望清单,状态与 DOM 合同怎么守?:初始5行、每次多5行、30行禁用,同一按钮切换愿望状态;真实DOM动作序列独立验证。

解题切入:唯一source of truth为visible与selected ID集合;DOM只展示,不以button文本猜状态。两不同商品同名也不能用name当key,ID先规范为String并检唯一。

阅读这道题的独立深文 →
OA Coding · 149

Amazon Frontend OA

Amazon Frontend OA:表单验证全部通过后,再追加一整行:name/phone/email规则注入、逐字段错误状态、submit拦截与原子append;原题正则条件保留待核。

解题切入:监听submit而不只click,键盘Enter也走相同验证路径;preventDefault防浏览器导航。取一次输入快照,交给明确规则层,避免边验边append。

阅读这道题的独立深文 →
Phone Frontend + Follow-ups · 150

Amazon Frontend

Amazon Frontend:10 个 100px 方块,扩到 100 个并做可访问分页:固定盒尺寸、flex换行、分页状态与原生按钮语义,用React实际DOM交互对照验证。

解题切入:容器flex并允许wrap,item flex不收缩、width/height100px与border-box。不能只写width100却让flex默认shrink后变小;viewport窄于100时须定义overflow/尺寸合同,而非无声破坏固定尺寸。

阅读这道题的独立深文 →
ML Knowledge · 151

Amazon AS

Amazon AS:Hyperparameter Tuning,怎样用有限预算找出可靠配置?:Grid、Random、Bayesian与多保真搜索的选择,重点解释验证泄漏、早停偏差与实验可复现性。

解题切入:先定目标与约束:例如固定推理p95/内存下最大验证PR-AUC,而非只找最高训练accuracy。建立可信baseline,记录数据版本、切分、seed、代码、配置、预算、失败原因和完整学习曲线;不稳的基础训练应先修复。

阅读这道题的独立深文 →
ML Knowledge · 152

Amazon AS

Amazon AS:Decision Tree 与 Random Forest,分裂、Bagging 和 OOB 如何解释?:从加权不纯度与叶子预测讲到随机森林的方差、树相关性、OOB边界和缺失值合同。

解题切入:节点标签比例p_k,Gini=1−Σp_k²。候选切分把样本分为L/R,收益为G_parent−(|L|G_L+|R|G_R)/n。最大下降只优化当前节点,贪心不保证整棵树全局最优;回归常用平方误差,不能直接用类别Gini解释。

阅读这道题的独立深文 →
ML Knowledge · 153

Amazon AS

Amazon AS:CNN、全连接与 ViT,空间结构和规模怎样影响选择?:卷积共享参数、局部感受野、patch注意力与尺度成本,用同一图像输入比较并界定适用条件。

解题切入:全连接把图展平成长度HWC向量,每输出单元都连所有像素,参数为HWC·D+D;不自带空间邻近和共享约束。它仍可学习空间关系,但数据和参数成本与图像结构不匹配时容易浪费。

阅读这道题的独立深文 →
ML Knowledge / HM · 154

Amazon AS

Amazon AS:Scaling Laws,固定算力该增参数还是增数据?:把经验幂律、训练算力预算与推理成本分开,说明外推、数据质量和指标转换的边界。

解题切入:先解释经验关系:在可比较训练条件与观测范围内,验证损失随参数、数据、算力变化可拟合为幂律,不是证明模型必有某种能力。一个教学形式L=E+A/N^α+B/D^β,E是拟合下限,A/B/指数由实验估计而非宇宙常数。

阅读这道题的独立深文 →
ML Knowledge / HM · 155

Amazon AS

Amazon AS:Pre-training 与 Post-training,数据、Loss 和验收怎样变化?:从next-token NLL到SFT回复mask与偏好优化,给出标签错位、padding和评估边界。

解题切入:预训练先做数据授权/清洗/去重/语言与领域配比、tokenization及污染检查,再把文本序列送入因果模型。目标L=−Σ有效位置log pθ(x_t|x_<t)/有效token数;teacher forcing的输入必须对应上一个token,不能让目标token通过attention泄露。

阅读这道题的独立深文 →
ML Knowledge / HM · 156

Amazon AS

Amazon AS:GRPO,组内相对奖励怎样替代 Critic?:以DeepSeekMath outcome监督为范围,解释组内优势、PPO裁剪、零方差组和采样成本。

解题切入:原算法用同一问题的多回复分数估计baseline,省去单独value/critic模型。教学写A_i=(r_i−mean(r))/(std(r)+epsilon),outcome监督下可把这一序列优势赋到其有效生成token;组内好坏是相对的,不能据A正负判断答案绝对正确。

阅读这道题的独立深文 →
Coding / Fundamentals · 157

Amazon Coding

Amazon Coding:滑窗中位数,离窗删除和双堆大小怎样保持正确?:先给精确有序窗口实现,再讲双堆惰性删除、重复值与隐藏空间增长。

解题切入:维护窗口的有序多重集。首窗排序,取rank k//2;偶数另取k//2−1。每次删除一个离窗值,再插入一个新值,重复数删除一个即可,不能把同值全删。

阅读这道题的独立深文 →
Coding / Fundamentals · 158

Amazon Coding

Amazon Coding:Regex Matching,点号与星号怎样做完整匹配 DP?:完整匹配、零次重复与一项以上重复的状态转移,明确只含点号星号的训练语法。

解题切入:设D[i,j]表示text前i字符与pattern前j字符完整匹配。D[0,0]=true;空文本可跳过成对atom*,因此a*b*匹配空串,a*b不匹配。普通字符或点号需要当前匹配且D[i−1,j−1]。

阅读这道题的独立深文 →
Coding / Fundamentals · 159

Amazon Intern

Amazon Intern:输出奇数,负数和超过 32 位的整数怎么处理?:看似一行的题也要明确整数合同、流式输出、负余数与输入解析。

解题切入:奇数定义是不能整除2,即x%2 != 0。不要用x%2 == 1作为跨语言解释:某些语言负奇数余数为−1。Python负数取模合同下==1成立,但!=0表达整除性质更通用。

阅读这道题的独立深文 →
Coding / Fundamentals · 160

Amazon Intern

Amazon Intern:Inheritance 与 Polymorphism,重写方法到底证明什么?:区分代码复用与动态派发,围绕父类合同、替换原则和组合边界组织例子。

解题切入:继承定义类型/实现关系,子类复用或扩展父类;多态让统一操作对不同实际对象产生相应行为。可以有继承但没有所需动态行为,也可用协议/duck typing实现多态而不继承同一父类。

阅读这道题的独立深文 →
Coding / Fundamentals · 161

Amazon Intern

Amazon Intern:Constructor、Destructor 与 Python __del__,生命周期怎样回答?:区分创建、初始化、终结与资源释放;解释引用、循环和上下文管理器的确定性边界。

解题切入:constructor常指建立对象及初始化过程;Python __new__负责创建实例,通常返回该类实例后__init__初始化,__init__必须返回None。__new__返回其他类型对象时该类__init__不按通常流程调用。

阅读这道题的独立深文 →
ML / Internal Transfer · 162

Amazon AS

Amazon AS:Float 类型与精度丧失,Ablation 怎样找到首个偏差?:FP32、FP16与BF16的范围/有效位,区分溢出、量化与累加误差,给受控精度实验路径。

解题切入:先分范围与精度:FP32 sign/exponent/fraction为1/8/23,FP16为1/5/10,BF16为1/8/7。BF16有较大指数范围但较少有效位,FP16近1时粒度更细但更易大值overflow;同为16bit不等于同误差。

阅读这道题的独立深文 →
ML / Internal Transfer · 163

Amazon ML Systems

Amazon ML Systems:Parallelism 与 Collectives,列切后为何接行切?:从矩阵形状解释Tensor Parallel MLP,结合DP、Pipeline、参数分片与通信拓扑取舍。

解题切入:Data Parallel各rank放完整参数处理不同样本,反向同步梯度;batch增加影响优化与学习率合同。参数/梯度/optimizer分片如ZeRO/FSDP改变驻留与all-gather/reduce-scatter调度,不能说DP一定只同步梯度或一定能装下模型。

阅读这道题的独立深文 →
Coding · 164

Amazon Frontend

Amazon Frontend:朋友买过而自己没买过,怎样按产品 ID 求推荐?:从原user/purchase/product结构求集合差,处理重复朋友、重复购买与同名产品。

解题切入:先扫描当前用户购买记录建立own productId集合。购买条数与amount不是同一个计量:本题是是否购买过,不以amount求热度,amount=0是否代表有效交易要业务确认,训练输入全部视作购买记录。

阅读这道题的独立深文 →
Coding · 165

Amazon Frontend

Amazon Frontend:URL 跳转表,怎样判断用户能否到达目标页面?:先确认跨用户是否允许串边,再建有向图、visited与零跳合同。

解题切入:过滤指定用户后建邻接表,以set去重重复记录。初始URL与目标URL是方向,不建无向边;孤立目标若不是start且从邻接找不到,返回false。

阅读这道题的独立深文 →
Coding · 166

Amazon Coding

Amazon Coding:让图全连通,最少移动几条边?:用边预算与连通分量证明c−1,并说明重接操作、重复边和不可行条件。

解题切入:先求连通分量c。每条跨分量新增连接最多让c减1,所以至少需要c−1次移动。这是下界,但还要证明有这么多不破坏原连接的边可借。

阅读这道题的独立深文 →
Coding / ML Knowledge · 167

Amazon Coding

Amazon Coding:有向图插入一条边,怎样验证不会产生环?:新边source→target前检查target可达source,解释输入DAG前提与原子更新。

解题切入:已有DAG加一条边若产生环,环一定包含新边;因此必须已有target→…→source路径。反之若该路径存在,加source→target闭合成环。先从target做可达搜索即可,没必要每次求所有拓扑排列。

阅读这道题的独立深文 →
Coding / ML Knowledge · 168

Amazon AS

Amazon AS:RL 的基本成分,状态、动作、奖励和策略怎样连起来?:用一个短任务讲清MDP、return、value与policy,区分即时奖励、探索和部分可观测。

解题切入:Agent观察状态或观测,按policy π(a|s)选动作,环境给下一个状态与reward。转移/奖励可随机,策略也可随机;动作不仅输出一个预测,还影响以后状态及拿到的数据。

阅读这道题的独立深文 →
Coding / ML Knowledge · 169

Amazon AS

Amazon AS:Surprisal 的单位是什么?Bits、Nats 与 NLL 怎样换算?:从负对数概率到熵与perplexity,给零概率、连续密度及tokenizer比较边界。

解题切入:事件x概率p(x),I(x)=−log_b p(x)。概率无量纲,所得信息量单位由底定义;p越小越惊讶。p=1时0,p=0事件如果实际出现代表模型给了零支持,surprisal趋于正无穷。

阅读这道题的独立深文 →
VO ML Knowledge · 170

Amazon AS

Amazon AS:Search Agent 多轮怎么做?Context 过长怎样保留证据?:区分消息历史、任务状态与证据库,用预算、检查点和版本化摘要控制多轮搜索。

解题切入:每轮状态至少分当前用户目标/约束、待核问题、已读证据和来源、消息历史、工具调用/结果ID、预算与失败记录。聊天message不是唯一状态库,旧工具结果可外存并用ID引用。

阅读这道题的独立深文 →
Frontend Coding · 171

Amazon Frontend

Amazon Frontend:Reusable Dialog,标题、关闭与 Action Buttons 怎么设计?:用可复用接口、受控状态与异步动作说明组件合同,补焦点和生命周期边界。

解题切入:一个open真值决定展示,关闭按钮、Escape、backdrop、action各自给close reason;调用onClose由父层决定是否关闭。不要同时维护内部open与外部open导致点击关闭后状态分裂。

阅读这道题的独立深文 →
System Design · 172

Amazon System Design

Amazon System Design:图片社交网站,大幅用户增长怎样拆容量与瓶颈?:上传、处理、CDN和动态Feed的增长预算,明确发布状态、幂等、删除传播和降级取舍。

解题切入:容量先拆上传写、图片存储、变体处理、Feed读取与图片下载。百万DAU每人每天0.2上传是20万图/day,2MB原图约400GB/day,不含副本/变体;每人读100张图是1亿次/day,两条流量路径数量级不同。

阅读这道题的独立深文 →
Architecture / Org-level Impact · 173

Amazon Principal

Amazon Principal:全球 Metadata,强一致写与低延迟读怎样定合同?:解释读一致性分级、quorum、区域故障与版本回滚,明确跨区延迟无法被缓存抹掉。

解题切入:先问metadata控制什么:访问策略、路由还是展示字段?安全敏感路由/权限可能不可容忍旧值,展示字段可允许有界陈旧。strict writes不能自动推读一定linearizable,也不能自动许可读任意缓存;用业务不变量确认API。

阅读这道题的独立深文 →
Architecture / Org-level Impact · 174

Amazon Principal

Amazon Principal:现有系统六个月后哪里会坏?不增人怎样改?:用约束、证据与风险排序做Architecture Review,给可执行迁移和停止线。

解题切入:先画一条关键请求和一条数据写入/恢复路径,列组件owner、存储真值、重试边界与故障传播。核业务损害最大的状态,不从技术组件清单按个人喜好逐个批评。

阅读这道题的独立深文 →
Architecture / Org-level Impact · 175

Amazon Principal

Amazon Principal:怎样衡量一个平台是否成功?:从消费团队任务成功、可靠性、采用与单位成本建立指标,避免只看调用量。

解题切入:先定关键消费旅程,例如新数据源接入到首个可信产物、业务发布到安全可观测、故障到恢复。逐旅程定义成功条件与分母,再设可靠性/延迟目标,不从平台CPU/请求数反推用户满意。

阅读这道题的独立深文 →
Architecture / Org-level Impact · 176

Amazon Principal

Amazon Principal:怎样防止平台团队成为 Bottleneck?:用支持需求分类、自助接口与可升级边界减少等待,同时守住高风险操作。

解题切入:先分类需求:标准重复请求、未支持能力、事故、信息缺失和高风险例外。测到达率、处理时间、排队年龄、返工与人工触点;降低排队不能靠关闭未解决工单。

阅读这道题的独立深文 →
Architecture / Org-level Impact · 177

Amazon Principal

Amazon Principal:怎样让其他团队采用你的平台?:从真实需求和试点到迁移、兼容与反馈,不用强制采用数字替代价值。

解题切入:先访谈代表团队当前成本、失败点与迁移阻力,区分解决问题的价值与平台统一愿望。选择有明确痛点、愿共同定义成功的试点,而非最容易被要求迁移的团队。

阅读这道题的独立深文 →
Technical Fundamentals · 178

Amazon SA Intern

Amazon SA Intern:什么是 DNS?缓存、权威服务器与故障怎么讲?:按一次查询解释DNS分层解析,区分名称解析、网络连接和服务切换。

解题切入:DNS是分布式分层名称数据库,常用于名字到地址解析,也有MX/TXT/NS等记录;不要只说“URL转IP”,URL还包含scheme/path而DNS主要处理名称。

阅读这道题的独立深文 →
Technical Fundamentals · 179

Amazon SA Intern

Amazon SA Intern:什么是 IP?地址、路由、端口和 CIDR 怎样区分?:解释网络层寻址与尽力而为传递,给子网例和IPv4/IPv6边界。

解题切入:IP在网络层提供地址与分组传递,路由器按目的地址和路由表转发;尽力而为不自动保证可靠、有序或唯一投递。TCP/应用协议在上层提供相应能力,UDP也可以运行其上的应用可靠机制。

阅读这道题的独立深文 →
Technical Fundamentals · 180

Amazon SA Intern

Amazon SA Intern:SQL 与 NoSQL 怎么选?从访问模式和事务范围回答:区分数据模型与查询语言,避免把一致性、schema和扩展能力二分。

解题切入:先列读取/写入模式、关系、事务、索引、增长与团队能力。订单付款/库存的跨记录不变量与用户会话按key读写需求不同,不能只问数据量大不大就选择NoSQL。

阅读这道题的独立深文 →
Technical Fundamentals · 181

Amazon SA Intern

Amazon SA Intern:什么是 ETL?增量、重试和数据质量怎样说明?:从Extract/Transform/Load讲到watermark、late data、幂等和ETL/ELT差异。

解题切入:Extract取源数据,Transform做类型/去重/连接/业务派生/质量校验,Load入目标;ELT先保原始再在目标处理,位置选择受治理、算力、延迟和成本影响,不能称一种绝对更现代。

阅读这道题的独立深文 →
Technical Fundamentals · 182

Amazon SA Intern

Amazon SA Intern:OOP 与 Functional Programming,状态和组合怎样比较?:用同一结算任务解释对象职责与纯函数变换,讨论副作用、不可变性和混合使用。

解题切入:OOP把数据和行为围绕对象职责组织,通过封装与接口让调用者依业务合同操作。不是必须建深继承树,组合/协议也常用;继承与多态单题见q160。

阅读这道题的独立深文 →
Motivation / Communication · 183

Amazon SA Intern

Amazon SA Intern:为什么做 Solutions Architect?怎样给非技术用户讲方案?:按岗位动机与技术沟通要求准备,连接真实经历、客户目标与方案取舍。

解题切入:动机先说明喜欢解决客户约束下的技术方案与沟通,再用一次真实例证明如何澄清需求、解释取舍、推动理解;不用“喜欢AWS生态”替代岗位职责理解。

阅读这道题的独立深文 →
System Design · 184

Amazon System Design

Amazon System Design:Package Installer,依赖顺序、版本冲突与 Payload 怎么处理?:拆解解析版本、规划DAG、验证下载与原子激活,解释拓扑排序不能解决全部依赖冲突。

解题切入:先分两个问题:选择相容版本与在已解析图上排序。name相同约束可能冲突,拓扑排序只处理依赖先后/环,不能解版本不相容。解析成功产生固定版本/digest lock plan,之后下载/执行不偷偷换最新版。

阅读这道题的独立深文 →
Phone Coding · 185

Amazon Audible

Amazon Audible:阅读事件流识别 Abusive Books,跳读证据与比例分母怎么定?:拆最后5%、先前10%与book事件比率,说明当前位置无法还原真实播放覆盖,给透明训练状态机。

解题切入:先展示信息不足:同样position=100与980、duration=1000的事件,一个人可能正常连续听了中间内容,也可能直接seek到980;只看两个位置无法区分真实覆盖。不能用max position把跳转当听完。

阅读这道题的独立深文 →
ML Knowledge · 186

Amazon AS

Amazon AS:CLIP 与 Qwen-VL,双塔检索和视觉语言生成结构怎样比较?:先确认Qwen版本,再比较视觉/文本交互、训练目标、输出与服务成本。

解题切入:CLIP图像和文本分别编码并投影到共享embedding空间,规范化向量相似度衡量配对;两个输入可独立预计算。原模型不是给图像后直接自回归写长回答的decoder。

阅读这道题的独立深文 →
Coding · 187

Amazon Text Editor

Amazon Text Editor:光标两侧栈与编辑成本:实现光标插入、向左删除和左右移动,区分单点编辑与随机跳转。

解题切入:left按正常顺序保存光标左侧,right反向保存右侧。逻辑文本始终为left+reverse(right),光标位置len(left);移动只是两个栈间迁移元素。

阅读这道题的独立深文 →
Coding · 188

Amazon 实现Grep

Amazon 实现Grep:逐行过滤与明确匹配合同:从流式行输入返回匹配行和行号,明确literal、空模式与反选。

解题切入:enumerate(lines,1)维护行号,以pattern in line判断字面子串;matched!=invert决定输出。generator逐行产出,不必保存所有匹配结果。

阅读这道题的独立深文 →
Coding · 189

Amazon RLE与Literal Blocks

Amazon RLE与Literal Blocks:八连值阈值和解码边界:按长重复段和八值原样块选择编码,明确标签、短尾段与损坏输入。

解题切入:先找到最大同值run。长度≥8用RLE;较短run依次进literal缓冲,凑足8输出B块。遇长run前先处理残余缓冲,再输出长run,确保输入顺序保持。

阅读这道题的独立深文 →
Coding · 190

Amazon 手写Memcpy

Amazon 手写Memcpy:非对齐字节访问与重叠合同:先实现可移植字节复制,再讨论对齐、宽加载、尾部与硬件优化。

解题切入:unsigned char指针逐字节读写对象表示,不把未对齐地址强转成word指针再解引用。循环第i步之前目标前i字节与源前i字节相同,其他目标字节未修改。

阅读这道题的独立深文 →
System Design / OOD · 191

Amazon 停车场OOD

Amazon 停车场OOD:车位、停车票与结算边界:分开车辆匹配、车位占用、停车会话和付费离场,处理并发分配与重复请求。

解题切入:实体分为Vehicle、Spot、ParkingSession、PaymentAttempt;session保存入场时刻、分配车位、状态和费率版本。Spot只管理可用性,不能同时承担价格计算、支付网络和车牌识别。

阅读这道题的独立深文 →
System Design / OOD · 192

Amazon Payment LLD

Amazon Payment LLD:支付意图、幂等与账务事实:区分业务支付意图、渠道尝试与账务记录,处理回调重复、超时和退款。

解题切入:PaymentIntent保存订单金额/币种/业务版本,Attempt保存providerRequestId与渠道状态,LedgerEntry记录不可变金额变化;用整数最小货币单位或明确Decimal,避免float。

阅读这道题的独立深文 →
System Design / OOD · 193

Amazon TicketMaster

Amazon TicketMaster:座位保留与迟到支付:把指定座位和总量票的库存合同分开,设计短期保留、过期与迟到回调。

解题切入:Event/Seat为静态可售对象,Reservation保存user、seat集合、expiresAt、generation和状态;唯一活跃座位占用在权威存储中控制。多座一起售需事务锁序或一致的原子批操作。

阅读这道题的独立深文 →
System Design / OOD · 194

Amazon YouTube TopK

Amazon YouTube TopK:时间窗计数、重放与热点:定义排名指标和窗口,比较精确聚合、候选筛选及近似TopK。

解题切入:事件包含eventId/videoId/eventTime,写持久流后按video分区去重和计数。滚动窗口分成分钟bucket,进入新分钟加新桶,退出旧桶减旧贡献;watermark与允许迟到时限明确。

阅读这道题的独立深文 →
System Design / OOD · 195

Amazon Log Scanner

Amazon Log Scanner:采集、检索与告警的不同路径:分开日志持久采集、按时间与关键词查询、持续告警,处理重试和高基数。

解题切入:agent给每条eventId、eventTime、service、host和序号,批量送持久队列;本地buffer有上限及丢弃/背压策略。确认接受不等于索引已经可查,API区分ingested/indexed位点。

阅读这道题的独立深文 →
System Design / OOD · 196

Amazon 音乐App

Amazon 音乐App:曲库、播放授权与离线状态:设计搜索曲库、播放清单、媒体投递与多设备播放状态,明确版权区域约束。

解题切入:Track记录媒体版本/演唱者/专辑与授权区域,PlaylistEntry有稳定entryId而非只以trackId唯一,允许同曲多次出现。播放session关联设备与可播授权,不把playlist对象直接当媒体文件。

阅读这道题的独立深文 →
System Design / OOD · 197

Amazon GitHub用户社区

Amazon GitHub用户社区:身份、内容与权限Feed:设计开发者社区的身份连接、帖子互动与关注Feed,防止外部API故障阻断站内功能。

解题切入:本站User与ExternalIdentity分开,绑定通过明确验证;public profile缓存可过期刷新,private项目访问仅按授权范围,不因外部API返回过就长期公开。

阅读这道题的独立深文 →
System Design / OOD · 198

Amazon 餐馆OOD

Amazon 餐馆OOD:菜单、订单与厨房履约:分开菜单版本、点单、厨房任务与结算,处理改菜和重复发送。

解题切入:实体MenuItem/Order/OrderLine/KitchenTicket/Payment职责分离。订单行有独立lineId、数量、定制选项和状态;同菜两种做法不能仅用itemId合并。

阅读这道题的独立深文 →
ML / System Design · 199

Amazon 招聘网站

Amazon 招聘网站:简历上传与关键词/语义检索:设计异步简历解析、混合检索、候选权限和版本更新,避免索引泄露已删除简历。

解题切入:上传API先给短期上传地址,提交后校验对象、限制大小、解析文件并提取结构化技能/经历与文本。状态uploaded→parsing→indexed/failed,异步job按documentId/version幂等;用户知道未成功解析不会以“搜索没找到”代替错误。

阅读这道题的独立深文 →
ML / System Design · 200

Amazon Code Generation

Amazon Code Generation:上下文、沙箱验证与质量闭环:从编辑器请求到代码候选,设计仓库上下文、测试隔离及可衡量的接受质量。

解题切入:请求包含当前位置、邻近代码、语言、依赖和仓库版本;上下文服务先权限过滤,再用符号/依赖/检索选相关片段,限制token预算。不是把整个私有仓库拼进每次prompt。

阅读这道题的独立深文 →
ML / System Design · 201

Amazon AWS自定义LLM微调

Amazon AWS自定义LLM微调:作业、检查点与租户隔离:设计数据上传、训练调度、失败恢复、模型验收及版本发布的完整闭环。

解题切入:控制面CreateJob校验base version、dataset manifest、训练参数和预算,使用幂等client key生成jobId。状态queued→provisioning→running→evaluating→succeeded/failed/cancelled,worker租约与attempt分开记录。

阅读这道题的独立深文 →
ML / System Design · 202

Amazon torch.distributed.barrier

Amazon torch.distributed.barrier:组同步、顺序与挂起:解释barrier等待的对象,区分进程集合点、梯度归约和设备任务完成。

解题切入:同步barrier形成组集合点,成员全部进入后调用才完成;async返回work,需wait后才能依赖完成。它没有把各rank模型参数或梯度数值合成同一值,数值同步要对应broadcast/all_reduce等操作。

阅读这道题的独立深文 →
ML / System Design · 203

Amazon Encoder与Decoder场景

Amazon Encoder与Decoder场景:表示、生成与Mask:按输出目标选双向表示或自回归生成,说明padding、causal及cross attention。

解题切入:需要全句上下文表示的分类、标签或检索encoder可双向看有效token,padding mask排掉占位符。表示如何池化及监督目标决定embedding质量,不能认为任意hidden mean就是可比较句向量。

阅读这道题的独立深文 →
Database Internals · 204

Amazon Aurora存储架构

Amazon Aurora存储架构:计算/存储分离与传统实例比较:把SQL执行节点、共享存储和故障域拆开,解释扩展读实例不等于扩展写能力。

解题切入:先拆执行SQL、管理buffer/cache、存储数据和持久化提交四项责任。Aurora cluster中计算实例与cluster volume分离,reader连接相同存储抽象;添加reader主要增加读执行能力。

阅读这道题的独立深文 →
Database Internals · 205

Amazon 数据库Replication

Amazon 数据库Replication:Ack、读位点与故障切换:明确提交等待的复制条件,区分数据持久、reader可见和新主可恢复。

解题切入:写提交先确定ack意味着日志到内存、持久化副本达到条件还是已应用。durable和visible是不同位点;复制收到了日志不证明reader已经重放到用户刚提交的版本。

阅读这道题的独立深文 →
Database Internals · 206

Amazon WAL与Redo

Amazon WAL与Redo:持久化顺序和崩溃恢复:用提交日志和数据页的时间顺序解释持久性,区分恢复与复制。

解题切入:WAL核心是数据页持久化前,对应变更日志先持久。这样崩溃后页尚未包含的更新可以由日志恢复,而不必每个小事务都立即flush全部数据页。

阅读这道题的独立深文 →
Database Internals · 207

Amazon MVCC

Amazon MVCC:版本可见性、快照与隔离级别:解释读者看到哪些版本,说明MVCC如何减少读写争用及仍存在的写冲突。

解题切入:更新生成可见性不同的版本,而不是让并发读者看到半个更新。快照根据事务提交/可见规则选择一个版本;未提交写不是任意读者都可见。

阅读这道题的独立深文 →
Database Internals · 208

Amazon 高并发写锁冲突

Amazon 高并发写锁冲突:热点、锁顺序与事务长度:定位锁等待来源,比较减少事务范围、分散热点与保持业务不变量。

解题切入:先采集wait graph、持锁事务时长、热点key、执行计划和重试量,区分死锁、长事务阻塞、热点串行化与扫描锁范围大。CPU低不代表服务无瓶颈,线程可能在等锁。

阅读这道题的独立深文 →
Database Internals · 209

Amazon 数据库引擎设计

Amazon 数据库引擎设计:写路径、放大与恢复预算:从用户写到日志、索引和持久数据,定义写放大并推导崩溃和扩容路径。

解题切入:画出接收→校验→冲突控制→记录日志→持久确认→更新可见数据→后台flush/整理。每条边说明失败后由谁恢复,不能只画组件名称。

阅读这道题的独立深文 →
ML Fundamentals · 210

Amazon MoE结构

Amazon MoE结构:Router、稀疏专家与负载均衡:解释每个token选部分专家时的计算、显存和通信,区分总参数与活跃参数。

解题切入:router对token表示产生专家打分,选TopK专家,把token路由到它们的FFN,再按选中权重合成结果。专家是可学习子网络,不默认“一人数学一人代码”等人工分类。

阅读这道题的独立深文 →
System Design · 211

Amazon Metrics Monitoring

Amazon Metrics Monitoring:时间序列、查询和告警:设计指标采集、窗口聚合、迟到处理与告警状态,控制高基数标签。

解题切入:采集sample含metricName、labels、eventTime、value和source序号,按seriesKey分区。校验类型/标签预算,counter reset、gauge瞬时值和histogram桶不能用同一sum处理。

阅读这道题的独立深文 →
OOD / Coding Design · 212

Amazon DB Partition拆合

Amazon DB Partition拆合:阈值、所有权与迁移状态:把“大就split、小就merge”变成可核对的键范围、状态机和并发切换合同。

解题切入:Partition包含id、keyRange、owner、generation、estimatedBytes和state;Planner只提出split/merge计划,Executor负责迁移与最终owner切换,不把同步if语句当可用的在线系统。

阅读这道题的独立深文 →
Coding · 213

Amazon 字符串关键词判断

Amazon 字符串关键词判断:Set、Trie与查询成本:区分给定子串的成员查询和枚举全部匹配,选择对应索引并计算字符串成本。

解题切入:少量单查询直接逐词比较,成本依词数量和比较字符;大量查询可预建set,平均查找探测接近常数,但计算子串hash仍要读字符,不能写整体O(1)。

阅读这道题的独立深文 →
Coding · 214

Amazon 树的序列化

Amazon 树的序列化:空指针标记与严格解码:用前序token保存树形,迭代解码避免深链递归溢出并拒绝残缺输入。

解题切入:序列化用stack先放root,弹节点输出值并压right再left,空节点输出None。空标记使左右缺失位置保留;只输出前序值不能唯一重建一般树。

阅读这道题的独立深文 →
Behavioral · 215

Amazon 重要决定

Amazon 重要决定:依据、替代方案与实际结果:用真实决策讲清为什么这么选、哪些信息未知,以及结果如何归因。

解题切入:界定当时选择、不可逆部分、决策期限与成功标准;重要性来自影响范围/风险,不能只说“项目很大”。

阅读这道题的独立深文 →
Behavioral · 216

Amazon Why Principal

Amazon Why Principal:组织问题、机制与个人范围:说明为何寻求Principal职责,以及已有经验如何支持组织层面的影响。

解题切入:先说想承担的问题类型:跨团队接口、长期技术方向或平台采用,而不是只想少写代码或升职。把目标岗位公开/已讨论职责与经历对应。

阅读这道题的独立深文 →
Behavioral · 217

Amazon 说No的经历

Amazon 说No的经历:边界、替代路径与责任:解释拒绝某个请求的依据、沟通和后续承担,避免把拒绝写成对抗。

解题切入:讲请求、对方需求及为什么当时不能直接答应:风险、资源或目标冲突需具体证据,不能用“我觉得不好”。

阅读这道题的独立深文 →
Behavioral · 218

Amazon 收拾他人留下的问题

Amazon 收拾他人留下的问题:先恢复,再建立机制:说明接手遗留事故或混乱时怎样确定范围、恢复交付并防复发。

解题切入:说明接手时用户影响、未知信息、Owner缺口和风险,不简单说“代码很烂”。先保存证据、收敛问题范围和恢复优先级。

阅读这道题的独立深文 →
Behavioral · 219

Amazon 与同事冲突

Amazon 与同事冲突:共同目标、证据与协作恢复:处理合作中的分歧,讲清沟通和决定后的行动,不把解决等同于赢争论。

解题切入:先说明共同目标和冲突维度,分别呈现双方合理关切;引用实际反馈而非“他就是不懂”。

阅读这道题的独立深文 →
Behavioral · 220

Amazon 日常使用GenAI

Amazon 日常使用GenAI:使用边界与错误交叉核验:解释AI在本人工作中的用途、验证方法和错误处理,不用工具名称代替能力。

解题切入:按具体任务讲输入、期望产物和使用方式:理解代码、提出测试、比较方案或草拟文档。解释为何这一任务适合工具,以及哪些决策需本人掌握。

阅读这道题的独立深文 →
System Design · 221

Amazon Web Crawler

Amazon Web Crawler:Frontier、主机限速与重试:把URL发现、抓取和索引分开,保证去重与每主机礼貌调度。

解题切入:Frontier保存canonicalURL、priority、nextEligibleAt及attempt,按host分桶并带全局资源预算。发现链接先过滤scheme/范围、规范化,再原子去重入队,避免循环链接无限增长。

阅读这道题的独立深文 →
OOD · 222

Amazon 选课OOD

Amazon 选课OOD:名额、先修与候补状态:设计学生报名、容量预占、退课及候补递补,处理最后一个名额的竞争。

解题切入:Course定义目录,Offering定义学期、教师、时段与capacity;Enrollment以(studentId,offeringId)唯一,状态enrolled/waitlisted/dropped。重复报名重试返回同一结果。

阅读这道题的独立深文 →
Recruiter Screen · 223

Amazon 自我介绍

Amazon 自我介绍:职责、项目证据与下一轮连接:用简洁介绍说明本人实际经验,保留可追问的技术决策和岗位匹配。

解题切入:先一句当前角色和主要问题域,再挑最相关一至两个项目。每个说问题、本人责任和可验证结果,避免列全部技术名词。

阅读这道题的独立深文 →
Behavioral · 224

Amazon 超出用户预期

Amazon 超出用户预期:需求、质量与真实收益:说明提供优于用户预期的服务时,怎样确认需求并验证结果。

解题切入:先说用户原始期待与背景,明确你如何获知而非替用户猜。超出预期要与用户目标有关,不是无请求地增加功能。

阅读这道题的独立深文 →
OA Coding · 225

Amazon 两区域分配

Amazon 两区域分配:强制配对、先手与贪心证明:用小规模Minimax区分自己最大收益与合作挑最大,明确先手和配对规则。

解题切入:状态(mask,forced)表示已取集合和下一步是否必须取partner;回合由已取数量奇偶及先手决定。自由步选任一剩piece;配对端点设置下一步forced,该强制步结束后恢复自由。

阅读这道题的独立深文 →
Coding · 226

Amazon Trie前缀查询

Amazon Trie前缀查询:完整词与子树结果:维护词典并按前缀返回候选,区分词结束标记、空前缀和输出排序成本。

解题切入:每字符沿child map下降,词尾用None键标记,避免用#与合法字符冲突。contains必须既找到节点又有terminal,前缀存在不代表完整词。

阅读这道题的独立深文 →
Coding · 227

Amazon 树的纵向浏览

Amazon 树的纵向浏览:列坐标、层序与同位置顺序:按列从左到右输出树节点,先对齐同列同行的排序合同再选择BFS。

解题切入:队列保存(node,column),取节点时写columns[column],然后左孩子列−1、右孩子列+1。BFS保证浅层先出队,同层左到右扩展使本练习tie稳定。

阅读这道题的独立深文 →
OOD Coding · 228

Amazon 购物车OOD

Amazon 购物车OOD:行项目、版本与Checkout报价:把购物车编辑、价格报价和下单分开,处理多设备修改与价格变化。

解题切入:Cart有ownerId/version,CartLine有lineId/productVariantId/quantity,价格展示来自报价快照。产品下架后保留不可购买状态让用户知道,不直接静默删行。

阅读这道题的独立深文 →

Next Step

把题目放回面试流程

题目只是准备的一部分;按公司攻略核对轮次、岗位差异和常见失分点。

查看 Amazon 面试全攻略 →
✓已复制微信号!