HackTheRounds Interview Experiences

Amazon SDE New Grad Interview Experience (2026) - 3-Round VO Offer

Amazon SDE NG 3 round VO breakdown: Leadership Principles, package dependency topo sort, Linux file filter OOD, and Word Ladder BFS. Specific LP prep tips that

By Anonymous · 2026-03-16

Background

I interviewed for an Amazon SDE new grad role in early 2026. I'm a final-year CS student who had interned at a smaller cloud company and applied through a university recruiter at a career fair. Amazon's new grad loop is three VO rounds, each 60 minutes, and every round is a coding + behavioral combo. I was nervous about the "high bar" reputation but the structure turned out to be more predictable than Meta or Google.

Timeline

Format

Three 60-minute VO rounds, all back-to-back on the same day. Each round is split roughly as:

Round 3 is slightly different — more "chat" and story-driven, less pure coding. I'll cover it separately.

VO Round 1

Behavioral

BQ1: "Tell me about a time you delivered an important project under a tight deadline."

Map this to "Deliver Results." Use STAR, but front-load the deadline — the first sentence should make the interviewer feel the time pressure. I opened with "We had 6 weeks between the spec and launch, and we were 2 engineers." Everything after that landed differently.

BQ2: "Tell me about a time you took on something outside your area of responsibility."

The trap on this question is making it sound like you were doing someone else's job because you're a hero. The right framing is consequence-driven: "If I didn't pick this up, we would have missed X; my own tasks were at a point where I could spare Y hours." Show judgment, not just initiative.

Coding: Package Dependency Installation Order

Problem: Given a list of packages and their dependencies, output a valid install order. If a cycle exists, report it.

This is classic topological sort. I went with Kahn's algorithm (in-degree + BFS queue) rather than DFS because:

  1. Kahn's is easier to reason about in an interview setting
  2. It naturally supports parallel installation — any package currently in the queue can be installed simultaneously
  3. Cycle detection falls out of it for free (if the pop count < total nodes, there's a cycle)

I walked through the data structures first: adj as dict<str, list<str , in degree as dict<str, int , and a deque for the frontier. Coded the main loop, then sanity-checked with the example A - B - C, A - C .

Follow-up: How would you detect a cycle?

Counter during topological sort. If popped count != total count after the queue drains, there's a cycle. I also mentioned that if the interviewer wanted the actual cycle contents, we'd need to switch to DFS with a recursion stack.

The interviewer seemed newer and had me do a 10-minute dry run on a 7-node dependency graph on the whiteboard. Manual dry runs are slow — I kept narrating the in-degree changes out loud so they could follow without me having to recap.

[[problem/84?company=3|Course Schedule II]]

VO Round 2

Behavioral

Four-question blitz this round:

  • "Work outside your comfort zone"
  • "Strongly disagreed with your manager or peer"
  • "Describe a project you found interesting"
  • "Looking back, what is the most regrettable decision you made? What would you do differently?"

I used three prepared stories, mapping each to two LPs. The "regrettable decision" question is the one most candidates fumble. Do not pick something too trivial, and do not pick something where you still think you were right. Pick something where you genuinely see the counterfactual now and can articulate the lesson.

OOD: Linux File Filter

Problem: Design a filter system that applies multiple predicates to files in a directory tree. Users should be able to chain filters like "size 1MB AND extension = .log AND modified within 7 days."

OOD rounds at Amazon are less about UML and more about clean class design. My structure:

  • `interface Filter { boolean apply(File f); }`
  • Concrete implementations: `SizeFilter`, `ExtensionFilter`, `ModifiedTimeFilter`, `NameRegexFilter`
  • Composites: `AndFilter(List<Filter>)`, `OrFilter(...)`, `NotFilter(Filter)`
  • Entry point: `List<File> filter(Path root, Filter f)` that walks the tree

I coded up Filter , SizeFilter , and AndFilter and sketched the rest. The interviewer then asked how I would handle "exclude directories larger than 10GB" as an optimization — I proposed a second pass that short-circuits directory traversal when a predicate rejects the directory node itself.

[[problem/183?company=3|Amazon Lock (OOD)]]

VO Round 3

Round 3 was mostly chat — bar-raiser vibes. I was told in advance this round is "less technical" but don't believe that fully.

Story Round

Tell me about a project you're proud of. I picked the one I had rehearsed the most. Follow-ups were specific:

  • What did you actually deliver at the end?
  • Was the project PM-driven or eng-driven?
  • What would you change if you did it again?
  • How did you prove to your manager that the investment was worth it?

The PM vs. eng-driven question is diagnostic. They want to see whether you can initiate and own work, not just execute tickets.

Coding 2: Word Ladder

Problem: Given two words (begin and end) and a dictionary, find the shortest sequence of transformations from begin to end, where each transformation changes exactly one letter and every intermediate word must be in the dictionary.

Standard BFS problem. My approach:

  1. Put `begin` in the queue with distance 1
  2. At each step, for every position `i` and every letter `a..z`, construct the candidate word
  3. If the candidate is in the dictionary and unvisited, enqueue it with distance+1
  4. Return the distance when you reach `end`

Time: O(N L 26) where N is dict size, L is word length.

The interviewer asked about bidirectional BFS. I talked through the concept — search from both ends and stop when the frontiers meet — but said I'd only code it if they wanted the optimization. They didn't push for it, which is typical when you clearly know the technique conceptually.

Result

Verbal offer came 5 business days later. SDE 1, standard Amazon new grad comp for a tier-1 office. The recruiter was clear that the offer was competitive and didn't push for a fast decision, which was a nice change of pace.

Tips

  1. LPs first, algorithms second. Amazon weights Leadership Principles *heavily* — a perfect coding round with weak behavioral answers is a "no hire" more often than the opposite. Prep 6-8 stories that each map to 2-3 LPs, and practice them out loud until they sound natural, not rehearsed.
  2. For "regrettable decision," pick something real. The story where you still think you were right, just misunderstood, is the worst pick. Pick something where you've actually updated your model, and say *exactly* what you updated it to.
  3. For topological sort, default to Kahn's (in-degree BFS). It's easier to dry-run, handles parallel installation naturally, and detects cycles with a single counter. Save DFS for when the problem specifically asks for cycle contents.
  4. Dry run out loud. Less experienced interviewers often substitute a long dry run for follow-ups. If you narrate data structure state changes every step, you'll look sharp even when the interview format is slower than you expected.
  5. In OOD, define the interface first. Before any concrete class, write the `interface Filter` (or equivalent). This sets up the Open/Closed conversation and makes extensions (AND, OR, NOT) obvious when the interviewer asks for them.
  6. Keep a "short version" of every story. If you have 4 behavioral questions in 10 minutes, a 5-minute STAR answer burns half your round. Know which stories you can deliver in 2 minutes and which need 4.

Amazon's new grad loop is beatable. The questions cluster around a narrow band of LPs + medium coding, and the bar is high but not mysterious.