9 月初的 BCG Engineer OA 又来了,这次分享一位学员的实战经历。
他是美本 Master 在读,数据背景偏强(有过两个 data internship),刷题基础不错,但对 Codesignal 环境和 OA 答题节奏不太熟。
在我们 Programhelp 的 mock 训练后,顺利通过四题,最后分数非常漂亮!

BCG Engineer OA 概览
平台:Codesignal
题量:4 道
题型分布:数组逻辑 + 哈希 + 矩阵处理 + 前缀和
难度:⭐⭐⭐☆
Q1. Find Peaks in Array
Problem:
Given an array of integers, find all elements that are greater than both their left and right neighbors.
The first and last elements should always be included.
Idea:
Loop through the array from index 1 to n-2.
If arr[i] > arr[i-1] && arr[i] > arr[i+1], include it in the result.
Don’t forget to always add the first and last elements.
Time complexity: O(n).
Simple but requires careful boundary handling.
Q2. Book Sections Organizer
Problem:
You are given a list of operations:
switch section_nameadd book_name
Each operation either switches to a new section or adds a book to the current one.
Return the section with the largest number of books at the end.
Idea:
Use a dictionary {section: set_of_books}.
Keep track of the current section while iterating through actions:
- For
add, insert the book into the current section’s set. - For
switch, update the current section.
Finally, return the section with the largest set size.
Using a set prevents duplicates — a key detail!
Q3. Matrix Patching and Sorting
Problem:
You are given a large matrix divided into multiple 4×4 blocks.
For each block:
- Fill in the missing numbers (from 1 to 16).
- Sort blocks by the number of missing values.
- Reassemble the blocks into a new full matrix.
Idea:
- Split the matrix into 4×4 blocks.
- Count missing values for each block.
- Fill them up and store
(missing_count, block)in a list. - Sort by
missing_count, then reassemble.
The implementation is tedious but straightforward with nested loops or NumPy arrays.
The test focuses on data manipulation and logic clarity rather than algorithmic difficulty.
Q4. Longest Subarray under Threshold
Problem:
Given an array and a threshold T, find the longest contiguous subarray satisfying a certain constraint based on sum and T.
Idea:
Using prefix sums, the condition can be transformed into an inequality:P[l] ≥ (P[r+1] - T) / 2
Since all elements are non-negative, prefix sums are monotonic — enabling binary search to find the smallest valid l for each r.
Time complexity: O(n log n).
This problem tests mathematical reasoning and the ability to model inequalities.
Overall Impression
整套题目体现出 BCG 对“逻辑与实现能力”的重视。
不像纯 SDE 那样考算法复杂度,而是看你能否在 有限时间里写出清晰、可维护的代码。
矩阵分块和数据结构的应用比例很高,尤其容易暴露基础薄弱点。
整体难度中上,只要提前熟悉 Codesignal 输入输出规范,就能稳稳拿分。
BCG Engineer OA 常见问题
Q1:BCG Engineer OA 和传统 SDE OA 有什么区别?
A1:BCG 的 Engineer 更偏逻辑和实现,不卷算法,而是看你的代码表达清晰度与思路完整度。
Q2:题目难度在 Codesignal 属于哪一档?
A2:属于中等偏上,Q3 和 Q4 的逻辑性较强,前两题较基础。
Q3:是否可以用 Python 解决全部题?
A3:完全可以,Python 在集合、矩阵操作上优势明显。
Q4:Programhelp 的 mock 是什么形式?
A4:我们提供远程无痕模拟实测,语音实时提醒 + 代码逻辑检查,确保正式答题时节奏稳定、不出错。
Q5:BCG OA 通过后多久会出结果?
A5:一般 5–7 天内邮件通知,有时会安排后续 VO 或 case 面。
别再孤军奋战,让专业助攻陪你闯过 OA 关
这位同学在正式测试前,通过 Programhelp 的一对一 mock 训练,提前适应了 Codesignal 的题型和时间节奏。
正式考试时能快速进入状态、准确判断题意。
我们的核心助攻亮点包括:
远程 mock 还原实测场景:提前熟悉 Codesignal 环境、输入输出格式与测试点逻辑;
实时语音提醒:遇到逻辑卡顿时能即时提示“检查边界”“换个维度理解题目”;
无痕联机辅助:全程稳定安全,平台检测无异常,测试点 100% 通过。
很多 BCG、McKinsey、Bain 等咨询类技术岗学员都通过类似的 mock + 实战方案,顺利拿下 offer。