I received an email from Amazon inviting me to apply for a 6-month Software Development Engineer (SDE) Internship scheduled for January to June 2025. The email included a link to submit my application. After applying, I was shortlisted for the first Online Assessment (OA) and proceeded through each subsequent round step-by-step until the final interview. Although I was not selected, the experience was highly educational and provided valuable insights into the process.
Selection Process Overview
Round 1: Online Assessment 1 (OA1)
This round tested basic coding knowledge and problem-solving skills. The key details were:
- Format: Two medium-level coding questions.
- Duration: 90 minutes.
- Focus Areas: Efficient problem-solving and code optimization.
I successfully completed this round, demonstrating proficiency in both problems.
Round 2: Online Assessment 2 (OA2)
This round further delved into algorithms and data structures.
Format: Two coding problems.
Topics Covered:
- Binary Trees
- Graphs (BFS/DFS)
- Dynamic Programming
While I can’t recall the exact questions, I performed well in this round and moved forward.
Round 3: Final Technical Interview
After clearing the online assessments, I was invited to the final technical interview via Amazon Chime. This interview lasted about an hour and consisted of the following segments:
Introduction (5–10 minutes):
- The interviewer asked about my background and areas of interest.
- I highlighted key projects, emphasizing my technical contributions and problem-solving approaches.
Coding Questions (45 minutes):
Search in a 2D Matrix:
- Problem: Search for a target value in a 2D matrix sorted in ascending order both row-wise and column-wise.
- Outcome: Successfully implemented both brute force and optimal approaches.
Minimum Cost to Connect Roads:
- Problem: Solve a Minimum Spanning Tree (MST) problem to find the minimum cost of connecting all cities using roads.
- Outcome: I couldn't fully code the solution but demonstrated a clear understanding of the logic and edge cases.
Outcome and Reflections
Unfortunately, I was not selected for the internship. While the result was disappointing, the process provided invaluable lessons, including:
- Time Management: Effectively allocating time to each question during assessments.
- Problem-Solving Skills: Tackling algorithmic challenges and live coding tasks under pressure.
- Communication: Explaining solutions and thought processes clearly during interviews.
The experience has motivated me to refine my skills further and prepare for similar opportunities in the future.
Key Takeaways
- Strong Foundations in Data Structures and Algorithms: Topics like graphs, trees, and dynamic programming are crucial.
- Live Coding Practice: Familiarity with solving problems in a timed, interview-style environment is essential.
- Confidence in Articulating Solutions: Even partial solutions can leave a positive impression if logic and edge cases are well-explained.
Despite not being selected, this journey has been a significant learning milestone, equipping me for future challenges.