Amazon | SDE1 | Palo Alto | April [Offer]
Anonymous User
2123

Status: New grad, MS CS Top 100 CS school
Position: SDE-1 at Amazon
Location: Palo Alto, CA
YOE: 2 yrs(INDIA) + 1yr (Internship in USA)
Date: April 7, 2021

Jan 2021: Appiled for the role
1st week Feb 2021: Got a reply from recruiter and got the OA debugging same day. OA Debugging(7/7)
2nd week Feb 2021: Got the coding OA 1 hr after giving Debugging, prepared for a week for coding, had code solutions for all expected OA coding question. Compeleted OA coding (2/2).

Next Day after OA 2: Gave OA 3 behavioural.

Next Day: Got email invitation to schedule Phone Screen, Sceduled after 2 weeks

1st March 2021: Phone Interview
Phone Interview

Coding question only. Related to Graphs. From Leetcode Medium.
Completed the question in 20 mins. The interviewer was expecting only one question. Gave multiple approaches with time complexities and ran through 3 test cases best, worst and large. Since we had 20 more minutes left interviewer came up with a new made up question. Done in 10 mins with multiple apporaches. Then we spoke about the team and Amazon.

4th March 2021: Got Email that I have cleared the Phone Interview. Schedued the Onsite interview after 3 weeks.

28th March 2021: Onsite Interview

Virtual Onsite

3 rounds

Round 1: Senior Manager, jumped into a OOD question directly. Very vague question, but mentioned that the code I write will be reused. Spoke out loud and gathered the requirments. Interviewer told me to assume what ever I can, I took worst cases to be considered and wrote the code. Then the interviewer checked if I had covered all cases. Asked why I made some variable private and placed the error check which were not mentioned. Told him I was trying to cover all the worst cases so that the next person using my code would find it easy to extend it. Last 15 mins, jumped into 2 LP questions. Answered them and asked question about the product and the team.

Round 2: SDE-2, This was right after the first round. Jumped right into the question. LC medium question. I remeber solving the question, but forgot the O(N) approach. Explaied the O(N^2) approach and told them "I think this can be optimized to O(N), but if it is okay I would like to write the O(N^2) first". Interviewer said that was fine, was expaling what I was writing and why. Ran 3 examples again coveing best worst and lengthy. Then started optimization. Wrote the code and while running the examples I realized I made a mistake, went back to code and made the changes. Ran 3 examples again prefectly. Jumped to the LP question next, had 20 mins remaining. Answered it and discussed more about the team work environment.

Round 3: Team Manager, First 5-7 mins they introduced themselves and spoke about the team. This was the most gruling round and thought I bombed it! First 25 mins 6 LP question and follow up questions on my answers. Had only 15 mins left, jumped to the coding question. First when I saw the question, it was a LC medium which I had previously done. When I started gathering the requirements, I understood he made some changes and made it a LC Hard. Was worried if I could complete in 10 mins. Discussed about Hash Maps and collision handling, then Wrote the code, had 3 mins left. Found that the code I wrote might have a buffer overflow, pointed it to the interviewer and said I was thinking of a better apporach. They said we were over the time limit and said something, which went right over my head as I was tensed that I couldnt come up with perfefctly working code. Spent 5 more mins after the 45 mins for any questions I had.

After the interview:

I felt I did not do well in the 3rd interview and probably thought this would be the reason for reject. Was furious that how can they expect to solve a Hard question in 15 mins.

April 2nd: Recivied a mail saying I cleared the interview.

April 7th 2021: Recivied the offer letter.

Preparation:

Solved LC 300 question 3 times = 900 over the span of 1 year. I did this not to prepare for the interview, but out of interest. Seems like impossible, but LC and Algorithms are a hobby for me.

Suggestions:

  1. Think and speak out loud, let the interviewers know what and why you are doing.
  2. Do not ignore LP's. LP's Carry 45% weightage. If you dont do well in coding and do well in LP you have a 3 times better chance in getting an offer. If your LP's are not upto the mark, they wont even consider you even if you solve a Hard question in 2 mins. Ever wondered why people got rejected even after writing the perect code in interviews? This is it.
  3. Practice LP interviews with friends, tell them your answers and ask them to write down what they understand. Check if the points you intended to convey were actually understood in that way. Most of the time people think they conveyed the points clearly, but you should check if they were recivied as intended. This the reson why people say I did all the coding questions perfectly and answered the LP very well. What they think is from their prespective and not the interviewers.
  4. Doing 30 questions on LC with out looking at discussions or solutions is better than Solving 1000 questions after looking at the answers.
  5. Do not memorize the Answers
Comments (4)