Skip to content

BCG coding questions

Practice BCG coding questions in the style candidates report for online assessments and technical interviews. Focus: easy-medium implementation + programming logic.

Item Typical expectation
Problems 1-3 coding tasks depending on drive
Skills easy-medium implementation + programming logic
Languages Java, C++, Python (confirm invite)
Bar Correctness first, then complexity

Question 1: Fibonacci / factorial iterative

Section titled “Question 1: Fibonacci / factorial iterative”
Show approach

Approach: Avoid exponential recursion.

Map<Integer, Integer> map = new HashMap<>();
for (int i = 0; i < nums.length; i++) {
// fill logic
}

Complexity: State time/space before coding. Test empty input and single-element cases.

Question 2: Find second largest unique element

Section titled “Question 2: Find second largest unique element”
Show approach

Approach: One pass tracking top two.

from collections import defaultdict
def solve(arr):
# fill logic
return arr

Complexity: State time/space before coding. Test empty input and single-element cases.

Show approach

Approach: Hash map or array[26].

Map<Integer, Integer> map = new HashMap<>();
for (int i = 0; i < nums.length; i++) {
// fill logic
}

Complexity: State time/space before coding. Test empty input and single-element cases.

Show approach

Approach: Loop bounds; handle n < 2.

from collections import defaultdict
def solve(arr):
# fill logic
return arr

Complexity: State time/space before coding. Test empty input and single-element cases.

Question 5: Sort array / implement bubble vs library

Section titled “Question 5: Sort array / implement bubble vs library”
Show approach

Approach: Know when O(n log n) matters.

Map<Integer, Integer> map = new HashMap<>();
for (int i = 0; i < nums.length; i++) {
// fill logic
}

Complexity: State time/space before coding. Test empty input and single-element cases.

Question 6: Simple stack valid parentheses

Section titled “Question 6: Simple stack valid parentheses”
Show approach

Approach: Stack of opens.

from collections import defaultdict
def solve(arr):
# fill logic
return arr

Complexity: State time/space before coding. Test empty input and single-element cases.

Question 7: Reverse a string / words in sentence

Section titled “Question 7: Reverse a string / words in sentence”
Show approach

Approach: Two pointers or split carefully.

Map<Integer, Integer> map = new HashMap<>();
for (int i = 0; i < nums.length; i++) {
// fill logic
}

Complexity: State time/space before coding. Test empty input and single-element cases.

Day Drill
Mon Arrays + hashing (2 problems)
Tue Two pointers / sliding window
Wed Stacks / strings
Thu Trees or graphs basics
Fri Timed mock (2 problems / 90 min)
Sat Re-solve Friday misses cold
Sun Light CS theory + rest
  1. Coding before reading constraints
  2. Passing samples but failing hidden tests
  3. Silent complexity (cannot explain Big-O in interview)
  4. Switching languages mid-prep
  5. Never practicing on the real OA editor style

McKinsey · Bain · Deloitte · Publicis Sapient · EY · PwC