Amazon Interview Experience — 2025 Graduate | Fresher | OA → DSA → LLD
Hi everyone,
I wanted to share my Amazon interview experience as a 2025 graduate/fresher. I wasn't selected, but I thought sharing the experience might help other freshers prepare better—especially for the transition from competitive programming/DSA to Low-Level Design (LLD) interviews.
🏢 Company
Amazon
🎓 Experience
- 2025 Graduate
- Fresher
- Interview process consisted of 3 rounds
Round 1 — Online Assessment (OA)
The first round was the Online Assessment.
It was the initial screening round, after which I was shortlisted for the interview rounds.
Round 2 — DSA Round
The second round was focused on Data Structures and Algorithms.
I was asked 2 medium-level LeetCode-style problems.
Main topic:
Graphs
The questions required understanding of graph concepts and applying the appropriate algorithm rather than simply implementing a known template.
I was comfortable with this round because I had been regularly practicing DSA and competitive programming in C++.
Round 3 — System Design / LLD
The third round was focused on Low-Level Design (LLD).
This was the round where I got rejected.
The discussion involved designing a system and going deeper into the implementation and design decisions.
My biggest mistake
I chose to code in C++.
I had been using C++ primarily for:
- Competitive Programming
- DSA
- LeetCode
- Problem solving
Because of that, I was comfortable writing algorithms and solving DSA problems in C++.
However, I underestimated how deeply the interviewer could question the language itself during an LLD interview.
The interviewer went into deeper C++-specific questions and concepts.
I realized that there is a significant difference between:
"I can solve DSA problems in C++."
and
"I can confidently use C++ for object-oriented design, LLD, and explain the language-level decisions behind my implementation."
I wasn't sufficiently prepared for the second one.
What I learned
This interview taught me an important lesson.
1. DSA preparation ≠ LLD preparation
Being good at LeetCode and competitive programming doesn't automatically mean you're ready for an LLD interview.
For LLD, I should have spent more time on:
- OOP principles
- SOLID principles
- Design patterns
- Class design
- Interfaces and abstractions
- Composition vs inheritance
- Dependency injection
- Extensibility
- Exception handling
- Clean code
- Language-specific OOP concepts
2. Know the language you're going to use
If you're planning to use C++ in an LLD interview, don't prepare C++ only as a CP language.
You should also be comfortable with concepts such as:
- References and pointers
constcorrectness- Virtual functions
- Abstract classes
- Inheritance
- Polymorphism
- Virtual destructors
- Smart pointers
- RAII
- STL
- Move semantics
- Copy/move constructors
- Templates
- Access modifiers
- Object lifetime
- Memory management
The interviewer may go beyond the design itself and ask why you implemented something that way.
3. Choose your interview language strategically
Another lesson for me was that the language I use for DSA doesn't necessarily have to be the language I use for LLD.
For example, if someone is extremely comfortable with Java for OOP and LLD but primarily uses C++ for competitive programming, it may make sense to consider Java for the design round—provided they are genuinely comfortable with it.
The important thing is not just knowing the syntax.
You should be able to think and design comfortably in that language.
Final Outcome
Unfortunately, I was rejected after the 3rd round (LLD).
But the experience gave me a much clearer understanding of the gap between my current preparation and what I need to work on.
My biggest takeaway:
Don't confuse being good at solving problems in a language with being good at engineering software in that language.
For anyone preparing for interviews, especially freshers, I would recommend preparing DSA + OOP + LLD + your chosen programming language together.
Hope this experience helps someone avoid the mistake I made.
Good luck to everyone preparing for interviews! 🚀


