Snowflake OA 2026 真题解析|3道 Hard Coding 全拆解

49次閱讀
No Comments

这套 Snowflake OA 是最近刚实测的一套,整体难度可以说在大厂 OA 里属于偏上水准。形式是 120 分钟 3 道题,全部都是 mid+ 以上强度,而且题目都偏向算法建模能力,而不是简单套模板。三题几乎都是需要完整思路 + 边界处理 + 性能优化,节奏一慢就很容易被时间压住。下面把这套真题结构完整拆一下。

1. String Patterns

题目简介

给定单词长度 wordLen 和允许的最大连续元音数 maxVowels,计算由英文字母(a-z)组成的合法单词数量。元音为 {a,e,i,o,u}(共 5 个),辅音为其余 21 个字母。合法单词指任意连续元音的数量不超过 maxVowels,结果需对 10⁹+7 取模。

String Patterns
String Patterns-2

解题思路

用动态规划:dp[i][j] 表示长度 i、结尾连续 j 个元音的合法字符串数。

  • 放辅音:dp[i][0] = (前一长度所有状态和) × 21
  • 放元音:dp[i][j] = dp[i-1][j-1] × 5(j ≤ maxVowels) 从 dp[0][0]=1 递推到 wordLen,最后对所有 j 求和取模 10⁹+7。

2. Paint the ceiling

题目简介

建筑公司会按照一个递推公式,生成一组边长s,我们需要从这组边长里选两个(可以选同一个,相当于正方形),分别当房屋的长和宽,要求这两个边长的乘积(也就是天花板面积)不能超过给定的a。最后要算出,一共有多少种这样的合法选择。

Paint the ceiling
Paint the ceiling-2

解题思路

首先根据根据题目提供的公式 s[i]=((k∗s[i−1]+b)modm)+1+s[i−1] 从 s[0] 开始生成长度集合 s,一共得到 n 个边长;接着为了避免重复计算,可以对 s 去重并按升序排序。随后问题转化为在集合中统计所有满足 x ≤ y 且 x × y ≤ a 的矩形组合数量。可以枚举每一个较小边 x,然后在其右侧寻找所有满足面积限制的 y,并将符合条件的组合计入答案。也可以使用双指针法。一个指针 left 从最小长度开始,另一个指针 right 从最大长度开始。如果 S[left]×S[right]≤aS[left]×S[right]≤a ,则对于当前的 left,所有从 left 到 right 的元素都满足条件,然后 left 右移。否则 right 左移。

3. Task Scheduling

题目简介

有两个服务器:付费服务器(任务耗时 time[i],成本 cost[i])和免费服务器(任务耗时 1,成本 0,但仅当付费服务器被占用时可用)。求完成所有任务的最小成本。

Task Scheduling
Task Scheduling-2

解题思路

这题的关键是理解免费服务器的使用规则:只要付费服务器在运行,免费服务器就可以并行处理任务,而且每个免费任务只需 1 单位时间。因此,如果我们把某个任务放在付费服务器上执行,它不仅完成了自己这个任务,还会产生 time[i] 个免费任务名额,相当于一次“覆盖”了 time[i] + 1 个任务。问题就转化为:选择若干任务放在付费服务器上,使得所有任务都被覆盖(总覆盖数 ≥ n),同时总 cost 最小。这本质上是一个 0/1 背包问题,用 DP 求最小成本即可。

冲刺大厂 OA|真题资源 + 实战辅助一站式支持

我们长期跟进北美大厂 OA 与 VO 实战节奏,包括 Amazon、Google、Meta 等主流 tech 公司,积累了大量真实高频题型与结构拆解经验。如果你希望拿到更多最新大厂真题整理,提前熟悉真实 OA 的难度与题型分布,在正式考试前进行高强度针对性模拟,或者在关键的 OA 阶段获得更稳的实战辅助支持,都可以直接 联系我们 。提前对齐节奏,AC 就不会只是运气问题。

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