Amazon | SDE2 | Spain | 2022
Anonymous User
1885

OA

I don’t remember, it was very long ago

Phone Interview

  • Bunch of questions about my experience asking a lot about the details. Was supposed to last for 20min max but it lasted more than 30min and I was losing my mind seeing how every minute it passed I had less time for the coding question.
  • Coding question:
    —————
    We need to process an unlimited stream of numbers and find the first unique 
    non-duplicated number. 

    Create a class which stores and serves the numbers. It needs to expose a couple of 
    methods, one for adding a new number and another one that returns the first number 
    that is not duplicated.

    Operations:
  • Add a new number - addNewNumber 
  • Get first non-duplicated number - getFirstNonDuplicated 
    —————

    Came up with a solution that’s O(1) for both operations, with a linked list with double links and a hashmap. Discussed that it can be done with 1 pointer only and slightly improve performance but it would lose readability.

    I had to code it really fast (around 5min) because we were out of time already. My code had some minor bugs (null pointer for instance) that would’ve been solved with some tests and dry runs.

Virtual Onsite

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

Comments (5)