I don’t remember, it was very long ago
Every single interview had a few leadership questions, it really feels way worse than in other FAANG companies where they ask all the behavioural questions in a single interview. I had to repeat the basic explanation of a project/team multiple times to different interviewers even though I was explaining different situations.
Coding 1: Given 3 data structures {Product: Category}, {Category: ParentCategory}, {Product, QuantitySold} give the top 10 products of a category.
Easy part was knowing that I should use a heap (he said I could ignore that). The interesting part was to get the products in a category (since they give parent category and not all the childs) What I used is kind of a dfs checking the parent of every category until I found either null or the target category. He was satisfied with it and complimented that the solution was concise.
Coding 2: Given an arithmetic expression, determine if it’s valid.
I started dealing with parenthesis and expanded to other cases (having more than 1 operator together, operators at the end, start, after the parenthesis starts… I might have overcomplicated it but I didn’t like the question, I felt there was no easy way of doing it in a short manner, it had too many edge cases.
Coding 3: Design a Cart class
The interviewer seemed like a bot, no emotion whatsoever, she wouldn’t talk unless talked to, the leadership questions she asked looked like: she asks, I answer, next question - rather than a conversation like I had with other interviewers.
The coding question itself went fine, I could implement the feature she was asking, and more followup questions too.
Systems Design: Design the system from when the user presses click to when the user receives the package.
The round went quite well, mainly because I had an interviewer that I could interact with and discuss different options. In my opinion, the best way to ace system design isn’t about spewing a lot of buzzwords and technologies but identifying the main parts of a system (payment service in my case), ways to improve parts, problems one might face, extra features (post sale service, for example), …
All in all, it went well. I don’t feel like I will make it because of Coding 2 but I’m not too worried as I already accepted another offer.
As per the whole recruiting experience, I had a particularly bad experience. I did the whole process for Facebook and Google too and both companies gave the outcome 1 month before Amazon, and Amazon was the first one to contact me. They had issues scheduling the Phone Interview, the recruiter told me that I had one scheduled but something went wrong and I didn’t get notified so they thought I just didn’t want to continue with the process (I think that’s bs)
Outcome: Got an offer
YOE: 3 - PhD student of last year