i
Amazon
Proud winner of ABECA 2024 - AmbitionBox Employee Choice Awards
Filter interviews by
I applied via Referral and was interviewed in Aug 2022. There were 3 interview rounds.
1.communication
2.aptitude
3.logical
4.technical
I applied via Job Fair and was interviewed before Jun 2021. There was 1 interview round.
I was interviewed before Jan 2021.
Round duration - 60 Minutes
Round difficulty - Medium
This was a typical DS/Algo where I was asked to solve two questions related to Binary Trees and write the pseudo code for both of them followed by some theoretical questions related to Operating Systems.
Given a binary search tree (BST) consisting of integers and containing 'N' nodes, your task is to find and return the K-th largest element in this BST.
If there is no K-th la...
Find the K-th largest element in a BST.
Perform reverse in-order traversal of the BST to find the K-th largest element.
Keep track of the count of visited nodes to determine the K-th largest element.
Return -1 if there is no K-th largest element in the BST.
Determine if the given binary tree is height-balanced. A tree is considered height-balanced when:
Determine if a given binary tree is height-balanced by checking if left and right subtrees are balanced and their height difference is at most 1.
Check if the left subtree is balanced
Check if the right subtree is balanced
Calculate the height difference between the left and right subtrees
Return 'True' if all conditions are met, otherwise return 'False'
Zombie process is a terminated process that has completed execution but still has an entry in the process table. Orphan process is a process whose parent process has terminated.
Zombie process is created when a child process completes execution but its parent process has not yet read its exit status.
Zombie processes consume system resources and should be cleaned up by the parent process using wait() system call.
Orphan p...
Round duration - 60 Minutes
Round difficulty - Medium
This was also a Data Structures and Algorithm round where I was asked to solve 3 medium to hard level problems along with their pseudo code within 60 minutes .
Given a string S
of length L
, determine the length of the longest substring that contains no repeating characters.
"abac...
Find the length of the longest substring without repeating characters in a given string.
Use a sliding window approach to keep track of the longest substring without repeating characters.
Use a hashmap to store the index of each character in the string.
Update the start index of the window when a repeating character is found.
Calculate the maximum length of the window as you iterate through the string.
Return the maximum le
Given a sorted array that has been rotated clockwise by an unknown amount, you need to answer Q
queries. Each query is represented by an integer Q[i]
, and you must ...
Search for integers in a rotated sorted array efficiently.
Use binary search to efficiently search for integers in the rotated sorted array.
Handle the rotation of the array while performing binary search.
Return the index of the integer if found, else return -1.
Given an array ARR
and an integer K
, your task is to count all subarrays whose sum is divisible by the given integer K
.
The first line of input contains an...
Count subarrays with sum divisible by K in an array.
Iterate through the array and keep track of the prefix sum modulo K.
Use a hashmap to store the frequency of each prefix sum modulo K.
For each prefix sum, increment the count by the frequency of (prefix sum - K) modulo K.
Handle the case when prefix sum itself is divisible by K.
Return the total count of subarrays with sum divisible by K.
Round duration - 50 Minutes
Round difficulty - Medium
In this round , I was asked to code a simple question related to BST . After that I was asked the internal implementation of a Hash Map where I was supposed to design a Hash Map using any of the Hashing Algorithms that I know . This was preety challenging for me but I got to learn so much from it.
Given a Binary Search Tree (BST) and an integer, write a function to return the ceil value of a particular key in the BST.
The ceil of an integer is defined as the s...
Ceil value of a key in a Binary Search Tree (BST) is found by returning the smallest integer greater than or equal to the given number.
Traverse the BST to find the closest value greater than or equal to the key.
Compare the key with the current node value and update the ceil value accordingly.
Recursively move to the left or right subtree based on the comparison.
Return the ceil value once the traversal is complete.
Create a data structure that maintains mappings between keys and values, supporting the following operations in constant time:
1. INSERT(key, value): Add or update t...
Design a constant time data structure to maintain mappings between keys and values with various operations.
Use a hash table to achieve constant time complexity for INSERT, DELETE, SEARCH, and GET operations.
Keep track of the number of key-value pairs for GET_SIZE operation.
Check if the hash table is empty for IS_EMPTY operation.
Return true or false for SEARCH operation based on key existence.
Return the value associated...
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 was interviewed before Jan 2021.
Round duration - 90 Minutes
Round difficulty - Hard
I found the online coding round of Flipkart to be quite difficult based on the constraints of the problem and their time limits. I coded the first problem quite easily but on the second and the third problem , my code could only pass a few test cases and gave TLE for most of them. Both the questions required very efficient solution and the last 5 to 10 Test Cases carried more weight than the rest so I didn't get through this round.
Given three non-negative integers N, M, and K, compute the Kth digit from the right in the number obtained from N raised to the power M (i.e., N ^ M).
The first line contains ...
The task is to find the Kth digit from the right in the number obtained from N raised to the power M.
Iterate through the digits of N^M from right to left
Keep track of the position of the current digit
Return the digit at position K from the right
Compute the skyline of given rectangular buildings in a 2D city, eliminating hidden lines and forming the outer contour of the silhouette when viewed from a distance. Each building is ...
Compute the skyline of given rectangular buildings in a 2D city, eliminating hidden lines and forming the outer contour of the silhouette.
Iterate through the buildings and create a list of critical points (x, y) where the height changes.
Sort the critical points based on x-coordinate and process them to form the skyline.
Merge consecutive horizontal segments of equal height into one to ensure no duplicates.
Return the fin...
You are provided with a string STR
of length N
. The goal is to identify the longest palindromic substring within this string. In cases where multiple palind...
Identify the longest palindromic substring in a given string.
Iterate through the string and expand around each character to find palindromes
Keep track of the longest palindrome found
Return the longest palindrome with the smallest start index
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 was interviewed before Dec 2020.
Round duration - 120 minutes
Round difficulty - Medium
The Entire Test is held in HackerRank Platform. It has:
2 coding questions (one easy and one medium)
2 output questions(medium)
2 Aptitude(easy)
1 general Computer science(medium)
It took me 30 min for each coding questions. I did not know that general question is related to bash commands.
Tips: Practice the Warmup questions in Hacker Rank.
Do some Basic aptitude questions.
Thorough with the basic C and C++ concepts
Transform a given Binary Tree into a Doubly Linked List.
Ensure that the nodes in the Doubly Linked List follow the Inorder Traversal of the Binary Tree.
The fi...
Convert a Binary Tree into a Doubly Linked List following Inorder Traversal.
Perform Inorder Traversal of the Binary Tree to get the nodes in order.
Create a Doubly Linked List by linking the nodes in the order obtained from Inorder Traversal.
Return the head of the Doubly Linked List as the output.
Given an arbitrary array arr
consisting of N
non-negative integers where every element appears thrice except for one. Your task is to find the element in the array that appears onl...
Find the unique element in an array where every other element appears thrice.
Use XOR operation to find the unique element.
Iterate through the array and XOR each element to find the unique one.
Return the unique element as the answer.
Round duration - 60 minutes
Round difficulty - Medium
It's completely around the data structures. The questions are a bit tricky but once u think without any tension u can get through easily. The interviewer is helpful and gives u few hints if u catch them at the right point of time u got it.
Tips: got through Data Structures and Algorithms Made Easy by Narasimha Karumanchi. It's a best book for the interviews.
Given a Binary Tree with 'N' nodes, where each node holds an integer value, your task is to compute the In-Order, Pre-Order, and Post-Order traversals of the binar...
Implement a function to compute In-Order, Pre-Order, and Post-Order traversals of a Binary Tree given in level-order format.
Parse the input level-order tree elements to construct the binary tree.
Implement recursive functions for In-Order, Pre-Order, and Post-Order traversals.
Return the traversals as lists of lists for each test case.
Given a singly linked list and two integers 'N' and 'M', traverse the linked list to retain 'M' nodes and then delete the next 'N' nodes. Continue this proces...
Traverse a linked list to retain 'M' nodes and then delete the next 'N' nodes, repeating until the end of the list.
Create a function that takes the head of the linked list, 'N', and 'M' as input parameters.
Traverse the linked list, retaining 'M' nodes and deleting the next 'N' nodes in each iteration.
Update the pointers accordingly to skip 'N' nodes after retaining 'M' nodes.
Repeat this process until the end of the lin...
Round duration - 60 minutes
Round difficulty - Easy
The interviewer asked to put everything on the blackboard and write down the code of each and everything.
Question : Explain all the search algorithm you know with space and Time complexities.
Answer : Linear search : It is a sequential search algorithm where the entire array is traversed till the desired element is not found. Time complexity is O(N) and auxiliary space is O(1).
Binary search : In this algorithm, a sorted array is searched by repeatedly dividing the search interval in half.
Steps :
1. Initially the interval covers the whole array.
2. If the value to be searched is less than the item in the middle of the interval, narrow the interval to the lower half. Otherwise, narrow it to the upper half.
3. The process is repeated until the value is found or the interval is empty.
Time complexity is O(log n) and auxiliary space is O(1) in case of iterative implementation.
Given an array of integers with numbers in random order, write a program to find and return the number which appears the most frequently in the array.
If multip...
Program to find the number with maximum frequency in an array of integers.
Create a dictionary to store the frequency of each number in the array.
Iterate through the array and update the frequency count in the dictionary.
Find the number with the maximum frequency in the dictionary and return it.
If multiple elements have the same maximum frequency, return the one with the lowest index.
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.
Print only the leaf nodes of a doubly linked tree.
Traverse the tree and check if a node has no children and both left and right pointers are null.
If yes, then it is a leaf node and print it.
If no, then continue traversing the tree.
Use recursion to traverse the tree in a depth-first manner.
LRU page replacement algorithm is used to replace the least recently used page in memory with a new page.
LRU stands for Least Recently Used
It is a cache eviction algorithm
It is used to manage memory in operating systems
It works by keeping track of the pages that are used recently and the ones that are not
When a new page is to be loaded into memory, the algorithm checks which page has not been used for the longest time
Reverse m nodes and leave n nodes in a linked list till the end.
Traverse the linked list till m nodes and reverse them
Traverse n nodes and continue reversing m nodes
Repeat the above step till the end of the linked list
Handle edge cases like m or n being greater than the length of the linked list
Inorder traversal is a way of visiting all nodes in a binary tree by visiting the left subtree, then the root, and then the right subtree.
Start at the root node
Traverse the left subtree recursively
Visit the root node
Traverse the right subtree recursively
Repeat until all nodes have been visited
Inorder traversal of a tree without recursion
Create an empty stack and initialize current node as root
Push the current node to stack and set current = current.left until current is NULL
If current is NULL and stack is not empty, pop the top item from stack, print it and set current = popped_item.right
Repeat step 2 and 3 until stack is empty
Find the triplicate number in an array of duplicates.
Iterate through the array and keep track of the frequency of each number.
Return the number that appears three times.
If no number appears three times, return null.
Explanation of search algorithms with their space and time complexities.
Linear Search - O(n) time complexity, O(1) space complexity
Binary Search - O(log n) time complexity, O(1) space complexity
Jump Search - O(√n) time complexity, O(1) space complexity
Interpolation Search - O(log log n) time complexity, O(1) space complexity
Exponential Search - O(log n) time complexity, O(1) space complexity
Fibonacci Search - O(log n)
Find the most repeated number in an array of length n with numbers 1-n.
Create a dictionary to store the count of each number in the array
Iterate through the array and update the count in the dictionary
Find the key with the highest count in the dictionary
I was interviewed before Dec 2020.
Round duration - 90 minutes
Round difficulty - Easy
Myntra had conducted a coding test on campus before the start of the placement season with 2 questions, one on stack and other on DP.
Tips : For the test, the DP question asked was pretty standard, on Longest Common Subsequence. The question on stacks, I don't remember what it was but it was also pretty straight forward. For the test, I would recommend to solve problem from GFG. If they do come to resume shortlisting, they are looking for people who have done good projects and internships.
Given two strings STR1
and STR2
, determine the length of their longest common subsequence.
A subsequence is a sequence that can be derived from another sequen...
The task is to find the length of the longest common subsequence between two given strings.
Implement a function to find the longest common subsequence between two strings.
Use dynamic programming to solve this problem efficiently.
Iterate through the strings and build a matrix to store the lengths of common subsequences.
Return the length of the longest common subsequence found.
Round duration - 60 minutes
Round difficulty - Easy
The interview started off with questions on my general interest in Software Development. The first round had two coding questions, I was supposed to write the code on paper.
For the questions, they asked me to code the solution first. And then gave a specific input and asked me to demonstrate step by step in my code, how it would lead to the correct answer.
Tips: It's ok if you can't code a general solution, if you can write a code which works for the particular input they have given then also it's ok with them. But be thorough with Data structures.
You are given two singly linked lists, where each list represents a positive number without any leading zeros.
Your task is to add these two numbers and return the sum as ...
Add two numbers represented as linked lists and return the sum as a linked list.
Traverse both linked lists simultaneously while keeping track of carry from previous sum
Create a new linked list to store the sum, updating the value and carry as needed
Handle cases where one linked list is longer than the other by adding remaining digits with carry
Round duration - 60 minutes
Round difficulty - Medium
I wasn't asked to write any code in this interview. They asked me some questions on Machine Learning, because of my projects in them. Then they asked me if I knew graph algorithms. Since I knew BFS and DFS, I told them. They asked the difference between the two. Then they asked me if I knew how to find the shortest distance between two points in a graph. I didn't know Dijkstra's properly but I knew it worked on the greedy approach so was able to tell that. Then they asked me how would I find the second shortest path. I tried to answer it with the same greedy approach, but couldn't arrive at the complete solution.
Tips: They ask a tough theoretical question. It's ok if you don't know the answer, they only look for your approach.
Given an undirected and disconnected graph G(V, E) where V vertices are numbered from 0 to V-1, and E represents edges, your task is to output the BFS traversal starting from the ...
BFS traversal in a disconnected graph starting from vertex 0.
Use a queue to keep track of nodes to visit next in BFS traversal
Start traversal from vertex 0 and explore its neighbors first
Continue exploring neighbors level by level until all nodes are visited
Ensure to print connected nodes in numerical sort order
Given an undirected and disconnected graph G(V, E)
, where V
is the number of vertices and E
is the number of edges, the connections between vertices are provided in the 'GR...
DFS traversal to find connected components in an undirected and disconnected graph.
Perform DFS traversal on each vertex to find connected components
Maintain a visited array to keep track of visited vertices
Print the vertices of each connected component in ascending order
Given an undirected graph with ‘V’ vertices (labeled 0, 1, ... , V-1) and ‘E’ edges, where each edge has a weight representing the distance between two connected nodes (X,...
Dijkstra's algorithm is used to find the shortest path from a source node to all other nodes in a graph with weighted edges.
Implement Dijkstra's algorithm to find the shortest path distances from the source node to all other nodes in the graph.
Use a priority queue to efficiently select the next node with the shortest distance.
Update the distances of neighboring nodes based on the current node's distance and edge weight...
Tip 1 : Be thorough with Data Structures and Algorithms and also with your resume.
Tip 2 : Must do Previously asked Interview as well as Online Test Questions.
Tip 3 : Go through all the previous interview experiences from Codestudio and Leetcode.
Tip 4 : 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 was interviewed before Jan 2016.
I was interviewed before Dec 2020.
Round duration - 120 minutes
Round difficulty - Medium
This was a 2 hour round consisting of 5 mcqs and 2 codes. The mcqs were pretty much simple based on DS, DBMS, OS, OOP, and C.
Consider 'n' carrots numbered from 1 to 'n' and 'k' rabbits. Each rabbit jumps to carrots only at multiples of its respective jumping factor Aj (i.e., Aj, 2Aj, 3Aj, ...), for all ra...
Calculate uneaten carrots by rabbits with specific jumping factors.
Iterate through each carrot and check if any rabbit jumps on it.
Use the jumping factors to determine which carrots are eaten.
Subtract the eaten carrots from the total to get the uneaten count.
Given an array of integers ARR
of size N, consisting of 0s and 1s, you need to select a sub-array and flip its bits. Your task is to return the maximum count of 1s that can b...
Given an array of 0s and 1s, find the maximum count of 1s by flipping a sub-array at most once.
Iterate through the array and keep track of the maximum count of 1s obtained by flipping a sub-array.
Consider flipping a sub-array from index i to j by changing 0s to 1s and vice versa.
Update the maximum count of 1s if the current count after flipping is greater.
Return the maximum count of 1s obtained by flipping a sub-array
Round duration - 60 minutes
Round difficulty - Medium
Started with a brief discussion on my projects and internships. A thorough discussion on whichever languages, frameworks I had used in my projects. Followed by discussion on coding questions. Apart from the codes there were some questions on OS, process stack, heap memory in Java, Garbage collection, OOP principles and comparison based sorting
Given an array ARR
of size N
, your objective is to determine the sum of the largest and smallest elements within the array.
Can you achie...
Find sum of maximum and minimum elements in an array with least number of comparisons.
Iterate through the array and compare each element with current maximum and minimum to update them.
Initialize max as smallest possible value and min as largest possible value.
Return the sum of max and min after iterating through the array.
Given a Binary Tree and one of its leaf nodes, invert the binary tree by following these guidelines:
• The given leaf node becomes the root after the inversion. • F...
Invert a binary tree based on a given leaf node as the root.
Start by finding the leaf node in the binary tree.
Move the left child of the leaf node to the right side of the leaf node.
Make the parent of the leaf node the left child of the leaf node.
Repeat the process for each test case.
Return the inverted binary tree in level order format.
Round duration - 60 minutes
Round difficulty - Medium
Questions based on programming, DBMS and puzzles were asked in this round.
Given an array ARR
consisting of non-negative integers, rearrange the numbers to form the largest possible number. The digits within each number cannot be changed.
Rearrange the array elements to form the largest possible number by concatenating them.
Sort the array elements in a custom way where the concatenation of two numbers results in a larger number.
Use a custom comparator function while sorting the array elements.
Convert the sorted array elements to a single string to get the largest possible number.
Indexing in databases is a technique used to improve the speed of data retrieval by creating a data structure that allows for quick lookups.
Indexes are created on columns in a database table to speed up the retrieval of rows that match a certain condition.
They work similar to the index in a book, allowing the database to quickly find the relevant data without having to scan the entire table.
Examples of indexes include ...
B+ Trees are advantageous in database management systems due to their ability to efficiently store and retrieve data.
B+ Trees have a high fanout, allowing for more keys to be stored in each node, reducing the height of the tree and improving search performance.
B+ Trees are balanced trees, ensuring that operations like search, insertion, and deletion have a predictable time complexity of O(log n).
B+ Trees are optimized ...
Round duration - 45 minutes
Round difficulty - Medium
Puzzles and HR based questions were asked in this round.
He asked questions like : what are my career goals, what do you look forward to in a boss , how do you see yourself in 5 years ,etc etc .
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 want you to provide me with challenging software development projects that will help me grow as a developer.
Challenging projects that will push my skills to the limit
Opportunities to learn new technologies and programming languages
Collaborative work environment with experienced developers
Clear communication and feedback on my work
Opportunities for career growth and advancement
based on 1 review
Rating in categories
Customer Service Associate
4.2k
salaries
| ₹0 L/yr - ₹0 L/yr |
Transaction Risk Investigator
3.1k
salaries
| ₹0 L/yr - ₹0 L/yr |
Associate
2.8k
salaries
| ₹0 L/yr - ₹0 L/yr |
Senior Associate
2.5k
salaries
| ₹0 L/yr - ₹0 L/yr |
Program Manager
2.1k
salaries
| ₹0 L/yr - ₹0 L/yr |
Flipkart
TCS
Netflix