Filter interviews by
I appeared for an interview before May 2024, where I was asked the following questions.
I applied via Referral and was interviewed before Nov 2022. There were 4 interview rounds.
1 Hour Time 2 Questions one hard one moderate difficulty, discussion on solution ,code optimization if any
Top trending discussions
I appeared for an interview before Sep 2020.
Round duration - 90 minutes
Round difficulty - Medium
Coding question of medium level difficulty, from DP.
18 MCQs were core CSE related concepts e.g: OS, OOPs, DBMS, Networking
Time was 90 minutes.
You are given an NxM matrix consisting of '0's and '1's. A '1' signifies that the cell is accessible, whereas a '0' indicates that the cell is blocked. Your task is to compute ...
Find the minimum cost to reach a destination in a matrix with blocked cells.
Use Breadth First Search (BFS) algorithm to explore all possible paths from the starting point to the destination.
Keep track of the cost incurred at each cell and update it as you move through the matrix.
Return the minimum cost to reach the destination or -1 if it is unreachable.
Round duration - 30 minutes
Round difficulty - Medium
It was an one-to-one interview. It checks your problem solving ability and a few OOPs, OS, DBMS etc concepts. Coding questions were related to array, queue and DP.
Given an integer array/list ARR
of length 'N', determine if it is possible to form at least one non-degenerate triangle using the values of the array as the sides o...
Determine if it is possible to form a non-degenerate triangle using array elements as sides.
Check if the sum of any two sides is greater than the third side for all combinations of sides.
If the above condition is met for any combination, return true; otherwise, return false.
You are given an array/list of integers. The task is to return the maximum sum of a subsequence such that no two elements in the subsequence are adjacent in the given ...
Find the maximum sum of non-adjacent elements in an array.
Use dynamic programming to keep track of the maximum sum at each index, considering whether to include the current element or not.
At each index, the maximum sum can be either the sum excluding the current element or the sum including the current element but excluding the previous element.
Iterate through the array and update the maximum sum accordingly.
Example: F...
Round duration - 45 minutes
Round difficulty - Easy
It was also a problem solving round. However after coding questions, they also asked CSE conceptual questions.
Convert a given binary tree into its sum tree. In a sum tree, every node's value is replaced with the sum of its immediate children's values. Leaf nodes are set to 0. Finally, return th...
Convert a binary tree into a sum tree by replacing each node's value with the sum of its children's values. Return preorder traversal.
Traverse the tree in a bottom-up manner, starting from the leaf nodes.
For each node, update its value to the sum of its children's values.
Set leaf nodes to 0.
Return the preorder traversal of the modified tree.
Core concepts of indexing in DBMS include types of indexes, benefits of indexing, and factors affecting index performance.
Types of indexes: B-tree, Hash, Bitmap, etc.
Benefits of indexing: Faster data retrieval, improved query performance, reduced disk I/O.
Factors affecting index performance: Selectivity, clustering factor, index fragmentation.
Examples: Creating an index on a column in a table to speed up search queries...
Tip 1 : Strengthen your coding, algorithms. This is one most important thing for OYO. Practice Graph, tree, DP, greedy, recursion, data structures questions.
Tip 2 : OS, DBMS concepts will give you an edge over others. Like serialisation, index, deadlock, semaphore
Tip 3 : Only mention those projects in your resume which you are very clear about. They don't ask for detailed explanation, just an overall idea about your projects will increase your chances
Tip 1 : Mention college projects wisely. No need to mention fancy projects. Any project that you can describe to the interviewer will be a best solution
Tip 2 : Neat & clean resume with your skills, technical stacks that you mastered. That's all. They don't require you to be very active in extra-curricular activities, and these things will not give you any advantage.
Tip 3 : Keep it of single page
I appeared for an interview before Sep 2020.
Round duration - 90 minutes
Round difficulty - Medium
You are given a matrix MAT
of size 'N' * 'M', where 'N' is the number of rows and 'M' is the number of columns, along with a positive integer 'K'. Your task is to rotate the ma...
Rotate a matrix to the right 'K' times by shifting each column to the right 'K' times.
Iterate 'K' times to perform right rotation on the matrix
Shift each column to the right by one position in each rotation
Handle wrapping around the matrix when shifting columns
Return the matrix elements row-wise after 'K' rotations
Given a two-dimensional grid of size N x M
consisting of upper case characters and a string 'WORD', determine how many times the 'WORD' appears in the grid.
The 'WORD' can b...
Count how many times a given word appears in a 2D grid by moving in any of the eight possible directions.
Iterate through each cell in the grid and check if the word can be formed starting from that cell in any of the eight directions.
Use recursion to explore all possible paths from a starting cell to form the word.
Keep track of visited cells to avoid revisiting the same cell in the same path.
Return the count of how man...
Round duration - 75 minutes
Round difficulty - Medium
Interview started with an introduction and walk through the resume for first 5 minutes. After that, interview asked few coding questions.
You are provided with a non-empty grid consisting of only 0s and 1s. Your task is to determine the maximum area of an island within the given grid.
An island consists of a...
Find the maximum area of an island in a grid of 0s and 1s.
Iterate through the grid and perform depth-first search (DFS) to find connected 1s.
Keep track of the area of each island found and return the maximum area.
Consider all four directions (horizontal, vertical, and diagonal) while exploring the island.
Handle edge cases like grid boundaries and already visited cells during DFS.
If no island is present, return 0 as the...
Determine if there exists a Pythagorean triplet within a given array of integers. A Pythagorean triplet consists of three numbers, x, y, and z, such that x^2 + y^2 = z^2.
Check if there exists a Pythagorean triplet in a given array of integers.
Iterate through all possible triplets in the array and check if they form a Pythagorean triplet.
Use a nested loop to generate all possible combinations of three numbers from the array.
Check if the sum of squares of two numbers is equal to the square of the third number.
Given a Binary Tree of integers, you are tasked with finding the top view of the binary tree. The top view is the set of nodes visible when the tree is viewed fro...
Find the top view of a Binary Tree by returning a list of visible nodes when viewed from the top.
Traverse the Binary Tree in level order and keep track of the horizontal distance of each node from the root.
Use a map to store the nodes at each horizontal distance, and only keep the topmost node for each horizontal distance.
Return the values of the topmost nodes in the map as the top view of the Binary Tree.
Round duration - 90 minutes
Round difficulty - Medium
This round was focused on DSA along with short discussion on computer science fundamentals. For coding problems, I was asked to code the first problem only. For others, had to discuss the approach only. For computer science fundamentals, discussion on OOPS. Differences between process and threads were discussed.
Given a Binary Search Tree (BST) where two nodes have been swapped by mistake, your task is to restore or fix the BST without changing its structure.
The first...
Restore a Binary Search Tree by fixing two swapped nodes without changing its structure.
Identify the two nodes that are swapped by mistake in the BST.
Swap the values of the two identified nodes to restore the BST.
Perform an in-order traversal of the BST to verify the correct restoration.
Ensure no extra space other than the recursion stack is used for the solution.
Your task is to implement a Stack data structure using a Singly Linked List.
Create a class named Stack
which supports the following operations, each in O(1...
Implement a Stack data structure using a Singly Linked List with operations like getSize, isEmpty, push, pop, and getTop in O(1) time.
Create a class named Stack with methods for getSize, isEmpty, push, pop, and getTop.
Use a Singly Linked List to store the elements of the stack.
Ensure that each operation runs in constant time O(1).
Handle edge cases like empty stack appropriately.
Test the implementation with sample queri...
Tip 1 : Focus on DSA as you will be judged mostly on that for entry-level software engineer profiles.
Tip 2 : Don't mug up the solution as you might not be able to recall the approach or you might face new question that you haven't seen earlier.
Tip 3 : Practice as much as possible from platforms like InterviewBit, LeetCode.
Tip 1 : Try not to mention those things about which you are not comfortable.
Tip 2 : Having one or two good projects in resume helps.
Tip 3 : Mention good competitive programming ranks (if any)
Tip 4 : Use overleaf.com for making a resume using Latex.
I prioritize tasks, communicate effectively, and adapt my plans to manage interruptions while maintaining productivity.
Assess the interruption: Determine its urgency and importance. For example, if a team member needs immediate help, I prioritize that.
Reorganize my tasks: I create a new plan that accommodates the interruption while ensuring critical deadlines are met.
Communicate with stakeholders: I inform my team or m...
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...
The Singleton pattern ensures a class has only one instance and provides a global point of access to it.
Restricts instantiation of a class to a single object.
Useful for managing shared resources, like database connections.
Implemented using private constructors and static methods.
Example in Java: public class Singleton { private static Singleton instance; private Singleton() {} public static Singleton getInstance() { if...
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.
I appeared for an interview 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 appeared for an interview 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
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) ...
Choosing the right search algorithm depends on data structure, size, and specific requirements like speed or memory usage.
Binary Search: Efficient for sorted arrays, O(log n) time complexity. Example: Finding a number in a sorted list.
Linear Search: Simple and works on unsorted arrays, O(n) time complexity. Example: Searching for a name in an unsorted list.
Depth-First Search (DFS): Suitable for tree/graph traversal, ex...
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
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, ...
Design a scalable website to process user requests and send email results asynchronously.
Use a microservices architecture to handle different processes independently.
Implement a message queue (e.g., RabbitMQ, Kafka) to manage requests and responses.
Utilize cloud services (e.g., AWS Lambda) for scalable processing of tasks.
Send emails using a reliable service (e.g., SendGrid, Amazon SES) to ensure delivery.
Implement loa...
I appeared for an interview 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.
based on 2 interview experiences
Difficulty level
Duration
based on 1 review
Rating in categories
Software Engineer2
8
salaries
| ₹15.7 L/yr - ₹28 L/yr |
Software Engineer III
8
salaries
| ₹26.8 L/yr - ₹37 L/yr |
Software Engineer
7
salaries
| ₹9 L/yr - ₹10.5 L/yr |
Engineer III
5
salaries
| ₹29 L/yr - ₹31 L/yr |
Software Engineer IV
5
salaries
| ₹43 L/yr - ₹45 L/yr |
POPxo
Exhibitions India Group
Craftsvilla.com
Society Tea