I applied online. I interviewed at Amazon (Seattle, WA) in Jan 2021
Interview
Applied in August 2020, heard back with the 3 online assessments in January 2021.
Received an invitation for a final interview, just submitted my availability today, waiting for them to schedule an interview for me.
Interview questions [1]
Question 1
First OA is debugging short snippets of code, second OA is 2 leetcode questions (easy or medium), third OA is a simulation for a day of work at Amazon including questions about some work situations and how you would deal with them, mainly focused on Amazon's Leadership Principles
Applied online and received an Online Assessment. It consisted of two LeetCode-style coding problems with a time limit . The process was straightforward and fully automated with no human interaction at this stage.
Interview questions [1]
Question 1
Solve a coding problem involving array manipulation under a timed online assessment
There were 2 rounds- one DSA round and one HR round.
In the first round they asked me a DP + trees question which was of medium to hard difficulty.
In the second round the interviewer asked me about my resume, my projects, some computer fundamental questions.
I applied through university. I interviewed at Amazon in May 2026
Interview
This was an On Campus opportunity. First was the Online Assessment, which consisted of 2 questions, solved both. Then they scheduled two rounds of mandatory interviews, both focusing on DSA, Problem Solving, Behavioral Questions and GenAI Fluency,
Interview questions [6]
Question 1
The first question was standard Longest Common Subsequence, interviewers expected me to first explain the brute force solution and then move on to the optimal approach.
"Tell me a time when you worked on a problem which was difficult for you".
"How do you use GenAI in your day to day work?"
"Tell me about a project where you've used GenAI"
Given an array, you can do a merge operation where you merge (or sum) two adjacent equal numbers, remove both the numbers, and replace with the new merged number. For example, [3 1 1] becomes [3 2]. Now you can operate infinite number of times, and you need to return the smallest final array after doing all the possible operations optimally, e.g. for [1 1 1 1] the answer will be [4] and not [1 2 1].