Filter interviews by
Top trending discussions
I appeared for an interview before Sep 2020.
Round duration - 60 minutes
Round difficulty - Easy
Round duration - 50 minutes
Round difficulty - Easy
Round duration - 60 minutes
Round difficulty - Easy
At the beginning of this round, the interviewer asked me about the data structures I knew. Linked lists, trees, graphs, arrays etc. was my answer. He asked me how well I knew Dynamic Programming. I said I wasn’t strong in that and he said that he would ask me a question on dynamic programming for sure.
Round duration - 40 minutes
Round difficulty - Easy
The interviewer asked me if I was comfortable with the interview process so far and how the previous interviews were. I said it was good and he gave me the first problem to solve.
Round duration - 60 minutes
Round difficulty - Easy
The interviewer asked me some Computer Science fundamentals in this round as well as some behavioural questions.
Implement a Trie data structure with insert and search functions.
Create a TrieNode class with children and isEndOfWord attributes.
Implement insert function to add words by iterating through characters.
Implement search function to check if a word exists by traversing the Trie.
Example: Insert 'apple', 'banana', 'orange' and search for 'apple' and 'grape'.
Do lot of hard work and practice of Data Structures and Algorithms based questions. I personally recommend you Coding Ninjas and Geeks For Geeks for interview preparation.
Application resume tips for other job seekersMake your resume short and try to make it of one page only and do mention all your skills which you are confident of in your resume.
Final outcome of the interviewSelectedI appeared for an interview before May 2021.
Round duration - 90 minutes
Round difficulty - Medium
Around 65-70 people sat for the test. 15 people were shortlisted. It consisted of the following to be done in 90 minutes.
- 28 MCQs based on core CS
- 2 Coding questions – everyone had different and random questions. Most questions were custom logic based (easy level) including some standard questions – LCS, LIS, topological sort.
Round duration - 60 minutes
Round difficulty - Easy
Interviewer was very friendly. It started with the standard – tell me about yourself / introduce yourself type of question. Then he proceeded and asked two coding questions
Your friend has homework to complete. Help him by removing duplicates from a sorted linked list.
You are given the 'Head' of a sorted linked list. Modify the l...
Remove duplicates from a sorted linked list without adjacent duplicates.
Traverse the linked list while comparing current and next nodes.
If they are equal, skip the next node by updating the current node's next pointer.
Repeat until the end of the list is reached.
You are enrolled as a student and must complete N
courses, numbered from 1 to N, to earn your degree.
Some courses have prerequisites, which means that to take course i
,...
Check if it is feasible to complete all courses with prerequisites.
Create a graph representing the prerequisites with courses as nodes and edges as prerequisites.
Perform a topological sort on the graph to check if there is a cycle (if there is, then it's not feasible to complete all courses).
If there is no cycle, then it is feasible to complete all courses.
Round duration - 60 minutes
Round difficulty - Medium
This round had only 1 question. The interviewer introduced himself. And he advised me to clearly understand the problem before proceeding.
You are given a binary tree of distinct integers, along with two nodes, ‘X’ and ‘Y’. Your task is to determine the Lowest Common Ancestor (LCA) of ‘X’ and ‘Y’.
The LC...
Find the Lowest Common Ancestor of two nodes in a binary tree.
Traverse the binary tree to find the paths from the root to nodes X and Y.
Compare the paths to find the last common node, which is the Lowest Common Ancestor.
Implement a recursive function to efficiently find the LCA.
Handle cases where one node is an ancestor of the other.
Consider edge cases like when X or Y is the root node.
Round duration - 60 minutes
Round difficulty - Medium
Pretty Good Round. Fast Paced. We covered a lot of ground.
Design and implement a class BSTIterator
to perform an in-order traversal over a Binary Search Tree (BST). Your implementation should include the following me...
Design and implement a class BSTIterator to perform in-order traversal over a Binary Search Tree (BST).
Implement a parameterized constructor to initialize the iterator with the root of the BST.
Implement a method 'next()' to return the next smallest element in in-order traversal.
Implement a method 'hasNext()' to check if there exists a next smallest element in traversal.
Ensure the output is the in-order traversal of the
Given a binary array 'ARR' of size 'N', your task is to determine the maximum length of a sequence consisting solely of 1’s that can be obtained by converting at...
Find the maximum length of a sequence of 1's by converting at most K zeroes into ones in a binary array.
Iterate through the array and keep track of the current window of 1's and zeroes.
Use a sliding window approach to find the maximum length of consecutive 1's by flipping at most K zeroes.
Update the window based on the number of zeroes flipped and keep track of the maximum length found so far.
Return the maximum length ...
You are given an undirected and disconnected graph G(V, E)
having V
vertices numbered from 0
to V-1
and E
edges. Your task is to print its BFS traversal starting from the 0t...
BFS traversal of an undirected and disconnected graph starting from vertex 0.
Start BFS traversal from vertex 0 and visit all connected nodes in sorted order.
Use a queue to keep track of nodes to visit next.
Keep a visited array to avoid revisiting nodes.
Print the BFS traversal path as the nodes are visited.
Example: For input V=5, E=4 and edges 0-1, 0-2, 1-3, 2-4, the BFS traversal will be [0, 1, 2, 3, 4].
Given an undirected graph with V
vertices (labeled 0, 1, ..., V-1) and E
edges, each edge connects two nodes X
and Y
with a specified weight representing the dis...
Dijkstra's algorithm is used to find the shortest path distance from a source node to all other nodes in an undirected graph.
Implement Dijkstra's algorithm to find the shortest path distance from node 0 to all other nodes in the graph.
Use a priority queue to efficiently select the next node with the shortest distance.
Initialize distances to all nodes as infinity, except for the source node which is 0.
Update distances t...
Round duration - 60 minutes
Round difficulty - Hard
Bar Raised Round. Definitely felt the difficulty.
You are given a string consisting of English alphabet characters. Your task is to identify and return the first character in the string that does not repeat...
Identify and return the first non-repeating character in a string, or the first character if all characters repeat.
Iterate through the string to count the frequency of each character
Iterate through the string again to find the first character with frequency 1
If no such character is found, return the first character of the string
Tip 1 : Practice at least 250 Questions, Give yourself enough time for preparation. Cramming won't take you very far. In books, I really liked Elements of Programming Interviews.
Tip 2 : Make sure to brush up your basics - coding style, OOPs, Language features. They help in making an impression.
Tip 3 : Don't worry about solving the question in the interview. Learn to tackle any random problem with the best of your ability. More often than not, that'd be enough.
Tip 1 : Keep your resume clean - no graphics, no multiple fonts. Keep it one page.
Tip 2 : Don't go over board in mentioning skills, only mention the things you are truly confident about.
I appeared for an interview before Sep 2020.
Round duration - 90 Minutes
Round difficulty - Medium
Interview started at 11:00 am. It was an online round. During the coding round I submitted optimized solution and got full acceptance of the solutions.
You are provided with a directed graph composed of 'N' nodes. You have a matrix called 'EDGES' with dimensions M x 2, which specifies the 'M' edges in the graph. Each edge...
Detect cycle in a directed graph using depth-first search (DFS) algorithm.
Use DFS to traverse the graph and detect back edges indicating a cycle.
Maintain a visited array to keep track of visited nodes during traversal.
If a node is visited again during traversal and it is not the parent node, then a cycle exists.
Return true if a cycle is detected, false otherwise.
Round duration - 80 Minutes
Round difficulty - Medium
Interview started at 10:00 am. Interview went well, I was able to connect with the interviewer and enjoyed the whole interview
Find the next smallest palindrome strictly greater than a given number 'N' represented as a string 'S'.
You are given a number in string format, a...
Find the next smallest palindrome greater than a given number represented as a string.
Convert the string to an integer, find the next greater palindrome, and convert it back to a string.
Handle cases where the number is a palindrome or has all digits as '9'.
Consider both odd and even length numbers when finding the next palindrome.
Round duration - 80 Minutes
Round difficulty - Medium
Interview started at 11:00 am. Interview went well.
Given a binary tree of integers, your task is to return the boundary nodes of the tree in Anti-Clockwise direction starting from the root node.
The first line ...
Return the boundary nodes of a binary tree in Anti-Clockwise direction starting from the root node.
Traverse the left boundary nodes in a top-down manner
Traverse the leaf nodes from left to right
Traverse the right boundary nodes in a bottom-up manner
Handle cases where duplicates occur in the boundary nodes
Implement the function without printing as printing is already managed
Tip 1 : For Data Structures number of questions doesn't matter. Try to understand the logic behind them and try to apply them in creating multiple scenario's. Learn them by heart.
Tip 2 : For Web.Development Try to learn full stack development. See which part interests you more, Increase your knowledge horizon, Always try to build a system a system considering It will be served to millions of customers. By doing this 1-2 projects will increase and cover all the major things which one should learn in their career/college.
Tip 1 : Always try to make it a single page
Tip 2 : Always make resume company specific. eg. Data Structures part more if you are applying for MNC's eg. Amazon, Google, DE Shaw, browserstack.
I appeared for an interview before Sep 2020.
Round duration - 90 minutes
Round difficulty - Easy
This was MCQ+Coding round.
Check if two strings are anagrams by comparing the sorted versions of the strings.
Sort both strings and compare if they are equal.
Use a hashmap to store the frequency of characters in each string and compare the maps.
Ignore spaces and punctuation when comparing the strings.
Round duration - 90 minutes
Round difficulty - Easy
This was face to face interview round.
Round duration - 90 minutes
Round difficulty - Easy
This was face to face interview round.
Tip 1 : Participate in live contests on websites like Codechef, Codeforces etc as much as possible.
Tip 2 : Practice previous interview questions from LeetCode, GeeksForGeeks.
Tip 3 : Revise Computer Science subjects like DBMS, OOPS thoroughly.
Add projects and Internships if you have done any and add only those things which you really know.
Final outcome of the interviewSelectedI 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.
I appeared for an interview before Mar 2021.
Round duration - 60 minutes
Round difficulty - Easy
In first round they asked me 2 coding questions where he asked me to code as close as possible to the actual one.
Ninja is tasked with merging two given sorted integer arrays ARR1
and ARR2
of sizes 'M' and 'N', respectively, such that the merged result is a single sorted array w...
Merge two sorted arrays into one sorted array in place.
Use two pointers to compare elements from both arrays and place them in the correct position in ARR1.
Start from the end of ARR1 and compare elements from both arrays, placing the larger element at the end of ARR1.
Continue this process until all elements from ARR2 are merged into ARR1.
Given a document represented as an array/list ARR
of words with length N
, find the smallest distance between two given words for multiple queries. The distance is defined as the ...
Find the smallest distance between two words in a document for multiple queries.
Iterate through the document array to find the indices of the two words in each query.
Calculate the absolute difference between the indices to get the distance.
If a word from the query is not present in the document, return the length of the document array.
Repeat the process for each query and output the smallest distance for each.
Round duration - 60 minutes
Round difficulty - Easy
Then in the second round they asked a little about tree and told me to code 2 codes.
Given a binary tree of integers, return the level order traversal of the binary tree.
The first line contains an integer 'T', representing the number of te...
The problem requires implementing a function to return the level order traversal of a binary tree.
Implement a function that takes the root of the binary tree as input and returns the level order traversal of the tree.
Use a queue data structure to perform level order traversal.
Process each level of the tree one by one, starting from the root node.
Print the node values at each level in the order they appear from left to ...
Given an array of distinct positive integers ARR
and a non-negative integer 'B', find all unique combinations in the array where the sum is equal to 'B'. Numbers can be c...
Find all unique combinations in an array where the sum is equal to a given target sum, with elements in non-decreasing order.
Use backtracking to generate all possible combinations.
Sort the array to ensure elements are in non-decreasing order.
Track the current combination and sum while backtracking.
Terminate recursion when the sum equals the target sum.
Avoid duplicates by skipping elements that have been used in previou
Round duration - 30 minutes
Round difficulty - Easy
HR round with typical behavioral problems.
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 appeared for an interview before Mar 2021.
Round duration - 60 minutes
Round difficulty - Medium
This was a online test round where I was given 3 DSA questions to be solved in 60 minutes.
You are provided with a number of stairs, and initially, you are located at the 0th stair. You need to reach the Nth stair, and you can climb one or tw...
The problem involves finding the number of distinct ways to climb to the Nth stair by taking one or two steps at a time.
Use dynamic programming to solve the problem efficiently.
The number of ways to reach the Nth stair is the sum of the number of ways to reach the (N-1)th stair and the (N-2)th stair.
Handle base cases for N=0 and N=1 separately.
Consider using modulo 10^9+7 to avoid overflow in calculations.
You are playing a coin game with your friend Ninjax. There are N
coins placed in a straight line.
Here are the rules of the game:
1. Each coin has a value associated wit...
The problem involves finding the optimal strategy to accumulate the maximum amount in a coin game with specific rules.
Start by understanding the rules of the game and how players take turns to choose coins.
Consider the scenario where both players play optimally to maximize winnings.
Iterate through different strategies to determine the best approach for selecting coins.
Keep track of the total winnings accumulated by eac...
Given an integer N
, your task is to create all possible valid parentheses configurations that are well-formed using N
pairs. A sequence of parentheses is considered w...
Generate all possible valid parentheses configurations using N pairs.
Use backtracking to generate all possible combinations of parentheses.
Keep track of the number of open and close parentheses used.
Add '(' if there are remaining open parentheses, and add ')' if there are remaining close parentheses.
Base case: when the length of the generated string is 2*N, add it to the result array.
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.
Senior Software Engineer
14
salaries
| ₹13 L/yr - ₹30 L/yr |
Senior QA Engineer
7
salaries
| ₹9.5 L/yr - ₹24 L/yr |
Technical Support Engineer
7
salaries
| ₹3.2 L/yr - ₹7.5 L/yr |
NOC Engineer
6
salaries
| ₹7.5 L/yr - ₹12 L/yr |
Software Engineer
6
salaries
| ₹10 L/yr - ₹20 L/yr |
Amazon
Uber
Fareportal
OLX