Amazon · OA → Phone screen → Onsite
In process2025 Amazon Frontend OA / Interviews: 25 Experiences (Part 1 :)
A practical roundup of public Amazon frontend interview reports from 2025.
Coverage: New Grad, Front-End Engineer I, Front-End Engineer II, frontend-focused SDE I and SDE II, and senior frontend roles
The short version
The clearest 2025 signal is that Amazon frontend interviews tested much more than React.
-
Vanilla JavaScript was a recurring requirement. Accordion, contact form, tab, modal, carousel, DOM traversal, and serialization tasks often appeared without framework help.
-
Live UI coding rewarded completion and judgment. Candidates were expected to clarify the contract, build the core interaction, handle edge cases, and discuss accessibility, rendering, testing, and follow-ups.
-
DSA remained a real filter. Reports included Rotting Oranges, Trapping Rain Water, Course Schedule, Edit Distance, LRU Cache, tree and matrix problems, and ordinary LeetCode-style questions.
-
Frontend design became broader at higher levels. News sites, autocomplete, product feeds, dashboards, mobile games, bike sharing, appointment systems, caching, pagination, virtualization, analytics, and rendering performance all appeared.
-
Leadership Principles were woven into technical rounds. Candidates reported two to four behavioral questions in some interviews, with repeated follow-ups about personal ownership, data, trade-offs, conflict, deadlines, and customer impact.
-
One weak round could outweigh several strong frontend rounds. Multiple candidates believed they performed well on UI implementation but were rejected after an incomplete DSA solution, a weak Bar Raiser, or shallow behavioral evidence.
A practical preparation formula: Vanilla JavaScript + React implementation + DSA + frontend design and performance + Leadership Principles + clear testing and follow-up discussion.
Online assessments (OA)
OA 01: The repeated accordion and contact-form pattern
The most repeated 2025 frontend OA pattern paired two Vanilla JavaScript tasks:
-
Build an accordion. One panel is open by default. Some variants include a control that switches between single-panel and multi-panel expansion.
-
Build a contact, address-book, or directory form. Validate fields such as name, email, and phone number, append valid records to a table or list, and sometimes support filtering.
Independent reports described close variants in late February, April, May, June, and August 2025.
OA 02: New Grad JavaScript tasks and work style
Completed: February 7, 2025 · Role: New Grad Front-End Engineer I · Location: New York
- Build an accordion in JavaScript.
- Complete a second DOM component whose full prompt was not disclosed.
- Complete a work-style assessment.
The candidate later confirmed that the frontend tasks used Vanilla JavaScript rather than a framework.
OA 03: India Mettl assessment
Report date: January 26, 2025 · Role: Front-End Engineer I · Location: India
- Solve one coding problem. The prompt was not disclosed.
- Complete multiple-choice questions covering DSA, object-oriented programming, networks, databases, SQL, and software testing.
- Complete a separate frontend assignment. Its prompt was not disclosed.
OA 04: Earlier Dublin New Grad assessments
Report date: August 13, 2025 · Role: New Grad Frontend Engineer · Location: Dublin
The candidate believed a new OA was skipped because they had completed earlier Amazon SDE assessments. Those earlier assessments included:
- One undisclosed medium-to-hard DSA problem.
- One assessment centered on arrays, sliding windows, and hash maps.
These are useful topic signals, but the complete problem statements were not published.
OA 05: Senior frontend HTML and JavaScript
Report date: October 30, 2025 · Role: Senior Frontend Engineer / SDE III
The assessment contained two implementation tasks using HTML, Vanilla JavaScript, and event listeners. The author did not publish the actual prompts and reported an unusual test setup with only one visible test per question.
Live interview question bank
🍉 UI implementation
- Build an image carousel.
- Build a to-do application and handle two follow-up requirements.
- Build a tab widget in React or Vanilla JavaScript from a supplied data set.
- Build a star-rating component.
- Reproduce a dropdown from a supplied image.
- Build an address book or contact form in React.
- Build a reusable, accessible modal in Vanilla JavaScript.
- Build a Like and Unlike button with interviewer-controlled state.
- Build an analog clock with HTML, CSS, and JavaScript.
- Build a digital clock that supports configurable time zones and minimizes unnecessary renders.
- Build a relative-time component such as “now” or “X minutes ago” and schedule the next boundary update.
- Recreate a supplied interface using only HTML and CSS.
- Build an Amazon orders or order-history interface with infinite scrolling.
- Build a reusable paginated user table and discuss state, rerenders, and controlled versus uncontrolled inputs.
- Visualize a balanced binary tree with nested colored squares.
🥝 JavaScript, DOM, and browser fundamentals
- Implement
getElementsByStyle(property, value)and traverse the DOM correctly. - Implement a JavaScript Pub/Sub API with subscribe, unsubscribe, and publish behavior.
- Implement behavior similar to
JSON.stringify. - Convert an HTML or DOM tree to JSON, or serialize a tree-shaped object back to HTML.
- Recursively traverse a JSON object that represents a file system.
- Explain event delegation.
- Explain how
thisdiffers in arrow functions and regular functions. - Implement throttling and compare throttle with debounce.
- Execute dependent asynchronous tasks with Promises and topological ordering.
- Explain React memoization,
useCallback, hydration errors, and list virtualization. - Explain when and why a time-based component must rerender.
🍅 DSA and problem solving
- Rotting Oranges.
- Trapping Rain Water, first by brute force and then with an optimized approach.
- Maximum Points You Can Obtain from Cards.
- Edit Distance.
- Implement an LRU Cache with production-quality behavior.
- Course Schedule.
- Find whether three values in a BST sum to zero.
- Find the row with the maximum number of ones in a sorted binary matrix.
- Binary search and prefix-sum reasoning, followed by a Segment Tree optimization.
- Two Sum and Valid Parentheses.
- Find the first unique character in a string.
- Merge sorted arrays in place.
- Determine whether captions are equivalent using a dictionary of similar words.
- Solve a hard expression-evaluation problem reported as similar to Basic Calculator III.
- Reverse a singly linked list.
🥭 Frontend design, system design, and performance
- Design a mobile multiple-choice math game.
- Design a news website, including data schemas, APIs, caching, video, and advertising.
- Design an autocomplete system with scalability, pagination, API failure handling, and a clear component model.
- Design an Amazon-like product listing with infinite scrolling, caching, performance safeguards, and impression and click analytics.
- Design a modular analytics dashboard with draggable widgets, persisted layout, themes, and API contracts.
- Design a bike-sharing experience with emphasis on user flows and product decisions.
- Design a doctors-appointment system.
- Design a banking system with account types, interest or charges, deposits, withdrawals, balances, and month-end behavior.
- Diagnose rendering performance and discuss lazy loading, server-side rendering, static generation, image sizing, hydration, and virtualization.
- Discuss how to preserve pagination state, scroll position, and cached data in an infinite list.
🥥 Leadership Principles and resume
Prepare evidence-rich stories for:
- A conflict or major disagreement.
- A time the group disagreed with you and you still committed to an approach.
- A difficult deadline and the trade-offs you made.
- A missed deadline and what changed afterward.
- A decision made with incomplete or insufficient data.
- Work that went beyond your assigned responsibilities.
- A significant technical challenge or production bug.
- A process improvement with measurable impact.
- A project that took much longer than originally estimated.
- A time you acted without first informing your manager.
- A project you are proud of and the exact decisions you owned.
- A case where you proved your skills or created customer impact beyond the expected step.
Expect follow-ups such as: What did you personally own? What data did you use? What alternatives did you reject? Who disagreed? What was the measurable result? What would you do differently now?
🍋 For every UI task, clarify
- The data model and component API.
- The supplied assets, target appearance, and responsive behavior.
- Loading, empty, error, disabled, and retry states.
- Keyboard behavior, focus management, semantic HTML, and accessibility expectations.
- Whether state is local, shared, controlled, persisted, or URL-driven.
- The minimum complete version expected before follow-ups.
- Required tests and the most important edge cases.
🍍 For search, pagination, and async tasks, clarify
- Debounce or throttle timing.
- Pagination format, page size, ranking, and caching rules.
- Whether stale responses may overwrite newer results.
- Cancellation, retry, concurrency, and error-propagation behavior.
- How scroll position and already loaded data should be restored.
- What analytics events must be emitted and when an impression counts.
Twenty detailed candidate timelines, loops, and screens
01: Senior FEE phone screen and onsite
Report date: November 20, 2025 · Role: Senior Frontend Engineer · Result: Not disclosed
Phone screen
- Build a form with name, email, message, and Send behavior.
- Discuss implementation choices and edge cases while working in a limited coding environment.
Onsite
- Work with an HTML or DOM tree and convert it to a JSON representation.
- Discuss the reverse direction by serializing a tree-shaped representation to HTML.
- Reason about traversal and corresponding node paths.
The public posts include partial code fragments but not a complete production contract, so the problem is best practiced as DOM-tree traversal and serialization rather than as one exact signature.
02: Frontend onsite with calculator, autosuggest, time, and performance
Report date: November 8, 2025 · Role: Frontend Engineer · Result: Not disclosed
- Solve a hard DSA problem described as similar to Basic Calculator III.
- Build an autosuggest dropdown with HTML and CSS, then add debouncing.
- Build a relative date and time component.
- Discuss rendering performance, including lazy loading, server-side rendering, static pages, image sizing, and list virtualization.
The candidate specifically remembered missing virtualization during the design discussion, which is a useful reminder that large-list rendering can become an explicit follow-up.
03: SDE II frontend technical round
Report date: October 27, 2025 · Role: Frontend Engineer, SDE II · Experience: Six years · Result: Not disclosed
- Build a reusable, paginated user table.
- Explain state ownership, rerender behavior, and controlled versus uncontrolled inputs.
- Discuss React memoization,
useCallback, server-side rendering hydration failures, and virtualization. - Design a modular analytics dashboard with draggable widgets, a persistent layout, themes, and API contracts.
- Walk through a production debugging example and explain the resulting load or user-experience impact.
04: FEE II live coding screen
Report date: September 30, 2025 · Role: Front-End Engineer II · Experience: Five years · Result: Not disclosed
- Implement
getElementsByStyle(property, value)using DOM traversal. - Build a React Like and Unlike button.
- Treat the component as a reusable interface whose state can be controlled through callbacks.
Two posts from the same author describe the same stage, so they are combined here rather than counted as separate candidate experiences.
05: Frontend-focused SDE II phone screen
Report date: September 1, 2025 · Role: SDE II, frontend focused · Experience: Four years · Result: Not disclosed
- Explain event delegation.
- Explain
thisin arrow functions versus regular functions. - Implement throttle and compare it with debounce.
- Find the first unique character in a string.
- Merge two sorted arrays in place.
- Design an Amazon-like product listing with infinite scrolling, API behavior, performance at large scale, and impression and click analytics.
- Answer Leadership Principles questions about disagreement, limited requirements, and process improvement.
06: SDE II frontend loop with carousel and appointment design
Report date: August 24, 2025 · Role: SDE II, frontend · Result: Not disclosed
- Solve Course Schedule.
- Build an image carousel.
- Design a doctors-appointment system.
The report gives the question names but not the carousel design, system scale, data contract, accessibility requirements, or follow-up sequence.
07: Dublin New Grad phone screen
Report date: August 13, 2025 · Role: New Grad Frontend Engineer · Location: Dublin · Result: Rejected after phone screen
- Solve a problem combining binary-search and prefix-sum reasoning.
- Improve the approach with a Segment Tree.
- Spend more than forty minutes on Leadership Principles and follow-up questions.
The candidate reported no frontend-specific question in this phone screen, which is important evidence that a frontend title does not guarantee a UI task in every stage.
08: India frontend visualization round
Report date: August 1, 2025 · Role: Frontend Software Engineer · Location: India · Result: No offer
- Discuss a limited deadline and the trade-offs made.
- Visualize a balanced binary tree using nested squares whose colors follow preorder traversal in VIBGYOR order.
- Solve a second DSA problem involving concentric squares. The exact prompt was not published.
09: Dublin front-end developer screen
Report date: July 1, 2025 · Role: Front-End Developer · Location: Dublin · Result: No offer
- Solve a practical coding exercise framed around making pizzas and calculating total revenue or cost.
- Use basic data structures, loops, conditionals, and arithmetic.
- Use the remaining interview time for behavioral questions.
The source says candidates could use C++, JavaScript, Java, or Python. It does not preserve the full data model, pricing rules, examples, or function signature.
Continued in Part 2 due to the 20,000-word limit.
Read Part 2: 2025 Amazon Frontend OA / Interviews, 25 Experiences (Part 2:)
Read the 2026 roundup: Amazon Frontend OA / Interviews in 2026, 10 Recent Experiences
Comments
0No comments yet — be the first to share what you know.