The whole process took about 3 months for a Junior SDE position in Luxembourg, started in january 2022 and was composed of the following :
- Online assessment with 2 coding questions, about 1h30
- Phone screen interview : one hour where I was asked to develop two functions [newCustomerVisitWebsite (customerId)] and [int getFirstNonReturningCustomer()] which was basically a slightly modified "LRU cache" problem.
- OnSite interview, with four interviews :
1. Minimum Window Substring problem (Leetcode 76), again slightly modified (the window length is also given as a parameter, and return if the letters of string t are included in string s or not)
2. Object Oriented Design : I didn't prepare that one, but it was about developing a set of classes to 'report the current battery status of a device'. The problem is about OO principles, abstract classes, inheritence, exceptions etc...
3. Develop classes for Amazon Locker and a function addPackage(). I introduced three classes Locker{}, LockerStation{} and Package{} and coded the [int addPackage(Locker l, Package p)] method.
4. Word Break (Leetcode 139)
On average, I woud say Leetcode Medium.
Half on the interviews are dedicated to coding, the other half to the Amazon Leadership principles questions.
Amazon does not provide any feedback if you are being rejected, which was my case. A vulture switching to the next corpse when it understands you won't be useful to it. Don't get frustrated, and ask for feedback to your recruiter after every step of the hiring process. We need to put a little bit of pressure on them to get feedback 'cause otherwise, you just lost your time with them as you won't get any added value from it.