I applied through Amazon’s website, and just a few hours later, I saw that a recruiter viewed my LinkedIn profile. After a few days, they sent me an invitation for an online assessment.
It included two LeetCode questions. I don’t remember much of it, but one question involved sets and another required figuring out suitable locations for warehouses on a number line based on certain rules.
After coding questions, I had a couple of system design questions. It was like a questionnaire where you choose which approach is best for some hypothetical system, e.g. choose which database is best for a voting system.
Soon after completing the assessment, I got an email inviting me to a phone interview.
I thought the interview went great. I had answers for everything and I felt like I explained everything very well.
A few hours later, I got another email saying I had passed and they wanted to schedule a final round with four interviews.
This round included some behavioral questions and a coding challenge. I had a log file which had pages that users had visited and my task was to find the three consecutive pages users visited the most.
After a few behavioral questions, the task was to create a find
function
similar to the Linux find command, allowing filters like:
find . -type f
find . -size +4096c
find . -name *.pl
It was not fun… I couldn’t understand what I was supposed to do, I first started writing a command line program. Later, I realized it was actually an object-oriented programming question and completed it correctly. I wasn’t ever supposed to finish the logic, just set up the classes and types.
Also finished the extra question about finding in subfolders using a simple recursive call.
The interviewer’s connection dropped, so we started a bit late. After a quick behavioral question about a time I needed to learn something new, I got a coding challenge, finding unique paths in a grid by only moving down and right, based on this LeetCode problem.
The interviewer asked a system design question: “Design an email service for Amazon using only one SMTP server.” I wasn’t prepared for this at all, but I managed to work through it somehow.
There were also a few additional behavioral questions.
I thought I failed miserably because of the system design question, but they decided to extend an offer 🥳. The package was great, but it required me to relocate to Madrid.
After a few days of thinking, I decided to decline. It just didn’t feel like the right time for me to make that move.
Find this post helpful? Subscribe and get notified when I post something new!