最近做了一场 Walmart OA,平台 HackerRank,算法一题加 AI Coding 一题。Walmart OA AI Coding 这类题最近在不少公司都有出现,这场是 Spring Profile 读用户配置的修复题,把两道题的思路记下来,有在备考的参考一下。

第一题:最小 Stress 路径

题意
无向带权图,一条路径的 stress 定义为该路径上边权的最大值。给定 source 和 destination,求所有路径里 stress 的最小值;不连通返回 -1。
示例:1→2→3 的最大边权是 200,1→4→3 的最大边权是 20,答案取 20。
推荐做法:并查集 + 排序
把所有边按权重从小到大排序,依次加入图中。一旦 source 和 destination 在并查集里连通,最后加入的那条边的权重就是答案——因为更小的边已经尽量用过了,当前这条边是使二者连通所需的最小”最大边权”。
逻辑简单,代码也短,比 Dijkstra 写起来不容易出错。
备选:改 Dijkstra
把”求距离和”改成”求路径上的最大值”:松弛时用 max(当前路径最大边权, 新边权),再和原记录比较取更小,优先队列里按这个值排序。两种方法都能过,并查集写法更推荐。
边界要盯住:无向图需要双向加边;source == destination 时直接返回 0;不连通返回 -1。
第二题:AI Coding——Spring Profile 读用户配置

题意
用 Spring Profile 读取不同环境的用户配置,默认启用 dev;缺少用户信息时抛指定异常。
思路
通过 @Value 注入当前环境和配置项(name、password、email 等),并设好默认值;在 getUser() 里做完整性校验,缺字段就抛 NoUserFoundException(或题面指定的异常类)。
Profile 切换靠 application-dev.properties、application-staging.properties 等配置文件,保证默认走 dev,测试里能覆盖多环境即可。
定位策略:按测试用例名对着补注入和校验,比从头读所有文件快得多。看到测试名是什么,直接找对应的注入点和校验逻辑,本场测例跑通就过了。
FAQ
Walmart OA 用什么平台,多长时间?
HackerRank 平台,通常 60 到 90 分钟,两到三道题,根据岗位和批次略有差异。
Walmart OA AI Coding 是什么形式?
给你一个半成品的代码库,要求根据测试用例找到 bug 并修复,或者补全缺失的实现。不是从零写代码,而是读懂现有结构再做针对性修改。Spring Boot 相关的配置题(@Value 注入、Profile 切换、异常处理)在 Walmart 出现频率比较高。
第一题的并查集和 Dijkstra 哪个更推荐?
并查集更推荐。代码更短、逻辑更清晰、不容易写错。Dijkstra 改法也能过,但边界处理比并查集复杂,时间紧的时候优先选并查集。
AI Coding 题应该怎么定位断点?
不要从头读所有文件,先看测试用例的名称,测试名通常直接说明了哪个功能有问题(比如”should throw exception when user not found”),然后找对应的方法和注入点,针对性修改。这比通读代码快得多。
Walmart OA 难度大概是什么水平?
算法题偏 LC Medium,AI Coding 题看你对 Spring 生态的熟悉程度。整体不算难,但边界处理和测试用例覆盖要到位,隐藏用例会专门卡边界。
几点体会
第一题的并查集写法通常比改 Dijkstra 更短、更不容易写错——建图、排序、加边、判连通,四步下来逻辑很清晰,时间够的话优先选这个。
第二题是典型的配置注入加异常路径,重点是默认 profile 要设对、空值或缺字段要抛正确的异常,别只顾把主流程跑通。
Walmart 这套”算法 + AI Coding”的组合最近在不少公司的 OA 里都有出现,两种题型练熟了收益不只是这一家。
有在准备 Walmart 或其他北美大厂 OA 的同学,可以来找我们聊聊。我们是 InterviewShow,整理了各厂高频 OA 题型,最小瓶颈路径、Spring AI Coding 这类题都有覆盖,按目标公司给针对性刷题清单,一对一跟着走。有需要的来聊。