Passed Amazon SDE New Grad

amazon logo
amazon
New Grad SDE (L4)
June 14, 20253 reads

Summary

I successfully secured an L4 New Grad SDE offer at Amazon after diligently preparing through algorithm fundamentals, LeetCode problem-solving, and multiple interview rounds, including a challenging system design segment.

Full Experience

Got the L4 New Grad SDE Offer at Amazon – Here's How I Prepared

I recently got an offer for a new grad SDE (L4) position at Amazon, and I wanted to share my journey — from knowing nothing about DSA to cracking the interviews. Hopefully, this helps someone who's starting from scratch too.

Phase 3: Online Assessment + Work Simulation (Mid-May)

  • Got an email saying I had 5 days to complete the OA.
  • Problem 1: Count the number of palindromes in a string (or something similar). My solution didn’t pass all test cases — not because it was wrong, but because it was too slow.
  • Problem 2: Required a greedy + heap approach. I passed all the test cases.

Work Simulation:

  • Was supposed to be open for 5 days. After one day, I got another email saying the next day was the last.
  • Since it was Saturday and support wasn’t available, I completed it immediately.

Phase 4: First Technical Interview (30 Minutes)

Questions:

  1. Anagram Checker
    • Determine if two strings are anagrams.
    • The interviewer asked me not to use Python’s built-in functions.
    • Still a fairly easy problem.
  2. Stream of Words
    • For each incoming word, return the last seen anagram (if any), or the word itself.
    • I used the same logic from the previous problem and a hash map with sorted keys.

I passed and was invited to the final round: three back-to-back 1-hour interviews.

Phase 5: Final Interviews (3 x 1hr on the Same Day)

Behavioral Preparation (Leadership Principles)

  • Wrote five STAR-format stories that covered most of Amazon’s Leadership Principles.
  • Practiced behavioral answers using questions generated by ChatGPT.
  • Rehearsed with my girlfriend.

Technical Interviews

Interview 1:

  • Deepest Level in a Tree
    • Given a tree (not necessarily binary), return its maximum depth.
    • I used a BFS approach.
  • Lowest Common Ancestor
    • Find the LCA of two nodes in a tree where each node has a pointer to its parent.
    • I solved this by recursively propagating upward.

Interview 2:

  • This round was system design/database oriented, which caught me off guard.

Question:

  • Design a system to track how many people are in the office at any given time.

Follow-ups:

  • Design queries to return the number of people at a specific timestamp.
  • Find the maximum number of people during a time interval.

I didn’t perform well here due to no experience in OOD or DB design. The interviewer wasn’t very kind and laughed a bit when I got stuck. I stayed focused and moved on.

Interview 3:

  • Validate Alexa commands based on rules such as:
    • The first word must be “Alexa”
    • No repeated words back-to-back
    • Other constraints

Initial Approach:

  • Hardcoded all checks using logical conditions.

Refactored Approach:

  • Created an abstract Rule class
  • Defined each rule as a subclass
  • Stored rules in a set and validated them using a loop (more scalable and cleaner)

Final Thoughts

  • You don’t need to solve all 150 NeetCode problems. Understanding patterns and building intuition is far more important.
  • Use AI to learn, not to cheat. Your understanding matters more than the number of problems you “complete.”
  • Some interviewers emphasize how your algorithm works, not just correctness. For example, in the BFS problem, I was asked:
    • Why BFS uses a queue
    • The advantages and disadvantages of BFS and DFS
    • When I would use each approach

Interview Questions (6)

Q1
Anagram Checker
Data Structures & AlgorithmsEasy

Determine if two strings are anagrams. The interviewer asked me not to use Python’s built-in functions.

Q2
Stream of Words: Last Seen Anagram
Data Structures & Algorithms

For each incoming word, return the last seen anagram (if any), or the word itself.

Q3
Deepest Level in a Tree
Data Structures & Algorithms

Given a tree (not necessarily binary), return its maximum depth. I was asked: Why BFS uses a queue, The advantages and disadvantages of BFS and DFS, When I would use each approach.

Q4
Lowest Common Ancestor with Parent Pointer
Data Structures & Algorithms

Find the LCA of two nodes in a tree where each node has a pointer to its parent.

Q5
Design System to Track Office Occupancy
System Design

Design a system to track how many people are in the office at any given time. Follow-ups: Design queries to return the number of people at a specific timestamp. Find the maximum number of people during a time interval.

Q6
Validate Alexa Commands
Data Structures & Algorithms

Validate Alexa commands based on rules such as: The first word must be “Alexa”, No repeated words back-to-back, Other constraints.

Preparation Tips

Phase 1: Learning the Fundamentals (February)

  • In February, I had no clue about data structures and algorithms.
  • To build a strong foundation, I completed:
    • Stanford’s Algorithm Specialization (Courses 1, 2, and 3; 4 was not necessary): Coursera Link

Pros:

  • Great for understanding the theory behind common algorithms.

Cons:

  • Possibly overkill for interviews, but I preferred overpreparing rather than missing key concepts.

Phase 2: Problem Solving (April)

  • Once I had the theory down, I started solving LeetCode problems.
  • I often used AI to help understand solutions when I got stuck, but never just copy-pasted answers.
  • I always made sure I understood the approach.

My path:

  • Started with the LeetCode 75 Study Plan
  • Then moved on to NeetCode 150, solving around 70 problems

Note: NeetCode is one of the best resources for DSA interview prep. Use it strategically.

Discussion (0)

Share your thoughts and ask questions

Join the Discussion

Sign in with Google to share your thoughts and ask questions

No comments yet

Be the first to share your thoughts and start the discussion!