Amazon - Interview Experience - SDE2 - Seattle
Amazon Software Engineer Interview Experience
Result: Pending Number of Rounds: 5 (1 Initial Screening + 4 Onsite)
Interview Questions & Experience
Initial Screening – Rate Limiter (Coding + Concurrency)
Asked to implement a rate limiter.
Follow-ups involved supporting concurrent requests, multiple threads, thread safety, and blocking behavior.
Discussed time-based expiration (TTL) and handling requests under concurrent access.
The problem evolved from a basic implementation into a more complex concurrency-focused design.
Onsite Round 1 – DSA (Dijkstra's Algorithm)
Asked a TurboLift-style graph problem involving finding the shortest path between two points.
The solution involved modeling the problem as a graph and applying Dijkstra's shortest-path algorithm.
Interviewer experience: This round was somewhat unpleasant. The interviewer came across as aggressive with follow-up prompts and frequently interrupted, leaving limited time to explain my thought process or reasoning.
Onsite Round 2 – LRU Cache (Coding)
Asked to design and implement an LRU cache.
Had to explain the data structures, implementation details, and time complexity while coding.
Follow-up questions introduced TTL-based expiration to handle invalid or stale cached values.
Discussed how expired entries should be handled and removed from the cache.
Onsite Round 3 – Low-Level Design (Pricing Engine)
Asked to design a shopping cart pricing engine.
The system needed to calculate the total price of cart items while supporting discounts and taxes.
Several follow-ups focused on extensibility, maintainability, and adding new pricing rules without significantly modifying the existing design.
Emphasis was on object-oriented design, separation of responsibilities, and handling evolving requirements.
** Onsite Round 4 – System Design / GenAI Fluency**
Primarily focused on my previous engineering experience and projects involving AI.
Discussed how I had integrated AI into existing systems and the technical decisions behind those implementations.
Asked what I would do differently if I were to redesign or improve those systems today.
Explored my biggest technical accomplishments, challenges, trade-offs, and potential improvements.
This round was more conversational and experience-driven than a traditional system design interview.
Leadership Principles: Every onsite round included Amazon Leadership Principles questions alongside the technical discussion.
** Tips & Takeaways**
Concurrency: Be comfortable implementing thread-safe components, synchronization, blocking behavior, and handling race conditions.
DSA: Practice shortest-path algorithms, especially Dijkstra's, and be prepared to explain your approach clearly.
Coding: Review common data structure implementations such as LRU caches, including TTL and expiration-related follow-ups.
LLD: Focus on extensible object-oriented designs and how to incorporate changing requirements.
GenAI: Be ready to discuss real-world AI projects in depth, including architecture, trade-offs, impact, and what you would improve.
Leadership Principles: Prepare strong STAR-format examples. LP questions can come up in every round.
Overall, the interview process covered a broad range of topics, including coding, concurrency, graph algorithms, low-level design, GenAI, and behavioral questions. Most rounds were technically engaging, although the experience with one interviewer could have been better.