Filter interviews by
I applied via Approached by Company and was interviewed in Aug 2024. There was 1 interview round.
Use sorting or heap data structure to find the Kth largest element in an array.
Sort the array in descending order and return the element at index K-1.
Use a max heap to store the elements and pop K-1 elements to get the Kth largest element.
I applied via Approached by Company and was interviewed before Mar 2023. There were 3 interview rounds.
Data Structure / Algo Leetcode medium
Top trending discussions
My day was productive and fulfilling. As for myself, I am a driven and detail-oriented individual with a passion for problem-solving.
I tackled several challenging tasks at work and made significant progress on each of them.
I also took some time to exercise and clear my mind, which helped me stay focused throughout the day.
As for myself, I have a background in engineering and enjoy using my analytical skills to find cre...
Optimizing code involves identifying and removing bottlenecks to improve performance.
Identify the parts of the code that are taking the most time to execute
Use efficient algorithms and data structures
Minimize the number of function calls and loops
Avoid unnecessary calculations or operations
Use caching or memoization to avoid repeating calculations
Profile the code to measure performance improvements
Optimized version of given code
Use efficient data structures and algorithms
Avoid unnecessary loops and conditions
Minimize function calls and variable assignments
My day was productive and fulfilling. As for myself, I am a driven and detail-oriented individual with a passion for problem-solving.
I tackled several challenging tasks at work and made significant progress on each of them.
I also took some time to exercise and clear my mind, which helped me stay focused throughout the day.
As for myself, I have a background in engineering and enjoy applying my analytical skills to a var...
Yes, I prefer coding in C and have read The C Programming Language book. I have also explored the concept of Inheritance in C.
I find C to be a powerful and efficient language for system programming.
Yes, I have read The C Programming Language book by Dennis Retchie and found it to be a great resource.
Recently, I have been exploring the concept of Inheritance in C through various online resources and tutorials.
While C do...
Inheritance allows a class to inherit properties and methods from another class.
Inheritance promotes code reusability and saves time and effort in programming.
It allows for the creation of a hierarchy of classes with shared characteristics.
For example, a class Animal can be inherited by classes such as Dog, Cat, and Bird, which share common properties and methods.
Inheritance can be implemented using the 'extends' keywo
Liskov substitution principle is a principle in object-oriented programming that states that objects of a superclass should be able to be replaced with objects of its subclasses without affecting the correctness of the program.
Subtypes must be substitutable for their base types
Derived classes must not change the behavior of the base class
Violating the principle can lead to unexpected behavior and errors
Example: A squar...
Explanation of OOPs concepts with programs
Encapsulation: Wrapping data and functions into a single unit. Example: Class in Java
Abstraction: Hiding implementation details and showing only necessary information. Example: Abstract class in C#
Inheritance: Acquiring properties and behavior of a parent class. Example: Child class extending parent class in Python
Polymorphism: Ability of an object to take many forms. Example:
Dynamic polymorphism is achieved through virtual functions and inheritance in object-oriented programming.
Create a base class with virtual functions
Create derived classes that override the virtual functions
Use pointers or references of the base class to call the virtual functions
The appropriate derived class function will be called based on the object being pointed to or referred to
Global variables can lead to unexpected changes and make debugging difficult.
Global variables can be accessed and modified from any part of the code, making it difficult to track changes.
They can cause naming conflicts if multiple variables with the same name are used in different parts of the code.
Using global variables can make it harder to test and debug code, as it can be difficult to isolate the cause of errors.
Th...
Using 'goto' can make code hard to read, maintain and debug.
Goto statements can create spaghetti code that is difficult to follow.
It can make it harder to understand the flow of the program.
It can also make debugging more difficult.
There are usually better alternatives to using goto, such as using loops or functions.
Some programming languages, such as Java and Python, do not even have a goto statement.
Using goto can al...
My favorite subject is history because it helps me understand the present and learn from the past.
I enjoy learning about different cultures and how they have evolved over time
I find it fascinating to study the causes and effects of major historical events
One of my favorite books on history is 'Guns, Germs, and Steel' by Jared Diamond
Implicit objects are pre-defined objects in JSP that can be accessed without being explicitly declared.
Implicit objects are created by the JSP container during the translation phase.
They can be accessed using predefined names such as request, response, session, application, out, pageContext, config, and exception.
For example, the request object can be used to retrieve parameters from a form or URL.
The session object ca...
Apache is a popular web server and Tomcat is a widely used application server.
Apache is an open-source web server that supports multiple operating systems and is known for its stability and security.
Tomcat is a Java-based application server that is used to deploy Java web applications and supports servlets and JSPs.
Other popular web servers include Nginx and Microsoft IIS.
Other popular application servers include JBoss...
To deploy a web application on Apache Tomcat, the application needs to be packaged as a WAR file and then deployed to the Tomcat server.
Create a WAR file of the web application
Copy the WAR file to the Tomcat webapps directory
Start the Tomcat server
Access the web application using the URL http://localhost:8080/
Collections in Java are classes that implement collections of objects, such as lists, sets, and
I applied via Referral
A program to swap two pointers.
Declare two pointers of the same data type
Assign the first pointer to a temporary variable
Assign the second pointer to the first pointer
Assign the temporary variable to the second pointer
Dijkstra's algorithm finds shortest path between nodes in a graph
Create a graph with nodes and edges
Initialize distances from source node to all other nodes as infinity
Set distance from source node to itself as 0
Create a set of unvisited nodes
While unvisited set is not empty, select node with minimum distance
For each neighbor of selected node, calculate distance from source node
If calculated distance is less than curre...
Floyd-Warshall's algorithm is used to find the shortest path between all pairs of vertices in a weighted graph.
Create a 2D array to store the distances between all pairs of vertices.
Initialize the array with the weights of the edges in the graph.
Use nested loops to iterate over all pairs of vertices and update the distances if a shorter path is found through a third vertex.
The final array will contain the shortest dist
Program to print matrix elements in spiral order recursively
Create a recursive function to print the elements in spiral order
Define the boundaries of the matrix and traverse the matrix in spiral order
Call the recursive function to print the elements in spiral order
Handle edge cases such as empty matrix or matrix with only one row/column
Find two numbers in an unsorted array that add up to a given sum in O(n)
Use a hash table to store the difference between the sum and each element in the array
Iterate through the array and check if the current element is in the hash table
If it is, return the current element and the corresponding difference
If not, add the current element to the hash table
Indexing is a technique used in DBMS to improve the performance of queries.
Indexing creates a separate data structure that allows faster retrieval of data.
It works by creating a pointer to the location of data in the table.
Indexes can be created on one or more columns of a table.
Types of indexing include B-tree, hash, and bitmap indexing.
Indexes can also be clustered or non-clustered.
Clustered indexes determine the phy...
B and B+ trees are data structures used for efficient searching and sorting of large datasets.
B trees are balanced trees used for disk-based storage systems.
B+ trees are similar to B trees but have all data stored in the leaf nodes for faster searching.
B trees have a variable number of keys per node, while B+ trees have a fixed number.
B trees have a higher fanout than B+ trees, making them more efficient for smaller da...
Program to find lowest common ancestor of two nodes in binary search tree and binary tree with brute force approach.
For binary search tree, traverse from root to both nodes and store the path. Then compare paths to find LCA.
For binary tree, traverse from root to both nodes and store the path. Then compare paths to find LCA.
Brute force approach involves checking each node's descendants to see if they contain both nodes.
...
Program to print all ancestors of a node in a binary tree
Create a recursive function to traverse the binary tree
Check if the current node is the target node
If yes, print all the nodes in the call stack
If not, recursively call the function for left and right subtrees
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.
based on 3 interviews
Interview experience
5-9 Yrs
Not Disclosed
8-11 Yrs
Not Disclosed
3-5 Yrs
Not Disclosed
Senior Software Engineer
10
salaries
| ₹0 L/yr - ₹0 L/yr |
Software Engineer
6
salaries
| ₹0 L/yr - ₹0 L/yr |
Senior Business Analyst
6
salaries
| ₹0 L/yr - ₹0 L/yr |
Technical Lead
5
salaries
| ₹0 L/yr - ₹0 L/yr |
Data Engineer
4
salaries
| ₹0 L/yr - ₹0 L/yr |
Flipkart
Snapdeal
Myntra
Shopclues