i
Amazon
Proud winner of ABECA 2025 - AmbitionBox Employee Choice Awards
Filter interviews by
Find the first and last occurrence of a specific element in an array of strings.
Iterate through the array and keep track of the index of the first and last occurrence of the element.
Return the index of the first and last occurrence of the element.
Yes, I have worked on automation frameworks.
I have experience in developing and maintaining automation frameworks using tools like Selenium, TestNG, and Cucumber.
I have also worked on customizing existing frameworks to meet specific project requirements.
I am familiar with both data-driven and keyword-driven frameworks.
I have integrated automation frameworks with CI/CD pipelines for continuous testing.
One example o...
When entering a URL and hitting enter, the browser performs DNS lookup, establishes a TCP connection, sends an HTTP request, receives the response, and renders the page.
Browser performs DNS lookup to resolve the domain name to an IP address
Browser establishes a TCP connection with the server
Browser sends an HTTP request to the server
Server processes the request and sends back an HTTP response
Browser receives the r...
A test framework should have features like test case management, test data management, reporting, and integration with CI/CD tools.
Test case management: Ability to create, organize, and execute test cases.
Test data management: Ability to manage test data and generate test data sets.
Reporting: Ability to generate detailed test reports with metrics and logs.
Integration with CI/CD tools: Ability to integrate with too...
What people are saying about Amazon
Find the maximum subsequent distinct and contiguous subarray in a character array.
Use a sliding window approach to iterate through the array.
Keep track of the distinct characters in the current subarray.
Update the maximum length and subarray as necessary.
Create a stack using 2 given queues.
Push elements into one queue until it is full.
When the first queue is full, push new elements into the second queue.
To pop an element, remove all elements from the non-empty queue except the last one.
Switch the non-empty queue to the other one when it becomes empty.
I am currently working with Java and Selenium for test automation.
Using Java programming language for writing test scripts
Using Selenium WebDriver for automating web applications
Integrating with CI/CD tools like Jenkins for continuous testing
Working with frameworks like TestNG for test management
Using tools like Maven for project management
Testing Google Analytics involves validating data accuracy, user interface, performance, and integration with other tools.
Verify data accuracy by comparing reported metrics with raw data from the source.
Test user interface for usability and accessibility, ensuring all elements are intuitive.
Conduct performance testing to ensure the application can handle high traffic without degradation.
Check integration with othe...
Test cases for a web page with a browse button and an image holder.
Verify that the browse button is displayed on the page.
Check that the image holder is empty before any image is uploaded.
Test uploading a valid image file and ensure it appears in the image holder.
Attempt to upload an invalid file type (e.g., .txt) and verify an error message is shown.
Ensure that the image holder can display various image formats (...
To check if each page of Amazon.com has its logo, we can use automated testing with Selenium WebDriver.
Use Selenium WebDriver to navigate to each page of Amazon.com
Locate the logo element on each page using its XPath or CSS selector
Verify that the logo element is displayed on each page
Find the first and last occurrence of a specific element in an array of strings.
Iterate through the array and keep track of the index of the first and last occurrence of the element.
Return the index of the first and last occurrence of the element.
I applied via Company Website and was interviewed in Oct 2021. There were 3 interview rounds.
Reverse every 3 nodes in a singly linked list using recursion.
Create a recursive method that takes the head of the linked list as input.
If the head is null or there are less than 3 nodes remaining, return the head.
Reverse the first 3 nodes by swapping their pointers.
Recursively call the method on the next 3 nodes and update the pointers accordingly.
Return the new head of the reversed linked list.
1. Time management 2. Public speaking 3. Learning new technologies
Struggling with time management, often missing deadlines
Nervous when speaking in front of large groups
Finding it challenging to keep up with the latest technologies in the field
I am currently working with Java and Selenium for test automation.
Using Java programming language for writing test scripts
Using Selenium WebDriver for automating web applications
Integrating with CI/CD tools like Jenkins for continuous testing
Working with frameworks like TestNG for test management
Using tools like Maven for project management
Create a stack using 2 given queues.
Push elements into one queue until it is full.
When the first queue is full, push new elements into the second queue.
To pop an element, remove all elements from the non-empty queue except the last one.
Switch the non-empty queue to the other one when it becomes empty.
Test cases for a web page with a browse button and an image holder.
Verify that the browse button is displayed on the page.
Check that the image holder is empty before any image is uploaded.
Test uploading a valid image file and ensure it appears in the image holder.
Attempt to upload an invalid file type (e.g., .txt) and verify an error message is shown.
Ensure that the image holder can display various image formats (e.g.,...
Testing Google Analytics involves validating data accuracy, user interface, performance, and integration with other tools.
Verify data accuracy by comparing reported metrics with raw data from the source.
Test user interface for usability and accessibility, ensuring all elements are intuitive.
Conduct performance testing to ensure the application can handle high traffic without degradation.
Check integration with other too...
A test framework should have features like test case management, test data management, reporting, and integration with CI/CD tools.
Test case management: Ability to create, organize, and execute test cases.
Test data management: Ability to manage test data and generate test data sets.
Reporting: Ability to generate detailed test reports with metrics and logs.
Integration with CI/CD tools: Ability to integrate with tools li...
To check if each page of Amazon.com has its logo, we can use automated testing with Selenium WebDriver.
Use Selenium WebDriver to navigate to each page of Amazon.com
Locate the logo element on each page using its XPath or CSS selector
Verify that the logo element is displayed on each page
When entering a URL and hitting enter, the browser performs DNS lookup, establishes a TCP connection, sends an HTTP request, receives the response, and renders the page.
Browser performs DNS lookup to resolve the domain name to an IP address
Browser establishes a TCP connection with the server
Browser sends an HTTP request to the server
Server processes the request and sends back an HTTP response
Browser receives the respon...
I appeared for an interview before Dec 2020.
Round duration - 90 minutes
Round difficulty - Hard
This was an online coding round where we were supposed to solve 2 questions under 90 minutes . Both the questions in my set were related to Graphs and were quite tricky and heavy to implement.
Given a directed graph with a specified number of vertices V
and edges E
, your task is to calculate the total number of distinct paths from a given source node S
to all ot...
Calculate the total number of distinct paths from a given source node to all other nodes in a directed graph.
Use dynamic programming to keep track of the number of paths from the source node to each node in the graph.
Consider using modular arithmetic to handle large numbers and prevent overflow.
Start by initializing the number of paths from the source node to itself as 1.
Iterate through the edges of the graph and updat...
You are provided with a number of courses 'N', some of which have prerequisites. There is a matrix named 'PREREQUISITES' of size 'M' x 2. This matrix indicates that fo...
Given courses with prerequisites, determine a valid order to complete all courses.
Use topological sorting to find a valid order of courses.
Create a graph with courses as nodes and prerequisites as edges.
Start with courses that have no prerequisites and remove them from the graph.
Continue this process until all courses are taken or there are no valid courses left.
If there is a cycle in the graph, it is impossible to com...
Round duration - 60 Minutes
Round difficulty - Medium
This was a Data Structures and Algorithms round with some standard questions . I was expected to come up with an
efficient approach and code it as well .
You are provided with 'N' intervals, each containing two integers denoting the start time and end time of the interval.
Your task is to merge all overlapping intervals a...
Merge overlapping intervals and return sorted list of merged intervals.
Sort the intervals based on start times.
Iterate through intervals and merge overlapping intervals.
Return the merged intervals in sorted order.
Given a 2-dimensional binary matrix called Mat
of size N x M that consists solely of 0s and 1s, find the length of the longest path from a specified source cell to a destina...
Find the length of the longest path from a source cell to a destination cell in a binary matrix.
Use depth-first search (DFS) to explore all possible paths from source to destination.
Keep track of visited cells to avoid revisiting them.
Return the length of the longest path found, or -1 if no path exists.
Round duration - 50 Minutes
Round difficulty - Medium
This was also a DSA round where I was asked to code only one of the questions but I eventually ended up coding both
as I had some spare time and explained my approches very smoothly to the interviewer . This round went preety well .
Given an array of integers with 'N' elements, determine the length of the longest subsequence where each element is greater than the previous element. This...
Find the length of the longest strictly increasing subsequence in an array of integers.
Use dynamic programming to solve this problem efficiently.
Initialize an array to store the length of the longest increasing subsequence ending at each index.
Iterate through the array and update the length of the longest increasing subsequence for each element.
Return the maximum value in the array as the result.
Given a rotated sorted array ARR
of size 'N' and an integer 'K', determine the index at which 'K' is present in the array.
1. If 'K' is not present...
Given a rotated sorted array, find the index of a given integer 'K'.
Use binary search to find the pivot point where the array is rotated.
Then perform binary search on the appropriate half of the array to find 'K'.
Handle cases where 'K' is not present in the array by returning -1.
Round duration - 50 Minutes
Round difficulty - Medium
This was also a DSA round with 2 questions of Medium to Hard difficulty . I was expected to follow some clean code and OOPS principles to write the code in this round .
Given an array of integers ARR
and an integer K
, determine the rank of the element ARR[K]
.
The rank of any element in ARR
is defined as the number of elem...
Given an array and an index, find the number of elements smaller than the element at that index appearing before it in the array.
Iterate through the array up to index K and count the number of elements smaller than ARR[K].
Return the count as the rank of ARR[K].
Handle edge cases like empty array or invalid index K.
Design a data structure for a Least Recently Used (LRU) cache that supports the following operations:
1. get(key)
- Return the value of the key if it exists in the cache; otherw...
Design a Least Recently Used (LRU) cache data structure that supports get and put operations with capacity constraint.
Implement a doubly linked list to maintain the order of recently used keys.
Use a hashmap to store key-value pairs for quick access.
Update the order of keys in the linked list on get and put operations.
Evict the least recently used key when the cache reaches its capacity.
Tip 1 : Must do Previously asked Interview as well as Online Test Questions.
Tip 2 : Go through all the previous interview experiences from Codestudio and Leetcode.
Tip 3 : Do at-least 2 good projects and you must know every bit of them.
Tip 1 : Have at-least 2 good projects explained in short with all important points covered.
Tip 2 : Every skill must be mentioned.
Tip 3 : Focus on skills, projects and experiences more.
I applied via Naukri.com and was interviewed before Nov 2020. There were 3 interview rounds.
I appeared for an interview before Dec 2020.
Round duration - 60 Minutes
Round difficulty - Medium
This was a Data Structures and Algorithms round with preety good questions . I was expected to come up with an efficient approach and code it as well .
Your house is located at the origin (0,0) of a 2-D plane. There are N
neighbors living at different points on the plane. Your goal is to visit exactly K
neighb...
Find the K closest points to the origin in a 2-D plane using Euclidean Distance.
Calculate the Euclidean Distance of each point from the origin
Sort the points based on their distances
Return the first K points as the closest neighbors
Given a sorted array of 'N' integers, your task is to generate the power set for this array. Each subset of this power set should be individually sorted.
A power set of a set 'ARR' i...
Generate the power set of a sorted array of integers with individually sorted subsets.
Use recursion to generate all possible subsets by including or excluding each element in the array.
Sort each subset before adding it to the power set.
Handle base cases for empty array and single element array.
Ensure the subsets are unique by using a set data structure.
Time complexity can be exponential due to the nature of generating ...
Round duration - 50 Minutes
Round difficulty - Hard
This was also a DSA round where I was asked to code only one of the questions but I eventually ended up coding both as I had some spare time and explained my approches very smoothly to the interviewer . This round went preety well .
Convert a string representing a Roman numeral into its integer equivalent and return the result.
Roman numerals are represented by seven different symbol...
Convert a Roman numeral string to its integer equivalent.
Create a mapping of Roman numeral symbols to their integer values.
Iterate through the input string and add the corresponding integer values.
Handle cases where subtraction is needed (e.g., IV = 4, IX = 9).
You are given an integer array 'ARR' of size 'N' and an integer 'S'. Your task is to find and return a list of all pairs of elements where each sum of a pair equals 'S'.
Find pairs of elements in an array that sum up to a given value, sorted in a specific order.
Iterate through the array and for each element, check if the complement (S - current element) exists in a hash set.
If the complement exists, add the pair to the result list.
Sort the result list based on the criteria mentioned in the question.
Return the sorted list of pairs.
Round duration - 50 Minutes
Round difficulty - Medium
This was also a DSA round with 2 questions . One was implementation heavy and the other was related to recursion and so I handled it carefully so that my code does not run into TLE or Segmentation Fault.
You are provided with a string expression
consisting of characters '+', '-', '*', '/', '(', ')' and digits '0' to '9', representing an arithmetic express...
Evaluate arithmetic expressions in infix notation with given operators and precedence rules.
Parse the infix expression to postfix using a stack.
Evaluate the postfix expression using a stack.
Handle operator precedence and parentheses while evaluating.
Ensure no division by zero cases and operands fit in 32-bit integer.
You are given a sorted integer array ARR
of size N
. Your task is to remove the duplicates in such a way that each element appears only once. The outpu...
Remove duplicates from a sorted array in-place with O(1) extra memory.
Use two pointers - one for iterating through the array and another for placing unique elements.
Compare current element with next element to identify duplicates and skip them.
Update array in-place by moving unique elements to the front.
Return the length of the array after removal of duplicates.
Round duration - 50 Minutes
Round difficulty - Medium
This was a typical System Design round where I was asked about the various features of Facebook and what sort of data structures and algorithms are used in implementing them .
Facebook stores likes and dislikes using a combination of databases and algorithms.
Likes and dislikes are stored in databases such as MySQL or Cassandra.
Algorithms are used to analyze user behavior and recommend content based on likes and dislikes.
User interactions with posts, pages, and ads are tracked to determine likes and dislikes.
Likes and dislikes may also be used to personalize the user's feed and target ads mor...
Facebook implements graph search using a graph database to efficiently search for connections between users and their interests.
Facebook uses a graph database to store connections between users, pages, groups, etc.
The graph search algorithm traverses the graph to find relevant connections based on user queries.
It takes into account factors like user relationships, interests, and interactions to provide personalized sea...
Round duration - 50 Minutes
Round difficulty - Medium
This was a preety intense round as I was grilled more on my System Design concepts but eventually I was able to asnwers all the questions with some help from the interviewer.
Hadoop is a framework for distributed storage and processing of large data sets.
Hadoop is used for storing and processing big data across a distributed network of computers.
It is based on the MapReduce programming model, which allows for parallel processing of data.
Hadoop consists of HDFS for storage and YARN for resource management.
It is used for tasks like data warehousing, log processing, recommendation systems, and...
Facebook Chat works by using a combination of websockets, long polling, and push technology to deliver real-time messaging.
Facebook Chat uses websockets for real-time communication between the client and server.
Long polling is used to check for new messages when websockets are not supported.
Push technology is used to notify users of new messages even when the chat window is not open.
Messages are stored in a database an...
Tip 1 : Must do Previously asked Interview as well as Online Test Questions.
Tip 2 : Go through all the previous interview experiences from Codestudio and Leetcode.
Tip 3 : Do at-least 2 good projects and you must know every bit of them.
Tip 1 : Have at-least 2 good projects explained in short with all important points covered.
Tip 2 : Every skill must be mentioned.
Tip 3 : Focus on skills, projects and experiences more.
Solution to performing operations on a large array of bits.
Use bitwise operators to perform operations on individual bits
Use a loop to iterate through the array and perform the operations
Ensure that the array is large enough to accommodate all the bits
Consider using a data structure like a bitset for efficient bit manipulation
Some of the top questions asked at the Amazon Sdet interview -
based on 1 interview experience
based on 5 reviews
Rating in categories
Customer Service Associate
4.2k
salaries
| ₹1.8 L/yr - ₹5 L/yr |
Transaction Risk Investigator
3.1k
salaries
| ₹2.4 L/yr - ₹6.5 L/yr |
Associate
3.1k
salaries
| ₹2 L/yr - ₹5.5 L/yr |
Senior Associate
2.6k
salaries
| ₹4 L/yr - ₹9 L/yr |
Software Developer
2.3k
salaries
| ₹22.9 L/yr - ₹42.8 L/yr |
Flipkart
TCS
Netflix