I applied online. The process took 6 weeks. I interviewed at Amazon (Edinburgh, Scotland) in Nov 2014
Interview
I applied on the web responding to an offer and providing a resume. I was contacted the day after (really) and asked to have an online programming test. I had 7 days to do it but I did it right after receiving the email. The test was of 2 hours and consisted in three problems, two of them were pretty easy and I found the last one much harder. The email explained that the code will be reviewed manually by Amazon engineers.
Less than a week later, I was invited to set a date for a phone interview. We set it for two weeks later. The interview was 90% technical and included basic data structure knowledge and complexity. There also had a conception question and a problem solving. Nothing too complicated for a serious candidate.
They mailed me back a week later (a Friday) to invite me to join an Assesment Day the next Thursday. I went to it, it consisted in a day starting with a short introduction to the different teams and the challenge they had to face. We were 8 to this assesment day, 4 such days were organized and we were told they had 6 vacancies. After the presentation, I had 4 face-to-face interviews each of 45 min - 1h, with a nice sandwich pause between the second and the third interview. Almost all interviews included question based on the experience ("Tell me a time when ..."). They dig into your example quite far, so come up with real and interesting examples. The second interview only consisted in a programming session which I found very easy compared to the other technical questions. Of course, all interviews were mainly technical.
The first one was about generalities and were pretty easy. I found the third and the fourth much more difficult. The third one included a long conception question and a problem solving question. Finally, the last one was only a problem solving question (a problem that the team had actually had to handle, probably simplified) that we discussed very deeply. These are the only interviews where I was not able to provide what I thought to be the best answer, since I came up with better ideas soon after the interviewers left the room. For problem solving question, especially the last one, they don't seem to be interested in seeing you solve that all, but rather detect all the difficulties and propose a naïve solution (but being aware of that and explaining what should be improved and how, if you have any idea).
Interview questions [1]
Question 1
The design you proposed me seems fine to me, it will probably work. Though, let's imagine that someone comes to you saying he dislikes it and ask you to change it. What do you do ?
Surprisingly easy — I expected tougher questions, but the coding round felt more like a warm-up. The main challenge was a DSA problem about counting islands in a 2D grid, which led to a discussion on DFS versus BFS and handling large grids. Funny enough, I had revisited that exact type of question while prepping on PracHub, which made me feel more confident. The interview wrapped up with a behavioral round, and I accepted an offer, but ultimately decided to decline it for another opportunity. Overall, it was a smooth experience.
Interview questions [1]
Question 1
Number of Islands — given a 2D grid of '1's (land) and '0's (water), count the number of connected islands. Walk through DFS vs BFS, and discuss how to avoid revisiting cells (in-place mutation vs visited set) and what changes if the grid is huge and must stream from disk.
It started with an OA, and then after a few weeks, I got invited to four rounds of interviews: technical and behavioral at 3 of the 4, and behavioral only at one.
I applied online. I interviewed at Amazon (Calgary, AB) in Jun 2026
Interview
Online Assessment is the first step in the process. I didn’t have an HR phone screening and went straight to the OA after applying. It was sent to me about a week after I submitted my application.
Interview questions [1]
Question 1
The first question is LeetCode style algorithms question, and the second question gives a full stack repo (choice of Java, NodeJS, or Django) and asks to solve a backend issue which is causing a bug in the frontend. Unit tests must pass to pass the second question. You can run both backend/frontend indivdually or together