I applied online. The process took 4 weeks. I interviewed at Amazon (Rotterdam) in Nov 2023
Interview
Two leetcode easy problems followed by 3 behavioral questions, all in 60 minutes, ending with a couple of minutes of my own questions.
The leetcode problems were solved using a stack (problem related to parantheses) in the case of the first problem, and a singly linked list that you only had to go through and keep track of a sum, for the second one.
Interview questions [1]
Question 1
Describe a time I was involved in a conflict and how I dealt with the situation.
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].