Amazon | SDE II | Seattle | November 2020 [Passed Downlevel to SDE1] | Suspicious Circumstances
Anonymous User
1718

Status: 3 YOE, BS CS Top 20 school
Position: SDE1 at Top company

Full interview process:
I got passed around between multiple recruiters. Nobody really explained what was going on or why I got passed around.

  1. Code screen. The problems were (1) Items in Containers and (2) Transaction Logs. The recruiter said to just use brute force, no need to optimize. That sounded really weird, but I guess that worked!

  2. Phone screen. Basic overview of the teams and hiring process with one LP question.
    **EDIT: This was with a different recruiter who suddenly swooped in and directed me to an onsite. As I found out more information, this became more and more suspicious. I've added details at the bottom of the article.

  3. Virtual onsite - 4 rounds, 1 hr each and 15 minute breaks.

Round 1: System Design
Basic chat, then LP.

  1. A time where I had to overcome an obstacle to deliver results.
  2. A time where I improved something that the customer didn't even ask for.
    Design a COVID contact tracing mobile app. I kept asking questions and getting requirements. He just kept typing every time I checked a box for something you should do in the interview (e.g. make tradeoff considerations, weigh pros and cons, discuss scalability...). I somewhat felt that the interviewer was not interested in my system drawing at all. He wound things down and then asked if I had any questions. I don't feel that I did poorly because he kept directing me to talk about what I would do for various situations (e.g. what if the user doesn't want indirect contact notifications, what if the user wants to know very quickly if they've come into contact with someone who has covid?)

Round 2: Coding
Basic chat, then LP.

  1. A project where I disagreed and committed.
  2. A mistake that I made and what I did afterwards
    Say you want to move a robot from a start point to an end point in a room with some obstacles. Determine how you want to represent the data and return directions in the form of an array to get from the start point to the end point. How do you get the shortest path possible?
    BFS is O(N^2) in time and space, gives the shortest path
    DFS is O(N) in time and space, but you can always make a counterexample for any algorithm where it doesn't give the shortest path.

Round 3: Coding
Basic chat. This guy seemed REALLY bored from the start.

  1. A time where I improved something that the customer didn't even ask for (he said it's okay to retell a story).
  2. A time where I had to make a decision with lots of ambiguity.
    Given a linked list where each node has a random pointer in addition to a next pointer, generate a deepcopy of that linked list and return the head of the deepcopy.
    Then write insert, replace, and delete methods for a linked list where every node has a random pointer.

Round 4: Coding
This interviewer will forever stick out as one of the worst interviewers I've ever had.

  1. A time where I improved something that nobody asked for. I asked whether I could use an example of a company process I improved instead of something directly for the customer. He said sure. I started talking and then he cut me off and said that I need to talk about something that helped the customer. I recycled a story. This guy REALLY irritated me.
  2. A hard bug that I solved.
    Design a setup to determine your best possible poker hand from 5 cards. He told me to just do the problem like he original gave me, but I said that it doesn't scale for additional poker hands. He said again to just code for the poker hands "Flush", "3 of a Kind", and "Pair". I put the poker hands and their check-methods in an array ordered by importance and he said not to do that. After I wrote the methods to check the poker hand, he said "Ok, well your code doesn't scale well, so what if I want to add another poker hand, like Straight". I told him that he'd have to add a method checking for that and then add the check for that manually. He said that it doesn't scale well and could be more organized. I mentioned the array again and he said it's a good idea. (Bad interviewer. My god this guy was horrible. He cut me off so many times. I hope he stays at Amazon.)

Was told that I would get SDE 1 offer, but not SDE 2. The recruiter said it was a close decision and that I could join and easily get promoted in a year. LOL!

I got all the coding questions right and I used STAR pretty well. I think the idea of 1-2 examples for each LP is not safe enough. I got the same LP 3 times. Also, the system design interviewer and the poker game interviewer weren't very transparent about whether they had questions about my design.

Ask any questions you may have!

Edit: The recruiter said the Total Comp band for SDE 1 is 180,000.

IMPORTANT UPDATE: I later got more information about the recruiter shuffle and it makes the whole process seem very suspicious. I was first contacted by Recruiter A for my code screen, and then by Recruiter B for my onsite.
Recruiter A made it clear that this was for an SDE2 role and said that he was only hiring for SDE2 roles.
After I cleared my onsite interview, Recruiter B said that Amazon was only offering me SDE1. As I continued talking to Recruiter B, I asked Recruiter B why I suddenly got transferred from Recruiter A to Recruiter B.
Recruiter B said that he called Recruiter A and Recruiter A is only hiring for SDE2 roles, so that's why I got transferred - because I was getting an SDE1 position. ... But how do you know what position I'm getting before I do my onsite?

I highly suspect there was no opportunity to get an SDE2 role. It was a carrot-on-a-stick to get me to interview.

Comments (7)