Amazon | Programmer Analyst I | Interview
Summary
I successfully interviewed for the Programmer Analyst I role at Amazon. The process included an Online Assessment and three subsequent interview rounds focusing on Data Structures & Algorithms, project discussions, and behavioral questions, culminating in an offer.
Full Experience
I received an interview call from Amazon for the Programmer Analyst I position. The interview process consisted of an Online Assessment followed by three technical and HR rounds.
Online Assessment Round
The OA round included one Data Structures & Algorithms question, which I don't recall the specifics of, but it was of medium difficulty. The rest of the assessment comprised MCQs covering various topics such as Object-Oriented Programming, Linux, data structures, data analysis, DBMS, Python, and code snippets.Interview Round 1
This round started with a "tell me about yourself" question. Following that, we discussed my work experience during my internship. The technical questions included:- Given a linked list, how can you check if it is a palindrome? I solved this by implementing an in-place solution with O(n) time complexity and O(1) space complexity.
- Given a sorted array, how can you find the number of occurrences of a given number? I solved this efficiently with O(log n) time complexity and O(1) space complexity.
Interview Round 2
Similar to the first round, this one also began with an introduction. I then talked about my projects and work, specifically delving into a task where I had to handle time complexity issues. The DSA questions for this round were:- Given a list of strings, return them in groups of anagrams. I solved this problem, which I hadn't encountered before. I was aware of the trick to reduce search complexity when implementing a map for this kind of problem.
- Given a string, return the number of unique palindromic subsequences with length 3. I managed to solve this problem, although my approach resulted in an O(n^2) worst-case time complexity.
Interview Round 3 (HR)
The final round was with HR. It started with an introduction. We discussed my work in my previous organization, going into full detail about a specific task involving both frontend and backend flow. I was also asked to explain one of the challenging tasks I had worked on and to mention an achievement from my academic life.Verdict
I am pleased to say that I was selected for the role.Interview Questions (12)
Tell me about yourself
The interviewer asked me to introduce myself.
Discuss your work during internship
The interviewer asked me to discuss my work during my internship.
Check if Linked List is Palindrome (In-Place)
Given a linked list, how can you check if it is a palindrome? The solution should be in-place with O(n) time complexity and O(1) space complexity.
Count Occurrences in Sorted Array
Given a sorted array, how can you find the number of occurrences of a given number? The solution should have O(log(n)) time complexity and O(1) space complexity.
Introduce yourself (Round 2)
I was asked to introduce myself at the beginning of the second interview round.
Tell me about your project/work
The interviewer asked me to talk about my project/work, specifically discussing a task where I had to handle time complexity.
Group Anagrams
Given a list of strings, return them in groups of anagrams. I noted that there's a trick to reduce search complexity when implementing a map.
Unique Length-3 Palindromic Subsequences
Given a string, return the number of unique palindromic subsequences with length 3.
Introduce yourself (Round 3 HR)
For the HR round, I was asked to introduce myself.
Discuss work in previous organization
The interviewer asked about my work in a previous organization, going into full detail about a specific task involving a frontend and backend flow.
Explain a challenging task of your choice
I was asked to explain one of the challenging tasks of my choice.
Mention an academic achievement
The interviewer asked me to mention an achievement from my academic life.