Amazon Senior Frontend Engineer Interview
My experience in a Senior FrontEnd Engineer Amazon Interview
Here I describe the stages I had as part of the process for a Senior Front End Amazon Interview. I will not provide the details for each question / challenge asked, however, I will provide some hints and topics you may face in an Interview.
Application
Everything started with a notification on Linkedin
(those daily/weekly notifications you received when they are new offers posted by companies. After that, I went to the official Amazon Jobs
website where I signed up for a new account, uploaded the resume and applied formally for the job.
Once I sent my application, 1 week later
I received an email, with the message it was under consideration
.
After that email, I received another email from a recruiter telling me the good news to start a new process, and also a schedule to review some details related to the positions, to solve some questions and decided the next steps.
Amazon Levels
At this point I had to understand this position was for a Senior Position, which in Amazon this is considered a Level 6
or L6
. If you are coming from a Tech Industry or Big company, it’s usual to see how seniority levels are grouped or categorized. For instance, according to Levels.fyi (link https://www.levels.fyi/?compare=Amazon,Google,Microsoft&track=Software Engineer) these are the different roles at Amazon, Google and Microsoft.
Stages
1) Technical Recruiter Call
After the first call with the Technical Recruiter ( a great person who wants to know more about your background and understand if you fit well in the job description), you will need to schedule your first Phone Interview
.
Take aways
- This call last about 20 minutes.
- Be nice with the Technical Recruiter, he/she only wants your success and make sure that you fits in the role description
2) Phone Interview
I think this term was adopted long time ago, because honestly, the Phone Interviews it’s a Online Meeting
(Amazon uses something call Amazon Chime
to run the coding interviews) where you need to demonstrate part of your experience by answering some Behavioural Questions, a small coding challenge, and ask some questions, and share more about your overall technical experience.
After this interview it took about 4 days to get feedback and be notified that I moved to the next step. At this point I was contacted by some recruiters to provide more information regarding to the preparation process an information.
Take aways
- This Phone interview last about 1 hour
- Be prepared to talk about your experience using the STAR method and answer a few behavioural questions
- Be prepared to code a small challenge and describe your thought process.
3) Round of Interviews (The marathon)
At this point I filled out a form providing the availability for the next round of interviews, in that case the recruiter team could help me to confirm the interviewers when we could have the calls (nowadays almost all processes are made using virtual meetings). I also had another virtual call with another recruiter to help me in my preparation process, so I got more advise/recommendation for material to read and study.
It’s common that Amazon schedules all these interviews in one day or two days. So this was the order for me:
1st Interview: Data Structures and Algorithms
- The first 30 minutes were about
Behavioural Questions
- The following 30 minutes were to solve a DSA challenge. I had to solve a medium / hard problem (Based on the description)
- I have heard that many problems that Amazon ask are related to Graphs or Binary Trees, in my case it was something related to the combinatory and backtracking scope.
- The interviewer was a bar raiser, and he was very kind all the time.
2nd Interview: HTML/JS/CSS
- The first 30 minutes were about
Behavioural Questions
- The following 30 minutes were to design a widget, only using HTML/JS/CSS.
- Given the fixed time box, it was almost impossible to create something complete, however, they wanted to know your approach and thought process, talking about good practices, and your knowledge in the language.
3rd Interview: Operational Excellence
- This was a full
Behavioural Questions
interview with the manager of the team I was applying for. - The manager was very kind and asked a lot of follow up questions, to deep dive in the context and get more
data-driven
metrics for the outcome.
4th Interview: Object Oriented Design
- The first 30 minutes were about
Behavioural Questions
- For the Coding Challenge, I had to use the concepts of
Object Oriented Programming
like inheritance, polymorphism, interfaces, and SOLID to extend the functionality of a code already provided.
5th Interview: System Design
- The first 30 minutes were about
Behavioural Questions
- For the
System Design
I had to use a collaborative platform, similar to Mural, where I was given the challenge to propose a solution for an application, considering both Front End and Back End systems, but putting more focus on Front End design.
Takeaways for Behavioural Questions
- Read Amazon Leadership Principles: https://www.amazon.jobs/content/en/our-workplace/leadership-principles
- Prepare 5 minutes length stories
- Use the
STAR
method to answer the behavioural question - Use
I
statements instead ofWE
statements - Relevant Examples in the last
5 - 6 years
- Not repeat stories in every question, because you will be reviewed from different people and they will share as much information they can in your performance.
- Break project in
milestones
with achievements.
- Break project in
- Remember the
Data-Driven
Mindset from Amazon. Show how to measure your achievements in numbers.
Takeaways for Coding Interview
- Many people say you need to keep solving problems in Leetcode, so the answer is 50/50. More than just solve random problems I think the best approach is to understand the patterns to identify the algorithm and trade-offs of Data Structures. https://www.techinterviewhandbook.org/algorithms/study-cheatsheet/
- Always ask about examples about the input and outputs to understand the problem, if not, it’s a waste of time trying to solve something you don’t truly understand.
- Just keep practicing! Practice makes mastery
- For Frontend problemas I highly recommend these set of problems: Front End Coding Challenges
Takeaways for Object Oriented Design
- It’s difficult to pass this part if you don’t understand the pillars of Object Oriented Design and know how to apply them in a language. i.e. TypeScript.
- Review your fundamentals and review the code created from open source libraries, and see if you can understand what they are doing.
Takeaways for Operational Excellence
- Prepare a spreadsheet creating a mapping with the common behavioural questions and your answers using STAR method.
- Focus on though situations and difficult questions regarding to pressure, deadlines, differences with your colleagues or opinions.
- Be mindful and use data-driven to measure the outcome, there are a lot of ways to measures like: percentage, days, money, time, resources.
Takeaways for System Design
- I have prepared for the System Design by reading several resources, however, in the Frontend context, the best resource I’ve found is this one: Frontend System Design Intervew.
Feedback
Almost 4 Days later
I received a Status Update
from my application.
Handling rejection is not the end of the world if you have a grow mindset. Honestly, I felt peace after the email, I learned a lot during the process, I become stronger, and I’m focus on the long term goal to keep learning, teaching, sharing and helping.
Finally, I sent an email to the recruiter team saying thanks for all the logistic, time and effort during this process and opportunity.
🍻 Cheers!