← Back to blog ByteDance OA 2026 Question Distribution & Prep Guide | SDE Intern / NG Playbook
ByteDance

ByteDance OA 2026 Question Distribution & Prep Guide | SDE Intern / NG Playbook

2026-05-11

Heads-up: ByteDance's 2026 spring OA cycle started earlier than usual (Jan–Mar peak), and the North America and Singapore tracks share a question pool. This piece aggregates 30+ candidate debriefs into a concrete distribution + platform rules + 4-week roadmap.


1. Platform & flow

Region Platform # questions Time
North America / Singapore CodeSignal (Industry Coding) 4 70 min
China / HK / Macau Internal OJ (Niuke / in-house) 3–4 100–120 min

Trigger conditions:


2. Four high-frequency categories

2.1 Array / Hashing (~30%)

Representative: longest subsequence with bounded adjacent differences.

def longest_bounded_subseq(nums, k):
    from collections import Counter
    cnt = Counter(nums)
    keys = sorted(cnt)
    best = 0
    j = 0
    cur = 0
    for i in range(len(keys)):
        cur += cnt[keys[i]]
        while keys[i] - keys[j] > k:
            cur -= cnt[keys[j]]
            j += 1
        best = max(best, cur)
    return best

Complexity: O(n log n).

2.2 Sliding window (~25%)

Representative: shortest subarray sum ≥ k.

def shortest_subarray_sum_at_least_k(nums, k):
    from collections import deque
    n = len(nums)
    pre = [0] * (n + 1)
    for i, x in enumerate(nums):
        pre[i + 1] = pre[i] + x
    dq = deque()
    best = n + 1
    for i in range(n + 1):
        while dq and pre[i] - pre[dq[0]] >= k:
            best = min(best, i - dq.popleft())
        while dq and pre[dq[-1]] >= pre[i]:
            dq.pop()
        dq.append(i)
    return best if best <= n else -1

Complexity: O(n).

2.3 Dynamic programming (~25%)

Representative: unique paths with column constraints / edit distance variants.

def unique_paths_with_blocked(grid):
    R, C = len(grid), len(grid[0])
    dp = [[0] * C for _ in range(R)]
    dp[0][0] = 1 if grid[0][0] == 0 else 0
    for r in range(R):
        for c in range(C):
            if grid[r][c] == 1:
                dp[r][c] = 0
                continue
            if r > 0:
                dp[r][c] += dp[r - 1][c]
            if c > 0:
                dp[r][c] += dp[r][c - 1]
    return dp[-1][-1]

Complexity: O(R·C).

2.4 Graph / Stack (~20%)

Representative: largest rectangle in histogram, grid BFS, topological sort.

def largest_rectangle_in_histogram(heights):
    stack = []
    best = 0
    heights.append(0)
    for i, h in enumerate(heights):
        while stack and heights[stack[-1]] > h:
            top = stack.pop()
            left = stack[-1] if stack else -1
            best = max(best, heights[top] * (i - left - 1))
        stack.append(i)
    heights.pop()
    return best

Complexity: O(n).


3. 70-minute 4-question cadence (NA CodeSignal)

Phase Time Action
0–3 min Read all 4 Rank difficulty
3–18 min Q1 (easiest) Full marks
18–38 min Q2 At least sample-passing
38–58 min Q3 Aim for 50% hidden tests
58–70 min Q4 Partial code, fish for partials

CodeSignal Industry Coding is not all-or-nothing — partial tests carry partial credit. Don't give up just because you can't finish.


4. 4-week roadmap


5. FAQ

Q1: How many problems does ByteDance OA have?

A: NA: 4 / 70 min on CodeSignal. China: 3–4 / 100–120 min on Niuke or in-house OJ.

Q2: Can I tab away on CodeSignal?

A: Allowed but logged. NA anti-cheating is tightening — don't.

Q3: Will Python TLE on ByteDance OA?

A: Rarely at n ≤ 10^5. For n ≥ 10^6 switch to C++ or use sys.stdin.

Q4: Cooldown after failing?

A: ~3 months in NA, ~6 months in China.

Q5: Are NA and China question pools the same?

A: Partially shared (~30–40% overlap), but ordering and hidden tests differ.

Q6: Does ByteDance OA include BQ?

A: OA is coding-only. BQ comes at onsite.

Q7: How fast is the post-OA pipeline?

A: Phone screens typically scheduled 1–2 weeks after passing.

Q8: Will I get a score breakdown?

A: No public scoring, but HR will email pass/fail.


6. Need ByteDance OA help?

We offer current-week ByteDance high-frequency questions, timed mocks, OA done-for-you, and live VO support.


Last updated: 2026-05-11 | Author: oavoservice algorithm team