Amazon OA 分享|两道 Coding + BQ 测评,整体难度中等偏简单

30Times read
No Comments

今天下午刚收到 Amazon OA ,晚上就顺手把它做完了。整体体验下来感觉难度中等偏简单,两道题都不是特别复杂的算法题,更偏向数据结构 + 规律观察。如果平时刷题比较稳定,基本可以在时间内完成。

这场 OA 平台还是常见的在线评测环境,Coding 部分做完之后还会有一段 情境判断题(类似工作场景选择)+ 性格测试类问题。整个流程大概 100 分钟左右,节奏不算特别紧张。

Amazon OA 分享|两道 Coding + BQ 测评,整体难度中等偏简单

Coding 1:Bug Frequency 排序

题目简析

第一题整体非常经典,本质上就是一个frequency sort 类型的题。题目给一个 bugs 数组,每个数字代表一个 bug code,数组里可能会有重复的数字,需要根据 bug 的“重要程度”进行排序。

排序规则其实非常直观。首先是出现次数越少的 bug 越重要,也就是优先级越高;如果两个 bug 的出现次数相同,那么bug code 数值更小的排在前面。

比如示例数组:

[8,4,6,5,4,8]

统计每个数字出现次数之后会得到:

6 -> 1
5 -> 1
8 -> 2
4 -> 2

按照题目的排序规则,最终结果会变成:

[5,6,4,4,8,8]

解题思路

第一步先用 HashMap 统计每个 bug code 的出现次数,然后在排序的时候使用自定义排序规则:先按照 frequency 升序排序,如果 frequency 相同,再按照 bug code 本身升序排序。

代码实现上就是一个 频率统计 + 自定义 comparator 排序。这种题在很多 OA 里都比较常见,如果平时刷过类似题型,基本属于可以很快写完的类型。

Coding 2:Prefix 最大分段数

题目简析

题目给一个只包含大写字母 的字符串 packages。要求对于字符串的每一个前缀,计算这个前缀最多可以被切成多少段连续子串,并且需要满足一个条件:每一段里面每个字符出现的次数必须完全一样。

换句话说,就是所有分出来的子串,它们的字符频率分布必须一致。

举个简单的例子:

字符串:

ABAB

逐个 prefix 来看:

A     -> 1
AB -> 1
ABA -> 1
ABAB -> 2

最后一个 prefix ABAB 可以被分成:

AB | AB

因此这一位的答案是 2。

所以最终输出结果就是:

[1,1,1,2]

解题思路

这题的关键点在于:对于每一个 prefix,需要判断它 最多能被切成多少个相同结构的子串。

一般的思路是先维护 prefix 的字符频率统计。如果 prefix 长度是 n,假设它可以被分成 k 段,那么每一段的长度就是 n / k。只有当 n 能被 k 整除的时候,这种切分才是可能的。

接下来需要检查每一段的字符分布是否一致,也就是说每一段内部的字符频率是否相同。如果满足条件,那么这个 k 就是一个合法分段数,最终取最大的 k 即可。

实现时通常会用一个26 长度的频率数组 来记录字符统计,然后枚举可能的分段数量进行验证。整体属于 字符串处理 + 简单数学规律判断 的题型。

OA 其他部分

两道 Coding 写完之后,后面还有一部分Work Simulation,以及一些偏性格测试类型的题目。这部分主要是给一些工作场景,比如团队协作、任务优先级冲突、项目时间压力等,让你在几个选项中选择最符合自己行为方式的做法。有些题是单选,有些是让你在几个选项里选Most Likely / Least Likely。

Amazon 这部分题目基本都是围绕Leadership Principles来设计的,比如:Customer Obsession、Ownership、Bias for Action、Earn Trust 等等。所以做题的时候一般思路是偏向主动承担责任、优先解决客户问题、团队合作以及数据驱动决策 这些方向。这部分题数量不算特别多,但需要保持回答逻辑一致,不要前后矛盾。

了解更多

如果最近也在准备 Amazon / Google / Citadel / IMC 等公司的 OA,但对题型不太熟或者担心时间不够,其实可以提前多看看真实面经题库。我们这边长期整理各大厂最新 OA 题型,也有 实时OA助攻 和模拟训练,很多同学都是通过提前熟悉题型顺利通过 OA。

author avatar
Jory Wang Amazon资深软件开发工程师
Amazon 资深工程师,专注 基础设施核心系统研发,在系统可扩展性、可靠性及成本优化方面具备丰富实战经验。 目前聚焦 FAANG SDE 面试辅导,一年内助力 30+ 位候选人成功斩获 L5 / L6 Offer。
End of text
 0