Filter interviews by
Be the first one to contribute and help others!
I was interviewed before Dec 2020.
Round duration - 60 Minutes
Round difficulty - Medium
This round was purely based on Data Structures and Algorithms . One has to be fairly comfortable in solving Algorithmic problems to pass this round . Both the questions asked were quite common and luckily I had already prepared them from CodeStudio and LeetCode.
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...
Compute the In-Order, Pre-Order, and Post-Order traversals of a Binary Tree given in level-order format.
Implement functions to perform In-Order, Pre-Order, and Post-Order traversals of a Binary Tree.
Use level-order input to construct the Binary Tree.
Traverse the Binary Tree recursively to generate the required traversals.
Ensure proper handling of null nodes represented by -1 in the input.
Return the three traversals as
Given a Singly Linked List of integers, your task is to reverse the Linked List by altering the links between the nodes.
The first line of input is an intege...
Reverse a singly linked list by altering the links between nodes.
Iterate through the linked list and reverse the links between nodes
Use three pointers to keep track of the current, previous, and next nodes
Update the links between nodes to reverse the list
Return the head of the reversed linked list
Round duration - 45 Minutes
Round difficulty - Medium
This round basically tested some concepts from Data Structures and File Manipulation .
Given two arrays A
and B
with sizes N
and M
respectively, both sorted in non-decreasing order, determine their intersection.
The intersection of two arrays in...
The problem involves finding the intersection of two sorted arrays efficiently.
Use two pointers to iterate through both arrays simultaneously.
Compare elements at the pointers and move the pointers accordingly.
Handle cases where elements are equal and update the intersection array.
Return the intersection array as the result.
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 - 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.
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
GET is used to retrieve data from a server, while POST is used to send data to a server.
GET requests are idempotent, meaning they can be repeated without changing the result
POST requests are not idempotent and can have side effects on the server
GET requests can be cached by the browser, while POST requests cannot
GET requests have limitations on the amount of data that can be sent, while POST requests have no limitation...
Session in PHP is a way to store and retrieve data for a user across multiple requests.
Sessions are used to maintain user-specific data on the server side.
A session is created for each user and is identified by a unique session ID.
Session data can be stored in server files or in a database.
Session variables can be accessed and modified throughout the user's session.
Sessions can be used to implement features like user a
Session ID is stored in PHP as a cookie or a query parameter.
Session ID can be stored as a cookie in the client's browser.
Session ID can also be stored as a query parameter in the URL.
The server identifies the client by retrieving the session ID from the cookie or query parameter.
The session ID is then used to retrieve the corresponding session data stored on the server.
The server can also use other methods like IP add
A cookie in PHP is a small piece of data stored on the client's computer. It has a size limit and an expiry date.
A cookie is used to store information on the client's computer for future use.
In PHP, cookies are set using the setcookie() function.
The size of a cookie is limited to 4KB.
Cookies can have an expiry date, after which they are no longer valid.
The expiry date can be set using the 'expires' parameter in the set...
Triggers in MySQL are database objects that are automatically executed in response to specified events.
Triggers are used to enforce business rules, maintain data integrity, and automate tasks.
They can be defined to execute before or after an INSERT, UPDATE, or DELETE operation.
Triggers can be written in SQL or in a programming language like PL/SQL.
Examples of trigger events include inserting a new record, updating a re...
Yes, a constructor can be declared as private.
Declaring a constructor as private restricts its accessibility to only the class itself.
This can be useful in scenarios where you want to control the creation of objects of that class.
Private constructors are commonly used in singleton design pattern implementations.
Example: private constructor in a singleton class:
class Singleton { private Singleton() {} }
Indexing in MySQL improves the performance of database queries by creating a data structure that allows for faster data retrieval.
Indexes are created on one or more columns of a table.
They help in speeding up the search, sorting, and joining of data.
Indexes can be created using the CREATE INDEX statement.
Common types of indexes include B-tree, hash, and full-text indexes.
Indexes should be used judiciously as they consu...
Change binary tree to make parent node the sum of root nodes
Traverse the tree in post-order
For each node, update its value to the sum of its children
Return the updated root node
Reverse a linkedlist by changing the direction of pointers.
Iterate through the linkedlist and change the direction of pointers.
Keep track of previous, current and next nodes.
Set the next pointer of current node to previous node.
Move to next node and repeat until end of list is reached.
Rearrange an array of positive and negative numbers with positive numbers on the left and negative numbers on the right.
Create two empty arrays, one for positive numbers and one for negative numbers
Loop through the original array and add positive numbers to the positive array and negative numbers to the negative array
Concatenate the positive and negative arrays to create the rearranged array
String pool is a cache of string literals in memory. Garbage collection frees up memory by removing unused objects.
String pool is a cache of string literals in memory
Strings are immutable and can be shared among multiple objects
Garbage collection removes unused objects to free up memory
String objects that are no longer referenced are eligible for garbage collection
Process vs Thread differences and synchronization, deadlock examples
Process is an instance of a program while thread is a subset of a process
Processes are independent while threads share the same memory space
Synchronization is used to coordinate access to shared resources
Deadlock occurs when two or more threads are blocked waiting for each other to release resources
Examples of synchronization include mutex, semaphore, ...
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 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.
I was interviewed before Jan 2016.
PreOrder traversal without recursion is done using a stack to simulate the function call stack.
Create an empty stack and push the root node onto it.
While the stack is not empty, pop a node from the stack and process it.
Push the right child of the popped node onto the stack if it exists.
Push the left child of the popped node onto the stack if it exists.
Yes
Create an empty binary search tree (BST)
Loop over the unsorted array
For each element, insert it into the BST using the appropriate insertion logic
Repeat until all elements are inserted
The resulting BST will be built from the unsorted array
The question asks to find two elements in an array whose sum is equal to a given number.
Iterate through the array and for each element, check if the difference between the given number and the current element exists in the array.
Use a hash set to store the elements as you iterate through the array for efficient lookup.
Return the pair of elements if found, otherwise return a message indicating no such pair exists.
There are two types of triggers: DML triggers and DDL triggers.
DML triggers are fired in response to DML (Data Manipulation Language) statements like INSERT, UPDATE, DELETE.
DDL triggers are fired in response to DDL (Data Definition Language) statements like CREATE, ALTER, DROP.
Examples: A DML trigger can be used to log changes made to a table, while a DDL trigger can be used to enforce certain rules when a table is alt
Yes, triggers can be used with select statements in SQL.
Triggers are database objects that are automatically executed in response to certain events, such as insert, update, or delete operations.
While triggers are commonly used with insert, update, and delete statements, they can also be used with select statements.
Using triggers with select statements allows you to perform additional actions or validations before or af...
Indexing in MySQL improves query performance. There are several types of indexing in MySQL.
Indexes are used to quickly locate data without scanning the entire table.
Types of indexing in MySQL include B-tree, hash, full-text, and spatial indexes.
B-tree indexes are the most common and suitable for most use cases.
Hash indexes are used for exact match lookups.
Full-text indexes are used for searching text-based data efficie...
Engines in MySQL are the underlying software components that handle storage, indexing, and querying of data.
MySQL supports multiple storage engines, each with its own strengths and features.
Some commonly used engines in MySQL are InnoDB, MyISAM, and Memory.
InnoDB is the default engine in MySQL and provides support for transactions and foreign keys.
MyISAM is known for its simplicity and speed but lacks transaction suppo...
Yes, a constructor can be private.
A private constructor can only be accessed within the class itself.
It is often used in singleton design pattern to restrict object creation.
Private constructors are also useful for utility classes that only contain static methods.
based on 1 review
Rating in categories
Udaan
BigBasket
Swiggy
CARS24