Company Name: Amazon
Position: Software Developer Intern
Location: Hyderabad
Application Process: I applied for the job as an SDE - Intern through campus placements at The LNM Institute of Information Technology. The eligibility criteria included having a CGPA above 7.
Interview Rounds:
- Round 1 - Video Call (Technical):
- Questions Asked:
- Count triplets in a sorted doubly linked list whose sum is equal to a given value x:
- Given a sorted doubly linked list of distinct nodes and an integer ‘X’, the task was to count the number of triplets in the list that sum up to ‘X’.
- Number of Islands:
- Given a non-empty grid of 0s and 1s, the task was to find the number of islands, where an island is a group of adjacent 1s (horizontally or vertically).
- Flip Bits:
- Given an array of integers consisting of zeros and ones, the task was to select a subset and flip the bits of that subset to maximize the number of 1s in the array.
- Your Approach:
- For the first question, I explained the brute-force approach initially and then optimized it using a two-pointer technique.
- For the second question, I used Depth-First Search (DFS) to traverse the grid and count the islands.
- For the third question, I discussed the Kadane’s algorithm approach to solve the problem efficiently.
- Outcome: I was able to explain my approaches clearly and code the solutions within the given time. The interviewer seemed satisfied with my answers.
Preparation Tips:
- Topics to Prepare: Data Structures, Algorithms, Operating System, OOPS, DBMS.
- Time Required: 3 months.
- Tips:
- Practice topic-wise questions from Leetcode. After solving each question, review the top Discuss posts to improve.
- Go through past year’s interview experiences to understand the kind of questions asked by Amazon.
- Focus on covering all Computer Science fundamentals at a basic level before diving deep into any topic.
- Ensure your resume is honest and be prepared to answer questions on anything mentioned in it.
Conclusion:
The interview was a great learning experience. I felt well-prepared due to my consistent practice and thorough understanding of DSA and CS fundamentals. The key to success was explaining my thought process clearly and optimizing my solutions. For future candidates, I would recommend focusing on problem-solving skills and practicing mock interviews to build confidence.
Final Outcome: Selected!
Company Name: Amazon
Position: Software Developer Intern
Application Process: I was interviewed in December 2020. The process consisted of 2 rounds: a coding test and a video call interview.
Interview Rounds:
Preparation Tips:
- Focus on Data Structures, especially trees and graphs, and practice coding questions daily.
- Analyze the time and space complexity of your solutions and work on optimizing them.
- Strengthen your understanding of Operating Systems, Databases, and Object-Oriented Programming.
- Refer to platforms like LeetCode and GeeksforGeeks for practice and concepts.
Conclusion:
The interview process was challenging but rewarding. Practicing regularly and understanding core concepts thoroughly helped me perform well. My advice to future candidates is to stay consistent with their preparation and focus on problem-solving strategies.
Company Name: Amazon
Position: Software Developer Intern
Application Process: I was interviewed before September 2020. The process consisted of 4 rounds: a coding test followed by three video call interviews.
Interview Rounds:
-
Round 1 - Coding Test:
- Questions Asked:
- Check Subset: Given two integer arrays, determine if one is a subset of the other.
- Kth Smallest and Largest Element of Array: Find the Kth smallest and largest elements in an array.
- Your Approach: For the subset problem, I used a hash set to check for inclusion efficiently. For the Kth element problem, I implemented a modified quicksort approach to achieve O(n) average time complexity.
- Outcome: Passed this round.
-
Round 2 - Video Call (Technical):
- Questions Asked:
- Longest Path in a DAG: Given a Directed Acyclic Graph, find the longest path.
- LRU Cache Implementation: Design and implement an LRU cache.
- Your Approach: For the DAG problem, I used topological sorting and dynamic programming. For the LRU cache, I combined a hash map and a doubly linked list for O(1) operations.
- Outcome: The interviewer was helpful, and I passed this round.
-
Round 3 - Video Call (Technical):
- Questions Asked:
- String Transformation: Transform a string by repeatedly taking the smallest character and appending it to a new string.
- Your Approach: I used a priority queue to efficiently manage the smallest character selection.
- Outcome: The interviewer also asked about C++ and OOP concepts, and I passed this round.
-
Round 4 - Video Call (Technical):
- Questions Asked:
- Sorted Linked List to Balanced BST: Convert a sorted linked list into a balanced binary search tree.
- Delete Middle Element from Stack: Remove the middle element from a stack.
- Your Approach: For the BST problem, I used a recursive approach to ensure balance. For the stack problem, I used an auxiliary stack to track the middle element.
- Outcome: This was the final round, and I passed it successfully.
Preparation Tips:
- Focus on Data Structures and Algorithms, especially graphs, dynamic programming, and system design.
- Practice coding problems regularly on platforms like LeetCode and GeeksforGeeks.
- Be thorough with C++/Java and OOP concepts, as they are often tested.
- Understand the time and space complexities of your solutions.
Conclusion:
Overall, the interview process was challenging but rewarding. The interviewers were supportive and provided hints when needed. I would advise future candidates to:
- Practice consistently to improve problem-solving speed.
- Revise core concepts like OS, DBMS, and networking, as they might come up.
- Stay calm and confident during interviews, and don’t hesitate to ask for clarifications.
I was selected for the internship, and I’m excited to join Amazon!
Company Name: Amazon
Position: Software Developer Intern
Location: Bangalore
Application Process: I applied for the job as an SDE - Intern through the campus placement process. The eligibility criteria included having a CGPA above 6.
Interview Rounds:
-
Round 1 - Coding Test (Hackerrank):
- Questions Asked:
- Merge overlapping intervals: Given ‘N’ intervals, merge all overlapping intervals and return the list of merged intervals sorted in ascending order.
- Josephus problem: ‘N’ people standing in a circle, eliminate every ‘K-th’ person until one remains.
- Your Approach: For the first question, I sorted the intervals based on their start times and then iterated through them to merge overlapping ones. For the second question, I used a recursive approach to simulate the elimination process.
- Outcome: Passed this round.
-
Round 2 - Coding Test (Google Docs):
- Questions Asked:
- Largest rectangle in a histogram: Find the largest rectangular area under a histogram.
- Boundary traversal of a binary tree: Print the boundary nodes of a binary tree in an anti-clockwise direction.
- Your Approach: For the histogram problem, I used a stack-based approach to calculate the maximum area. For the binary tree problem, I broke it down into left boundary, leaves, and right boundary traversal.
- Outcome: The interviewer was helpful and provided hints when I got stuck. Passed this round.
-
Round 3 - Face to Face (Google Meet):
- Questions Asked:
- Maximum sum rectangle: Find the rectangle with the maximum sum in a given matrix.
- Rotated array: Find the number of rotations (‘K’) in a rotated sorted array.
- Your Approach: For the maximum sum rectangle, I used Kadane’s algorithm extended to 2D. For the rotated array, I performed a binary search to find the pivot point.
- Outcome: The interviewer also asked detailed questions about my resume projects. Passed this round.
Preparation Tips:
- Focus on Dynamic Programming, Greedy Techniques, Data Structures, OOPs, DBMS, and Graph Theory.
- Practice past interview questions from platforms like LeetCode and InterviewBit.
- Maintain a CGPA of 8+ as shortlisting sometimes depends on it.
- Mention at least one project or past work experience in your resume.
Conclusion:
Overall, the interview process was smooth, and the interviewers were supportive. I would advise future candidates to thoroughly prepare for coding rounds and be ready to explain their resume projects in detail. Keeping a one-page resume with relevant projects is also crucial.
Company Name: Amazon
Position: Software Developer Intern
Location: Not specified
Application Process: Applied online in November 2021.
Interview Rounds:
Preparation Tips:
- Topics to Focus On: Arrays, Linked Lists, Binary Search, Stack, Queue, DFS, BFS, String, Recursion.
- Resources: Leetcode and the SDE sheet by Striver were very helpful.
- Time Required: 2 months of dedicated preparation.
- Additional Tips:
- Solve the first question quickly to save time for the second.
- Ensure your resume includes projects and internships for potential questions.
Conclusion:
Overall, the interview process was challenging but fair. I could have improved by practicing more graph problems and optimizing my solutions further. For future candidates, focus on mastering DSA fundamentals and solving problems efficiently under time constraints.
Company Name: Amazon
Position: Software Developer Intern
Location: Hyderabad
Application Process: Applied through campus placement with eligibility criteria of above 7 CGPA.
Interview Rounds:
-
Round 1 - Coding Test:
- Questions Asked:
- Q1. Maximal AND Subsequences: Given an array of integers, find the number of k-element subsequences where the bitwise AND of the elements is maximal. Also, determine the maximal AND value.
- Your Approach: I tackled this problem by first understanding the bitwise operations and then iterating through the array to find the maximal AND value and count the valid subsequences. I used bit manipulation techniques to optimize the solution.
- Outcome: Cleared the round.
-
Round 2 - Coding Test:
- Questions Asked:
- Your Approach: I explained semaphores as a synchronization mechanism used in operating systems to control access to shared resources by multiple processes or threads.
- Outcome: Cleared the round.
-
Round 3 - Coding Test:
- Questions Asked:
- Q1. What is virtual memory?
- Your Approach: I described virtual memory as a memory management technique that provides an idealized abstraction of the storage resources available on a machine, allowing programs to behave as if they have contiguous working memory.
- Outcome: Cleared the round.
Preparation Tips:
- Topics to Prepare: Data Structures, Pointers, OOPS, System Design.
- Time Required: 3 months.
- Practice: Solve at least 250 coding problems.
- Projects: Work on at least 2 projects to showcase on your resume.
- Resume Tips: Ensure your resume includes genuine projects and avoid false information.
Conclusion:
Overall, the interview process was challenging but fair. I could have prepared more thoroughly for system design questions. My advice to future candidates is to focus on problem-solving skills and ensure a strong understanding of core CS concepts. Despite my efforts, I was rejected, but the experience was invaluable for future opportunities.
Company Name: Amazon
Position: Software Developer Intern
Location: Bengaluru
Application Process: I applied for the job as an SDE - Intern through the campus placement process.
Interview Rounds:
Preparation Tips:
- Topics to Focus On: Data Structures (especially Trees and Graphs), Arrays, Backtracking, Pointers, OOPS, System Design, Greedy Algorithms, and Dynamic Programming.
- Practice: Solve as many problems as possible, preferably under time constraints.
- Consistency: Regular practice is key to mastering problem-solving.
- Resume Tips: Highlight at least 2 projects with brief descriptions and mention achievements like coding contest rankings.
Conclusion:
Overall, the interview process was challenging but fair. The questions were focused on problem-solving and algorithmic thinking. I could have prepared more thoroughly for backtracking problems, but consistent practice helped me perform well. My advice to future candidates is to practice consistently and focus on understanding core concepts rather than just memorizing solutions.
Company Name: Amazon
Position: Software Developer Intern
Location: Hyderabad
Application Process: Applied through campus placement
Interview Rounds:
Preparation Tips:
- Focus on mastering Data Structures and Algorithms (DSA) topics like Dynamic Programming, Stacks, Arrays, Linked Lists, Binary Trees, and Divide and Conquer.
- Practice competitive programming to improve problem-solving speed.
- Work on projects to showcase practical skills and prepare to discuss them in detail.
Conclusion:
The interviewers were friendly and made the process comfortable. The questions were medium difficulty, and my preparation in DSA and competitive programming helped me perform well. For future candidates, I recommend being thorough with the basics and practicing company-specific problems.
Company Name: Amazon
Position: Software Developer Intern
Application Process: I applied through the campus placement process in December 2020.
Interview Rounds:
-
Round 1 - Coding Test:
-
Questions Asked:
- Merge Two Sorted Linked Lists: Given two sorted linked lists, merge them into a single sorted linked list.
- Rat In A Maze: Solve the maze problem where the rat starts at (0, 0) and needs to find a path to the destination.
- Two Sum: Find all pairs in an array that sum up to a given target.
-
Your Approach: For the linked list problem, I used a two-pointer approach to merge the lists efficiently. For the maze problem, I implemented backtracking. The two-sum problem was straightforward using a hash map.
-
Outcome: Passed this round.
-
Round 2 - Video Call (Technical):
-
Questions Asked:
- Longest Increasing Subsequence: Find the length of the longest increasing subsequence in an array.
- Boundary Traversal of Binary Tree: Print the boundary nodes of a binary tree in an anti-clockwise direction.
- Spiral Matrix: Traverse a matrix in a spiral order.
-
Your Approach: For the LIS problem, I used dynamic programming. The boundary traversal required careful handling of tree nodes, and the spiral matrix problem was solved using layer-by-layer traversal.
-
Outcome: Cleared this round successfully.
-
Round 3 - Video Call (Technical + HR):
-
Questions Asked:
- OS Questions: Threads vs. processes, what is an operating system, and memory management.
- DBMS Questions: Normal forms and SQL queries.
-
Your Approach: I explained the differences between threads and processes clearly and discussed memory management techniques. For DBMS, I provided examples of normalization and wrote a few SQL queries.
-
Outcome: Selected for the internship.
Preparation Tips:
- Topics to focus on: Data Structures and Algorithms, OS, DBMS, CN, and OOPs concepts.
- Time required: 3 months of dedicated preparation.
- Tips:
- Keep your resume concise and highlight achievements.
- Practice previous Amazon interview questions.
- Stay calm and confident during the interview.
Conclusion:
Overall, the interview process was smooth, and the questions were aligned with my preparation. I could have practiced more on tree and graph problems, but my strong grasp of DSA and core CS concepts helped me secure the internship. For future candidates, focus on problem-solving and clarity of concepts.
Company Name: Amazon
Position: Software Developer Intern
Application Process: I was interviewed in December 2020. The process included an online coding test followed by two video call rounds.
Interview Rounds:
Preparation Tips:
- Topics to Focus On: LinkedList, Trees, Graphs, Dynamic Programming, Arrays, DBMS, OS, OOPS.
- Resources: Practice different and quality questions from LeetCode and InterviewBit.
- Time Required: Dedicate at least 6 months for thorough preparation.
Conclusion:
Overall, the interview process was challenging but a great learning experience. The coding test was tough, but the video call rounds were more interactive. I could have managed my time better in the final round. For future candidates, I recommend practicing problem-solving under time constraints and being confident about your resume details.
Company Name: Amazon
Position: Software Developer Intern
Location: Hyderabad
Application Process: I applied for the job as an SDE Intern through the campus placement process. The eligibility criteria included pursuing a bachelor’s in CS/IT with a CGPA above 6.5.
Interview Rounds:
Preparation Tips:
- Topics to Prepare: Data Structures, Trees and Graphs, Arrays, Backtracking, Pointers, OOPS, System Design, Greedy Algorithms, Dynamic Programming.
- Resources: Solved must-do questions on GeeksforGeeks, practiced on Codechef and Codeforces, and took a placement preparation course from Coding Ninjas.
- Tips:
- Solve all must-do questions available on GeeksforGeeks.
- Having a team project on your resume can give you an edge.
- Regularly practice on competitive coding platforms to build a strong profile.
- Mention links to your competitive profiles in your resume.
Conclusion:
Overall, the interview experience was challenging but rewarding. The key was thorough preparation and confidence during the interviews. I would advise future candidates to focus on problem-solving and clear communication. Additionally, having a well-prepared resume with relevant projects and competitive coding profiles can make a significant difference.
Company Name: Amazon
Position: Software Developer Intern
Application Process: The interview process was conducted before September 2020 and consisted of 4 rounds: a coding test followed by three video call rounds.
Interview Rounds:
-
Round 1 - Coding Test:
- Questions Asked:
- Check Subset: Given two integer arrays, determine if the second array is a subset of the first.
- Kth Smallest and Largest Element of Array: Find the Kth smallest and largest elements in an array.
- Your Approach: For the subset problem, I used a hash set to check for the presence of elements. For the Kth element problem, I sorted the array and directly accessed the required indices.
- Outcome: Passed the round.
-
Round 2 - Video Call (Technical):
- Questions Asked:
- Longest Path in a DAG: Find the longest path in a Directed Acyclic Graph.
- LRU Cache Implementation: Design and implement an LRU cache.
- Your Approach: For the DAG problem, I used topological sorting and dynamic programming. For the LRU cache, I implemented it using a doubly linked list and a hash map.
- Outcome: Passed the round.
-
Round 3 - Video Call (Technical):
- Questions Asked:
- String Transformation: Transform a string by repeatedly taking the smallest character and appending it to a new string.
- Your Approach: I used a priority queue to efficiently retrieve the smallest character at each step.
- Outcome: Passed the round.
-
Round 4 - Video Call (Technical):
- Questions Asked:
- Sorted Linked List to Balanced BST: Convert a sorted linked list into a balanced binary search tree.
- Delete Mid Element from Stack: Delete the middle element of a stack.
- Your Approach: For the BST problem, I used a recursive approach to balance the tree. For the stack problem, I used an auxiliary stack to track and remove the middle element.
- Outcome: Passed the round and received the internship offer.
Preparation Tips:
- Focus on Data Structures and Algorithms, especially graphs, dynamic programming, and system design.
- Practice coding problems regularly on platforms like LeetCode and GeeksforGeeks.
- Be thorough with core CS concepts like Operating Systems, DBMS, and OOPs.
- Time management is crucial during coding rounds, so practice under timed conditions.
Conclusion:
The interview process was challenging but rewarding. The interviewers were supportive and provided hints when needed. I could have improved by practicing more graph-related problems beforehand. For future candidates, I recommend consistent coding practice and a strong grasp of fundamental concepts.
Company Name: Amazon
Position: Software Developer Intern
Application Process: The interview process was conducted before September 2020 and consisted of 4 rounds: a coding test followed by three video call rounds.
Interview Rounds:
-
Round 1 - Coding Test:
- Questions Asked:
- Check Subset: Given two integer arrays, determine if the second array is a subset of the first.
- Kth Smallest and Largest Element of Array: Find the Kth smallest and largest elements in a given array.
- Your Approach: For the subset problem, I used a hash set to efficiently check for subset elements. For the Kth element problem, I sorted the array and then directly accessed the required elements.
- Outcome: Passed the round.
-
Round 2 - Video Call (Technical):
- Questions Asked:
- Longest Path in a DAG: Given a Directed Acyclic Graph, find the longest path.
- LRU Cache Implementation: Design and implement an LRU cache.
- Your Approach: For the DAG problem, I used topological sorting and dynamic programming. For the LRU cache, I implemented a combination of a hash map and a doubly linked list.
- Outcome: Passed the round.
-
Round 3 - Video Call (Technical):
- Questions Asked:
- String Transformation: Given a string, transform it by repeatedly taking the smallest character and appending it to a new string.
- Your Approach: I used a priority queue to efficiently manage the smallest character selection.
- Outcome: Passed the round.
-
Round 4 - Video Call (Technical):
- Questions Asked:
- Sorted Linked List to Balanced BST: Convert a sorted linked list into a balanced binary search tree.
- Delete Mid Element from Stack: Delete the middle element of a stack.
- Your Approach: For the BST problem, I used a recursive approach to balance the tree. For the stack problem, I used an auxiliary stack to track and remove the middle element.
- Outcome: Passed the round and was selected for the internship.
Preparation Tips:
- Focus on mastering Data Structures and Algorithms, especially graphs, trees, and dynamic programming.
- Practice coding regularly on platforms like LeetCode or HackerRank.
- Be thorough with core CS concepts like Operating Systems, DBMS, and OOP.
- Work on problem-solving skills and understand the time and space complexities of your solutions.
Conclusion:
The interview process was challenging but fair. The interviewers were supportive and provided hints when needed. I could have prepared better for core CS concepts, but my strong DSA foundation helped me succeed. My advice to future candidates is to practice consistently and understand the underlying principles of each problem.
Company Name: Amazon
Position: Software Developer Intern
Application Process: I was interviewed before September 2020. The process consisted of 4 rounds: a coding test and three video call interviews.
Interview Rounds:
-
Round 1 - Coding Test:
- Questions Asked:
- Check Subset: Given two integer arrays, determine if the second array is a subset of the first.
- Kth Smallest and Largest Element of Array: Find the Kth smallest and largest elements in an array.
- Your Approach: For the subset problem, I used a hash set to efficiently check for the presence of elements. For the Kth element problem, I sorted the array and directly accessed the required elements.
- Outcome: Passed this round.
-
Round 2 - Video Call (Technical):
- Questions Asked:
- Longest Path in a DAG: Given a Directed Acyclic Graph, find the longest path.
- LRU Cache Implementation: Design and implement an LRU cache.
- Your Approach: For the DAG problem, I used topological sorting and dynamic programming. For the LRU cache, I implemented it using a doubly linked list and a hash map for O(1) operations.
- Outcome: Passed this round.
-
Round 3 - Video Call (Technical):
- Questions Asked:
- String Transformation: Given a string, transform it by repeatedly taking the smallest character and appending it to a new string.
- Your Approach: I used a priority queue to efficiently manage the smallest character selection.
- Outcome: Passed this round.
-
Round 4 - Video Call (Technical):
- Questions Asked:
- Sorted Linked List to Balanced BST: Convert a sorted linked list into a balanced binary search tree.
- Delete Mid Element from Stack: Delete the middle element of a stack.
- Your Approach: For the BST problem, I used a recursive approach to ensure balance. For the stack problem, I used an auxiliary stack to track and remove the middle element.
- Outcome: Passed this round and was selected for the internship.
Preparation Tips:
- Focus on Data Structures and Algorithms, especially graphs, dynamic programming, and system design.
- Practice coding problems on platforms like LeetCode and GeeksforGeeks.
- Be thorough with C++ and OOP concepts, as they were frequently discussed.
- Understand the complexities of your solutions and be ready to explain them.
Conclusion:
The interview process was challenging but fair. The interviewers were supportive and provided hints when needed. I could have prepared more for system design questions, but overall, my problem-solving skills and conceptual clarity helped me succeed. My advice to future candidates is to practice consistently and understand the underlying principles of each problem.