Amazon | Front End L4 | Seattle | Feb 2020 [Offer]
In the post, please specify your current employment status, work experience and the position you are interviewing for, e.g.
Status: High school highest education
Position: L4 at Amazon
Location: Seattle, WA
Date: Feb, 2020
Total Compensation: 119k, 90k in salary, 29k in bonus, 0 for stock
Technical phone screen (30 minutes)
Online assessment (60 minutes)
- Rotten Oranges (similar)
- Walls and Gates (similar)
Onsite (5 rounds, each an hour):
- Agorithms & data structures
- Detect words in a string
- Used recursion, simple enough
- 50% Behavioural. 50% Algorithm + Live Coding
- Create a function to traverse the entire DOM for either an "element", "class" or "id"
- Used a simple BFS, treated every element like a graph data structure. Each element has children and I just put that into a queue
- Systems Design
- Recreate a popular social media platform from scratch
- I have a background in dev-ops, AWS (Route53, S3, EC2, lambdas, CloudFront and load balancing)
- I also have a background in creating a lot of front-end applications from scratch that are used in production
- I also have experience creation production ready back-ends with authentication, authorization, design patterns and databases
- I'm not gonna go into too much detail cause I literally covered everything and this post would be too big for this explanation but I will tell you I spent a lot of time optimizing the front-end with pagination techniques supported by the back-end
- Behavioural
- This was literally pure behavioural, I don't have anything for you here other than to study the 14 principles (like your Preparation Coordinator or Recruiter shouldve told you to review) and practice the way you present information so its more pleasing to listen to
- 25% System Design, 25% Behavioural, 50% Live Coding
- Recreate an Amazon widget in vanilla JavaScript and connect it to a back-end end-point
- This test essentially tested you for the following things:
- Async requests (How promises work and stuff), using old school XHR techniques
- Pushes you to do async/await and thenable styles
- Creating re-usable HTML elements and using JavaScript to invoke similar (with a slight variation to each depending on id) action
- Best practices for network requests, eg. using a loader state, error state, success state
- Writing too much CSS or HTML will get you deductions
- DOM manipulation
Result:
Passed the Amazon online
Passed the Amazon onsite
Recieved the Amazon formal offer
Rejected the Amazon formal offer
Reason why I rejected Amazon?
I got paid the same amount from my current workplace (received a relocation package) but wasn't enough to lose my significant other, family and friends. Also moving is a pain if you're not getting paid anymore than what I was already making.
Some notable things
- Studied for 39 days of algorithms & data-structures (never knew any before this)
- Has over 3+ years of professional experience and overall 5 years (including professional experience) dabbling full-stack systems
- This was my first interview with any big corporate company and I passed with an L4
- Did ~60 leetcode questions before doing the OA (then again the role I was applying for was front-end but it was really fun doing the questions)
- Used the following resources Cracking the Coding Interview book, GitHub algorithm pages and GitHub full-stack roadmap (you guys can Google these things)
- Refreshed myself with vanilla JS, jQuery, React, VueJS and ES2015 to ES2020