HOW I PREPARED FOR MY AMAZON FRONT END ENGINEER INTERVIEW
HOW I PREPARED FOR MY AMAZON FRONT END ENGINEER INTERVIEW.
Position: Front End Engineer I
Hi all, e vừa hoàn thành phỏng vấn cho Amazon vị trí Front End Engineer I, và nhận được offer 2 tuần trước. Trong lúc chuẩn bị phỏng vấn thì e tìm hiểu và cũng thấy ít tài liệu dành riêng cho Front End, nên e xin được chia sẻ kinh nghiệm của bản thân mình luôn nhé.
Lưu ý, interview process có thể thay đổi tùy theo team và tech stack của team.
Trước hết thì sẽ có 2 rounds of interview
Round 1: Phone Screening (1x 1-hour interview) or Online Assessment (Hacker Rank), của e là Phone Screen
Round 2: Virtual On-site Interview (5x 1-hour interview)
Mỗi 1-hour interview thì đa số đều có Leadership Principles question, và Coding question (tùy interviewer). Vậy thì cần prepare cho 2 phần này… như thế nào?
E sẽ bàn về Coding question trước, hầu hết SDE sẽ thấy mọi người recommend là đi cày Leetcode. Tuy nhiên, FEE interview không chỉ có Data Structures & Algorithms mà còn cần phải làm small app, components, nếu là FEE II thì cần phải làm system design nữa… Thì e đã làm 1 web app full stack, build backend bằng Node.js, và frontend bằng React vì e tìm hiểu thì Amazon sử dụng React, vừa học vừa làm, và e chú trọng không dùng CSS framework như Bootstrap để study CSS not study Bootstrap. Học kiểu này e thấy hiệu quả hơn rất nhiều, và thú vị hơn nữa. Project này cũng kéo dài vài tháng, nhưng chủ yếu là mình tự học được nhiều thứ mới.
Sau đó e bắt đầu luyện Data Structures & Algorithms, ban đầu thì e cũng nhảy vào làm Leetcode nhưng sau khi làm 1 hồi thì e bị lặp lại kiểu như này: đọc đề, suy nghĩ xong làm, rồi không biết làm thì xem solutions rồi copy theo… E thấy phương pháp này không phù hợp nên đi search thì tìm ra được 1 course này trên Udemy khá hữu ích (https://www.udemy.com/course/js-algorithms-and-data-structures-masterclass). Cái này thì e học Problem Solving patterns, course cũng cover những Data Structures phổ biến, sau khi học qua thì e cảm thấy dễ dàng hơn khi solve Leetcode problem. Em cũng tình cờ tìm được website này như kiểu Leetcode for Front End: https://bigfrontend.dev/problem, em luyện mấy problem trên đây.
Ngoài ra thì e cũng có tham khảo qua website này: https://www.frontendinterviewhandbook.com cái này như cẩm nang interview Front End vậy đó :)) mọi người nên tham khảo nha.
Luyện Coding question thấy ổn rồi thì e prepare cho Leadership Principles question, em cũng lên đọc qua các LPs ở đây: https://www.amazon.jobs/en/principles. Em cũng tham khảo những câu hỏi mẫu ở đây: https://www.levels.fyi/blog/amazon-leadership-principles.html, sau đó thì suy nghĩ trong đầu về những examples để trả lời những câu hỏi đó, có thể là experience ở internship hoặc ở college, hoặc make up a story. Cũng cần phải chuẩn bị những câu hỏi để hỏi interviewer nữa.
Bây giờ là tới lúc chuẩn bị resume và apply, lúc làm resume thì e cũng ko nghĩ gì nhiều, cứ ghi những thứ mình biết thôi, mà e lại thích màu mè nên làm cái resume màu mè quá nên thêm màu vào đủ kiểu. Xong thì đi tìm position ở trên https://www.amazon.jobs/en/. E nộp những job nào mà post date hoặc last updated gần nhất. E có nhờ anh e làm referral vào, nhưng mấy application có referral thì bị reject, còn không có referral thì được pick, e cũng ko hiểu lắm :)).
Thực tế ngày interview
Round 1: Phone Screen (1x 1-hour interview)
Vòng này thì video call trên Chime, người ta hỏi 1 câu LPs, rồi đưa cho e build 1 cái component nhỏ, e sử dụng plain JS, HTML và CSS để làm. Trong lúc làm thì kiểu think out loud, giải thích cho interview mình đang làm gì và tại sao. Interviewer cũng sẽ hỏi mấy câu follow-up questions để kiểm tra foundation knowledge của mình. Ngày hôm sau thì người ta reach out để qua vòng tiếp theo. Họ gửi cho 1 cái link để set availability, thì recruiter bảo chọn cách khoảng 2 - 3 tuần gì đấy để có thời gian xếp lịch cũng như chuẩn bị.
Round 2: Virtual On-site Interview (5x 1-hour interview)
Vòng này e có tận 5 interview cùng 1 ngày, sau khi itv xong họ cũng cho e hỏi họ ngược lại…
- Interview 1: interviewer là FEE II, hỏi e LPs cũng khá nhiều, sau đó cho 1 câu kiểu Leetcode, e giải hơi mất thời gian nhưng cũng xong… hoang mang các kiểu :((. Khi tới lượt e được hỏi interviewer thì e hỏi là What quality are you looking for in a good candidate?
- Interview 2: e đoán là bar-raiser, lần này thì họ hỏi LPs suốt 1 tiếng và ko có technical. Đôi lúc họ hỏi vài câu mình chưa chuẩn bị, thì e có bảo Give me a second, sau đó e suy nghĩ rồi trả lời, họ cũng oke thôi. Kết thúc thì họ rất happy, e cũng vibe được là mình làm ok :)). Vì người này ko làm cùng team cũng như cùng ngành nên e chỉ hỏi What do think of working at Amazon?
- Interview 3: e phỏng vấn với hiring manager, họ cũng chỉ hỏi LPs từ đầu đến cuối thôi. Hết giờ thì e mới bảo là I looked you up on LinkedIn and saw that you worked at Amazon for about 9 yrs, could you give me any tip to get where you are today? Thì họ rất thích và bảo that’s a good question. E lại vibe được lần nữa.
- Interview 4: e được hỏi vài câu LPs, đến phần technical thì họ yêu cầu build 1 modal component, thì e dùng React cho phần này. Lần này e hỏi là What do you think about the work life balance at Amazon? Interviewer này làm phone screen cho e, và cho e pass, nên là e cũng vibe được lần nữa.
- Interview 5: interviewer này thì tự nhiên bảo tắt cam để save bandwidth :)) e trả lời vài lần họ cứ hỏi lại nên e nghĩ là ngta làm việc riêng. Lần này thì cũng hỏi vài câu LPs và yêu cầu e build 1 cái Image Gallery. E làm phần này bằng React, xong thì e hỏi về Tech stack của team.
Sau 5 cái interview này thì e cũng khá là tự tin, vì e biết là mình làm tốt, nên e cứ chờ nhưng mà sốt ruột lắm ạ :((, sau 4 ngày thì họ gọi và nói là e pass và gửi offer qua email. Yayyy