最近刚刷完 eBay 的 Online Assessment,这次 OA 在 CodeSignal 平台进行,总共 4 道题。我用了大概 65 分钟全部 AC,下面把真实题目和详细解题思路分享给大家,供准备 eBay SDE 的同学参考。
OA 整体情况
- 平台:CodeSignal
- 时长:70 分钟
- 题量:4 道 Coding
- 特点:前两题基础,后两题业务场景较强。CodeSignal 对代码可读性和边界处理要求较高,时间分配很重要。
题目 1:大小写字母数量差
题目描述给定一个字符串列表,统计所有字符串中大写字母个数与小写字母个数的差值。
解题思路直接遍历所有字符,使用 isupper() 和 islower() 计数,最后返回差值。注意只统计英文字母,非字母字符忽略。
代码框架:
Python
def count_case_difference(words): upper = 0 lower = 0 for word in words: for char in word: if char.isupper(): upper += 1 elif char.islower(): lower += 1 return upper - lower题目 2:数字重新排列分组
题目描述给定一个数字列表,按规则分成 number1 和 number2 两个组。新数字加入时,先和两组当前最大值比较,如果大于某组的最大值,则加入该组;否则加入长度较小的组。最后合并两个组返回。
解题思路维护两个列表和各自的最大值,逐个处理新数字,按规则加入对应组,最后合并返回。
核心:动态维护两个组的大小和最大值,决策加入哪个组。
题目 3:气球爆炸(Balloon Explosion)
题目描述给定 n×n 网格,每个格子有不同颜色的气球(用数字表示)。如果一个气球上下左右相邻位置有 ≥2 个相同颜色,则该气球爆炸。爆炸后上方气球下落填补空位。
解题思路
- 遍历每个格子,检查上下左右相同颜色数量是否 ≥2,标记需要爆炸的气球。
- 将标记的气球置为 0。
- 对每一列从下往上重新排列非零元素(模拟重力下落)。
关键:一次爆炸只进行一轮标记 + 下落。
题目 4:Binary Array 状态与操作
题目描述给定 binary array(只含 0、1)和 operation 数组,按操作规则处理后输出最终结果字符串。
解题思路维护当前状态数组,遍历 operation,根据规则更新状态,最后将数组转为字符串输出。
核心:状态维护 + 按规则模拟操作。
备考建议
- eBay OA 偏业务模拟题,多练字符串、数组处理和模拟题
- CodeSignal 对代码质量要求较高,变量命名要清晰,边界情况必须处理
- 时间分配:前两题快速拿分,给后两题留充足调试时间
写在最后
这次 eBay OA 能顺利通过,主要靠提前熟悉了类似业务模拟题和良好的时间管理习惯。
后来通过朋友推荐接触到Interview Aid,他们提供的最新 eBay CodeSignal 题库和解题思路,帮助我快速掌握了高频考点,准备效率提升明显。
如果你也在准备 eBay SDE,建议多练字符串处理和模拟题。
祝大家早日拿到 Offer!