Amazon's NG OA is famously "loose" — 25-35% pass rate, and 1point3acres feedback consistently says "both Coding ACs + clean Work Style Survey" is enough. The real filter is the post-OA VO Loop: 4 rounds with Bar Raiser veto power, and the 2026 cycle overall offer rate is ~20%.
This article focuses on the post-OA onsite loop and skips the OA content (see our Amazon NG OA 2026 guide for that). Below, we break down Coding 1+2 + System/LLD + Bar Raiser BQ — real questions, scoring, and the 16 LP mapping.
Amazon NG VO Loop Overview
| Round | Duration | Content | Interviewer |
|---|---|---|---|
| 1. Coding Round 1 | 60 min | 1 LC Medium + 2-3 LP questions | Senior SDE I |
| 2. Coding Round 2 | 60 min | 1 LC Medium-Hard + 2-3 LP | Senior SDE II |
| 3. System / LLD Round | 60 min | OOD design (NG usually LLD) + 2 LP | Tech Lead / Senior |
| 4. Bar Raiser | 60 min | 0-1 light coding + 5-6 deep LPs | Bar Raiser (no hiring-team incentive) |
2026 cycle changes:
- Bar Raiser shifted from "40 min behavioral + 20 min coding" → 2026: 50 min behavioral + 10 min light coding — even more LP-weighted
- System Design for NG is now LLD (low-level design) — Parking Lot / Library System style OOD, not distributed systems
- Per-round independent scoring, but Bar Raiser has de facto veto — even 4 strong-hires can't override Bar Raiser no-hire
Coding Round 1 + 2: Typical Real Questions
Q1 — Server Cluster Health Monitor (Coding 1, most frequent in 2026 spring)
Prompt: heartbeat time series for n servers. Each server emits one heartbeat per second. Implement:
register(server_id, ts)— record server's heartbeat at tsfailed_servers(now, k_seconds)— return all servers with no heartbeat in [now - k_seconds, now] (sorted ascending by server_id)
Trap: n can be 1e6, naive scan TLEs.
from collections import defaultdict
from sortedcontainers import SortedList
class HealthMonitor:
def __init__(self):
self.last_seen = {} # server_id -> latest ts
self.by_ts = SortedList() # (last_ts, server_id) for fast filtering
def register(self, sid, ts):
if sid in self.last_seen:
self.by_ts.remove((self.last_seen[sid], sid))
self.last_seen[sid] = ts
self.by_ts.add((ts, sid))
def failed_servers(self, now, k):
threshold = now - k
failed = [sid for sid, ts in self.last_seen.items() if ts < threshold]
return sorted(failed)
Interviewer follow-ups:
- "How do we scale to 1e7 servers?" → partition by
server_id mod N, parallel scan - "If
registeris called extremely often, would the SortedList become a bottleneck?" → lazy delete + periodic rebalance
Q2 — Order Batching with Constraints (Coding 2, harder)
Prompt: n orders, each with (deadline, weight). A batch can hold at most W total weight, and all orders in the batch must have deadline ≥ batch completion time (each batch takes fixed time t). Find the minimum number of batches.
Approach: greedy + priority queue — process by ascending deadline; pack while feasible, otherwise open a new batch.
def min_batches(orders, W, t):
orders.sort(key=lambda x: x[0]) # by deadline
count = 0
current_time = 0
cur_weight = 0
for d, w in orders:
if cur_weight + w > W or d < current_time + t:
if cur_weight > 0:
count += 1
current_time += t
cur_weight = w
else:
cur_weight += w
if cur_weight > 0:
count += 1
return count
LP tie-in: each Coding round ends with 5-10 minutes on 1-2 LP stories (most common: Customer Obsession and Deliver Results). Don't burn all 50 minutes on coding — reserve 10 min for LP.
System / LLD Round: Typical OOD
High-Frequency Real Q: Simplified Amazon Parcel Locker System
Required APIs:
assign_locker(parcel_id, dimensions)— find the smallest available lockerpick_up(parcel_id, code)— validate code, mark as pickedtrack_metrics()— today's total drops, average dwell time, utilization
Scoring Dimensions
| Dimension | Penalty | Bonus |
|---|---|---|
| Class design | Everything in LockerSystem |
Split into Parcel / Locker / LockerBank / LockerService |
| Data structure | List scan | Size-class buckets (S/M/L/XL), each with a free queue |
| Concurrency | Not mentioned | Fine-grained lock per LockerBank for assign_locker and pick_up |
| Failure handling | Not mentioned | 3 wrong codes → notify support; locker full → suggest alternate site |
| Scalability | "I'd use a database" | Concrete schema: locker, parcel, event_log (the latter is the fact table) |
Time Allocation (60 min)
0-5 min Clarify requirements + clarifying questions
5-15 min Core data model (class diagram + DB schema)
15-30 min API design + key algorithms (assign / pickup / metrics)
30-45 min Concurrency / scaling / failures
45-50 min Observability / testing strategy
50-60 min 2 LP questions (always)
Bar Raiser BQ: 16 LP Mapping
Amazon expanded LPs from 14 to 16 in 2024 (adding Strive to be Earth's Best Employer and Success and Scale Bring Broad Responsibility). Bar Raiser typically deep-dives 5-6 of them.
16 LPs × Story Direction
| LP | Story Direction | High-Frequency Opener |
|---|---|---|
| Customer Obsession | Pivot driven by customer feedback | "Tell me a time you used customer feedback to improve a product." |
| Ownership | Took on a mess project | "Describe a time you took on something that wasn't your job." |
| Invent and Simplify | Novel solution to an old problem | "Walk me through a time you proposed a simpler solution." |
| Are Right, A Lot | Disagreed with team and were right | "Tell me about a decision others disagreed with." |
| Learn and Be Curious | Picked up a new tech stack | "How do you keep learning?" |
| Hire and Develop the Best | Mentored juniors | "How have you helped others grow?" |
| Insist on Highest Standards | Pushed quality | "Tell me about a time you raised the bar." |
| Think Big | Expanded scope | "When did you advocate for something ambitious?" |
| Bias for Action | Decided fast with incomplete data | "Tell me about a time you took action with incomplete data." |
| Frugality | Did more with less | "How have you done more with less?" |
| Earn Trust | Repaired broken trust | "Tell me about regaining someone's trust." |
| Dive Deep | Root-cause investigation | "Tell me about a complex problem you investigated." |
| Have Backbone; Disagree and Commit | Pushed back, executed anyway | "Describe a time you disagreed with your manager." |
| Deliver Results | Delivered under pressure | "Tell me about a high-pressure deadline." |
| Strive to be Earth's Best Employer ⭐NEW | Improved team experience / DEI | "How have you helped foster team well-being?" |
| Success and Scale Bring Broad Responsibility ⭐NEW | Took on broader responsibility | "How do you think about your work's broader impact?" |
Bar Raiser Scoring Formula (reverse-engineered from 1point3acres data)
Final score ≈
0.35 × LP fit (do you have stories for 8+ LPs)
+ 0.25 × Story specificity (concrete metrics / decisions)
+ 0.20 × STAR completeness
+ 0.10 × Quality of reverse questions
+ 0.10 × Communication (cadence, confidence, not arrogant)
Strong recommendation: write 12-16 STAR stories before onsite, with each story mapping to at least 2 LPs, so any LP can be answered with 1-2 stories.
Comp Range (2026 NG L4 SDE)
| City | Base | RSU (4yr 5/15/40/40) | Sign-on Y1 | Sign-on Y2 | Y1 Total |
|---|---|---|---|---|---|
| Seattle / Bellevue | $170-180K | $130-160K | $30-50K | $25-40K | ~$210-250K |
| NYC / Bay Area | $180-195K | $140-170K | $35-55K | $30-45K | ~$225-265K |
| Austin / DC | $160-175K | $120-150K | $25-45K | $20-35K | ~$195-235K |
Notes:
- RSU vesting 5/15/40/40: Y1 only 5%, but Y1+Y2 sign-on compensates, so Y1 + Y2 actually beats Google / Meta 4-year flat
- Y3-Y4 stock cliff drop — many NG jump in late Y2 (the classic "Amazon Y2 springboard")
- Bar Raiser strong-hire can negotiate base + RSU 10-15% higher
Timeline (OA Pass → Offer)
Week 0 OA pass email
Week 1-2 Recruiter call + onsite scheduling
Week 3-4 Onsite Loop (4 rounds in one day, all Zoom)
Week 5-6 Hiring Manager calibration + writing the hiring doc
Week 7-8 Offer letter / negotiation
Week 9 Accept (deadline typically 7-14 days)
Timing alert: Amazon's offer deadline is 7-14 days, shorter than Google / Meta (21+). If you have other ongoing loops, push Amazon's timeline back 2 weeks before onsite.
FAQ
Q1: What's the actual Amazon NG VO pass rate?
Post-OA VO pass rate is ~20-25%, more candidate-friendly than Google / Meta NG (10-15%). But Bar Raiser veto is real — 4-round strong-hires can still be rejected if Bar Raiser says no-hire. Bar Raiser carries ~35-40% of the loop weight.
Q2: Must I prep all 16 LPs for Amazon NG VO?
At least 12. Bar Raiser deep-dives 5-6; hiring-team interviewers each pick 2-3, so you'll be hit on 12+ across the loop. You don't need a unique story per LP — mapping one story to 2-3 LPs is standard practice (e.g., "rewrote legacy code" covers Ownership + Insist on Highest Standards + Dive Deep).
Q3: What language for Amazon NG VO coding?
Python / Java / C++ are the safe trio, with Python the NG default. JavaScript / Go: not forbidden but risky — Amazon's internal code is mostly Java, and interviewers may follow up in ways that expose unfamiliarity. Use what you know best — don't switch for culture fit.
Q4: How does Bar Raiser actually score?
A Bar Raiser is a senior engineer with no incentive in your hiring team — they don't gain from filling headcount. Scoring strictly aligns with the 16 LPs, and they only hire candidates who "raise the team's bar". A Bar Raiser no-hire almost always blocks the offer, even when the hiring manager wants you.
Q5: How long is the Amazon NG VO failure cooldown?
6 months — shorter than Google / Meta (12 months). But Amazon keeps an internal record, and Bar Raiser will be deliberately stricter on attempt #2. Strongly recommend submitting a "reflection letter" before re-applying — recruiter appends it to your packet.
Q6: NG L4 vs L5 — how is the level decided?
NG defaults to L4 (SDE I). Upgrading to L5 (SDE II) requires demonstrating "L5 behavior" during the loop: independent ownership in System Design / Bar Raiser, multi-team collaboration history, scope larger than a single feature. Most NGs land L4, but a Bar Raiser strong-hire occasionally triggers an "upgrade conversation".
Contact
If you're prepping Amazon NG / SDE II Loop, coding is not the variable — Bar Raiser BQ is where 70% of candidates fall short. We've curated 2025-2026 cycle Bar Raiser top-60 questions + 16 LP × story-mapping templates + STAR writing workshop.
Add WeChat Coding0201, get the Amazon Loop bank and Bar Raiser mocks.
- Email: [email protected]
- Telegram: @OAVOProxy