Intuit SWE OA 真题分享|最新流程 + 备考建议(New Grad 亲历)

1,435Times read

刚刚完成了 Intuit SWE OA ,趁记忆还新鲜赶紧来写这篇分享。说实话,做之前我在各平台找了很久相关帖子,零零散散的信息拼在一起也不完整,所以想把自己的完整经历整理出来,希望能帮到后面准备的同学。

整体感受是:Intuit 的 OA 不是那种靠刷 Hard 题硬过的类型,但也绝对不是随便写写就能过的。它考的不是你能不能解题,而是你写的代码够不够稳、够不够工程化。我做完之后感觉还行,但回头看确实有几个边界 case 当时没想到——这也是我想特别提醒大家的地方。

Intuit SWE OA 真题分享|最新流程 + 备考建议(New Grad 亲历)

整体流程概览

Intuit 近期(2025 Q4 ~ 2026 Q1)New Grad / SWE 1 的招聘流程基本如下:

  1. 网申 → 简历筛选
  2. OA(2-3题):平台为 HackerRank 或 Glider,部分职位走 Uptime Crew 招聘平台
  3. Recruiter Phone Screen:30 分钟,行为题 + AI 使用话题
  4. Technical Phone Screen / VO:视岗位而定,1 ~ 2 轮技术面
  5. Offer / Rejection

部分岗位(通过 Uptime Crew 投递的)需先完成 Uptime 内部的 90 分钟 coding challenge,过了再移交 Intuit 本体面试。

Intuit SWE 26 OA 最新真题分享

以下为候选人实际遇到的高频题目(Programhelp整理)

服务器故障计数

你有 n 台服务器,ID 分别为 s1, s2, ..., sn。系统会处理一系列日志条目,每条日志的格式为:

  • <server_id> <status>,其中 status 只能是 "success""error"

你需要为每台服务器记录它的连续错误次数,规则如下:

  1. 如果一台服务器连续记录了 3 条 "error" 日志,它会被判定为故障并被替换(替换后的服务器仍使用同一个 ID)。
  2. 服务器被替换后,它的连续错误次数会重置为 0。
  3. 一条 "success" 日志也会将该服务器的连续错误次数重置为 0。

你的任务是:处理所有日志条目后,统计总共发生了多少次服务器替换。

示例:

输入:n = 2,日志 = ["s1 error", "s1 error", "s2 error", "s1 error", "s1 error", "s2 success"]

输出:1

解题思路:

用哈希表记录每台服务器连续“error”次数。遇到“success”将该服务器计数清零;遇到“error”计数加一,若达到3次则替换次数+1并将计数清零,继续处理所有日志,最终返回替换总数。

字符串最小长度

给定一个仅由字符 'A''B' 组成的字符串 seq

你可以重复执行以下操作:

  • 删除任意出现的子串 "AB""BB"
  • 删除后,字符串的剩余部分会自动拼接在一起。

你的任务是:执行任意次有效删除后,求出字符串可能的最小长度。

注:子串指的是连续的字符序列。

示例:

输入:seq = "BABBA"

输出:1

解题思路:

可删“AB”或“BB”等价于:每遇到一个B,只要左边还有字符就能和它组成可删对并一起消掉。用栈模拟:读到A入栈;读到B若栈非空就弹栈(删掉一对),否则入栈。最后栈长度即最小剩余长度。

Pair Swapping

天平的两个托盘上各放了若干个砝码。你需要判断:能否通过交换两个托盘上各一个砝码,让天平保持平衡。

给定两个整数数组,分别代表两个托盘上的砝码重量。请编写程序判断是否存在这样一对砝码,交换后天平平衡。

输入格式:

  1. 第一行:一个整数 M,代表第一个托盘上砝码的数量。
  2. 第二行:M 个用空格分隔的整数,代表第一个托盘上的砝码重量。
  3. 第三行:一个整数 N,代表第二个托盘上砝码的数量。
  4. 第四行:N 个用空格分隔的整数,代表第二个托盘上的砝码重量。

输出:

如果存在这样的一对砝码,返回 true;否则返回 false

解题思路:

通过数学推导简化判断逻辑,首先计算两个托盘砝码的总重量,分别记为 sum1 和 sum2。假设交换的两个砝码重量为 a(来自第一个托盘)和 b(来自第二个托盘),交换后平衡的条件是 sum1 – a + b = sum2 – b + a,整理后可得 sum1 – sum2 = 2 (a – b),这说明两个托盘的总重量差必须是偶数,否则直接返回 false。若总重量差是偶数,计算目标差值 diff=(sum1-sum2)/2,接着遍历第一个托盘的每个砝码 a,判断是否存在 b=a-diff 且 b 在第二个托盘中,存在则返回 true,遍历结束都未找到则返回 false,避免了暴力双重循环,提升效率。

Oldest and Youngest

你正在从一栋着火的建筑中疏散人质,每次只能带走两个人。你决定每次优先带走最年长和最年轻的人质。

请编写一个函数,从表示人质年龄的整数数组中,找出最年长和最年轻的人质。

输入格式:

  1. 第一行:一个整数 N,代表人质的数量。
  2. 第二行:N 个用空格分隔的整数,代表每个人质的年龄。

输出格式:

输出最年长人质的年龄和最年轻人质的年龄(按题目要求的顺序)。

解题思路:

直接遍历数组获取极值,首先判断人质年龄数组是否为空,非空的情况下,初始化最年轻年龄为数组第一个元素,最年长年龄也为数组第一个元素。然后从第二个元素开始遍历整个年龄数组,每遍历一个年龄,就与当前最年轻年龄对比,若更小则更新最年轻值;与当前最年长年龄对比,若更大则更新最年长值。一次遍历就能同时找到两个极值,时间复杂度最低,遍历完成后直接输出最年长和最年轻年龄即可。

别让海投换来的 OA 成为你上岸的终点

现在的 Headcount 每天都在缩减。你拿到手里的每一个 OA,都可能是你今年唯一且最后的上岸机会。别用这宝贵的机会去测试自己的运气和所谓的题感。

把专业的事,交给顶级的专家。如果你现在手里捏着迟迟不敢点开的 OA 链接,或者正因为马上到来的 VO 而夜不能寐,立刻去联系 ProgramHelp 。用最稳、最狠、最准的方式,把那个本该属于你的 Offer,牢牢抓在手里!

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