← Back to blog Amazon SDE NG Three-Round Debrief: Valid Palindrome II + Insert Interval + Bracket Expansion, with LP Behavioral Deep Dive
Amazon

Amazon SDE NG Three-Round Debrief: Valid Palindrome II + Insert Interval + Bracket Expansion, with LP Behavioral Deep Dive

2026-06-07

I've interviewed for Amazon NG roles many times; the process is roughly similar each time, but the experience and emphasis keep evolving. This debrief is from a just-finished Amazon SDE NG loop—three rounds total: one pure coding, one pure behavioral, one mixed (coding + behavioral). Overall takeaway: the problems aren't especially hard, but the bar on communication, systematic thinking, and Leadership Principles internalization keeps getting more concrete.

1. Three Rounds at a Glance

Round Structure Lead Focus
1 Pure coding (2 problems, 45 min) SDE Valid Palindrome II + Insert Interval
2 Pure BQ (3 questions, 40 min) EM Disagree / Ownership / Failure
3 2 BQ + 1 coding mixed engineer Earn Trust / Invent & Simplify + bracket expansion

2. Round 1: Pure Coding (2 problems, 45 min)

Tight pace—straight into livecode, no chit-chat (very Amazon-style efficiency).

Problem 1: Valid Palindrome II (palindrome after deleting one char)

Decide whether a string can become a palindrome by deleting at most one character. Two pointers plus a helper for the skip logic.

def valid_palindrome(s: str) -> bool:
    def is_pal(i, j):
        while i < j:
            if s[i] != s[j]:
                return False
            i += 1; j -= 1
        return True

    i, j = 0, len(s) - 1
    while i < j:
        if s[i] != s[j]:
            # first mismatch: delete left or delete right
            return is_pal(i + 1, j) or is_pal(i, j - 1)
        i += 1; j -= 1
    return True

Not hard, but the interviewer pushed two corner cases: empty string and single character. I had test cases ready that covered both.

Problem 2: Insert Interval (insert and merge)

Input is a set of non-overlapping, sorted intervals plus a new interval; insert it and merge into a new interval list. Linear pass: add all intervals before the new one, merge all overlapping ones, then append the rest.

def insert(intervals, new):
    res, i, n = [], 0, len(intervals)
    # 1) intervals entirely before new
    while i < n and intervals[i][1] < new[0]:
        res.append(intervals[i]); i += 1
    # 2) all overlapping with new, merged into one
    while i < n and intervals[i][0] <= new[1]:
        new = [min(new[0], intervals[i][0]), max(new[1], intervals[i][1])]
        i += 1
    res.append(new)
    # 3) intervals entirely after new
    while i < n:
        res.append(intervals[i]); i += 1
    return res

No hiccups in coding; the follow-ups centered on time complexity (O(n)) and "why not binary search"—I explained it's usable in theory, but a linear scan is more intuitive and one pass is more robust.

3. Round 2: Behavioral (3 questions, 40 min)

A fully LP-driven BQ round led by an EM who dug deep into project experience and details.

4. Round 3: Mixed (2 BQ + 1 Coding)

BQ first half, coding second. The interviewer was a young engineer—fast talker, crisp logic.

Coding: bracket expansion a2(bc)3(d)abcbcddd

Stack-based parsing: push context on (, pop and expand on ), watch for multi-digit numbers (e.g. 10(ab)) and empty-string edge cases.

def expand(s: str) -> str:
    seg_stack, mul_stack = [], []   # segment stack + multiplier stack
    cur, num = "", 0
    for ch in s:
        if ch.isdigit():
            num = num * 10 + int(ch)        # handle multi-digit
        elif ch == '(':
            seg_stack.append(cur); mul_stack.append(num)
            cur, num = "", 0
        elif ch == ')':
            cur = seg_stack.pop() + cur * mul_stack.pop()
        else:
            cur += ch * num if num else ch  # a2 means a repeated twice
            num = 0
    return cur

The interviewer liked that I proactively wrote test cases, and finished by asking about the time/space complexity trade-off.

5. Lessons Learned

Across many Amazon NG loops, the problem types change little, but the bar on detail-digging, completeness of reasoning, and LP internalization keeps rising. Many candidates think BQ is just storytelling; what Amazon really wants is whether you can use structured thinking (STAR + metric support) to explain your choices, behavior, and judgment—that matters more than how impressive the project is. Coding is fairly standardized, mostly from a high-frequency LeetCode list, but always walk through logic, improvements, complexity, and test cases after you finish—covering edge cases upfront is a plus.


FAQ

Q1: How many rounds is Amazon SDE NG?

This loop was three: pure coding (2 problems), pure BQ (3 questions), coding + BQ mixed. Combinations vary slightly, but the coding + BQ structure is very stable.

Q2: Is Amazon coding hard?

Not especially—mostly from high-frequency LeetCode (Valid Palindrome II, Insert Interval, bracket expansion, etc.). The difficulty isn't writing it but explaining complexity, edge cases, test cases, and improvements afterward.

Q3: How do I prep Amazon BQ?

Build structured stories around the 16 LPs using STAR + quantified metrics. Disagree / Ownership / Failure / Earn Trust / Invent and Simplify are frequent. Never downplay the Failure question—focus on the retrospective and action items.

Q4: How do I prep Amazon NG efficiently?

Practice high-frequency coding until you can narrate complexity while writing, and prepare 8-10 reusable LP stories. If you want timed practice on these exact problems, LP-story polishing, or live VO support / VO proxy coordination, send the JD so we can run question-type prediction first and build a plan.


Preparing for Amazon?

Amazon NG tests completeness of communication on high-frequency coding + structured LP internalization. oavoservice offers full-loop Amazon practice: timed mocks on Valid Palindrome II / Insert Interval / bracket expansion, 16-LP story polishing, and mixed-round pacing drills, with live VO support / VO proxy coordination too. Coaches include former Amazon senior engineers familiar with the "follow-up after coding + deep BQ probing" scoring style.

Add WeChat Coding0201 now to get Amazon questions and practice.

Contact