Experience: 4 Years (non-FAANG)
Education: MS in Computer Science
Position: L5 FEE at Amazon
Location: Seattle
Date: September-October 2020
Technical phone screen (1 hour) (September 2020):
I posted earlier here: https://leetcode.com/discuss/interview-question/847073/amazon-phone-front-end-engineer
Virtual Onsite (5 hour) (October 2020):
I asked to split it into 2 days.
1st round
Hiring Manager - Behavioral(100%):
LP's covered:
- Ownership - Questions asked - 2
- Insist on highest standards - Questions asked - 1
- Earn trust - Questions asked - 1
Feedback:
- I think I did pretty well on this one.
- I was able to connect with the interviewer and make sure he follows my stories and we were on the same page.
2nd round
Front End System Design - Behavioral(40%) System Design (60%)
LP's covered:
- Think big - Questions asked - 1
- Are right, a lot - Questions asked - 1
System design:
Design a flash card system.
Feedback:
- I really enjoyed this round.
- I felt the interviewer and I were on the same page throughout.
- My BQ's were easy enough to answer. However, it took almost 30ish minutes.
3rd round
Bar raiser | Data structures and Algorithms - Behavioral(80%) Code(20%)
LP's covered:
- Deliver results - Questions asked - 2
- Dive deep - Questions asked - 1
DS Problem:
https://leetcode.com/problems/top-k-frequent-elements/
Feedback:
- Not so happy with this round.
- I was struggling with BQ questions.
- BQ part took 50mins.
- I was also disappointed as the interviewer who was askign BQ questions was yawning most of the times which distracted/demotivated.
- After 50 mins of BQ questions, I was expecting for me to ask followup questions, but hey there was DS question now.
- It took me 5 mins to understand the question and I was only able to provide a Brute force solution.
- Implemented the brute force solution in next 10mins, not to mention we already went above time. The interviewer was satisfied with the solution and didn't ask any followup.
- Didn't get time to ask any followup question.
4th round
Front End Coding - Behavioral(40%) Code(60%):
LP's covered:
- Customer Obsession - Questions asked - 1
- Learn and be curious - Questions asked - 1
Coding:
I was shown a html having a like button.
- The button was round around the edges
- Had a heart shape with text 'Like' after it
- Had box-shadow
- Had text, background and border color
On click of the button, make an api call and if it returns, let's say, some data that asks to toggle the button and make active, make it active state with different css.
Active state css
- text color, background color should change to red
- remove box-shadow
Feedback:
- BQ I did ok.
- In coding, I think I did cover almost everything but made some mistakes.
-
I didn't remember the syntax for box-shadow (:facepalm:)
-
I implemented the onclick handler function on the button instead clarifying beforehand that if I should use between onclick listener on the button or use addEventListener. (He did ask me that in the end which i clarified)
-
When interviewer asked about how to add heart shape before text, I didn't recall the terms HTML codes, css codes, unicodes, etc. and started explaining:
- that i would write '& hearts;' something before the text 'like' in html, or
- can apply css via ::before selector and using content css property.
- again i forgot what goes into property content (:facepalm:)
-
Apart from these 2 mistakes I did everything else pretty well. So have mixed feeling about this round.
5th round
Front End Coding - Behavioral(40%) Code (30%) System Design (30%)
LP's covered:
- Bias for action - Questions asked - 1
- Have backbone; disagree and commit - Questions asked - 1
Note: It is difficult to explain the question asked in this round.
Showed a diagram of 2 tables with different fields. Asked to make a global re-usable component that can take in data, and display the table fields dynamically. The data source can change at any time and so does the data's format. How will you go by to make sure the component is still intact.
Feedback:
- I think I did pretty bad with BQ in this round.
- It took me a lot of time to understand the problem.
- Eventually we came to a working solution but I am not satisfied with the result as I am still not clear what actually had to be done in this part.
Status:
- Recruiter reached out to me a week later and told me we won't be moving forward.
- The concerns were around leadership principles.
Notes:
- Can't share team details and yes it was specific for a team.
- Usually every behavioral question starts with asking for a story and then followup questions.
- When you have prep call with recruiter before onsite, ask them if they could provide what LP's will be covered in which rounds. My recruiter was really great and gave me all the details beforehand.
- Tech part generally is really easy to deal with. It is the LP's that exhausts you.