Filter interviews by
I applied via Campus Placement and was interviewed before Jul 2022. There were 4 interview rounds.
Medium level coding questions were asked
Breadth First Search is a graph traversal algorithm that explores all the neighbor nodes at the present depth prior to moving on to the nodes at the next depth level.
Start by visiting the root node and then visit all the neighbor nodes at the present depth level before moving on to the nodes at the next depth level.
Use a queue data structure to keep track of the nodes to be visited.
Mark each node as visited to avoid re...
Depth First Search is a graph traversal algorithm that explores as far as possible along each branch before backtracking.
Start at a node and explore as far as possible along each branch before backtracking
Use a stack to keep track of nodes to visit
Mark visited nodes to avoid revisiting them
Can be implemented recursively or iteratively
Inorder traversal of a binary tree involves visiting the left subtree, then the root, and finally the right subtree.
Start at the root node
Recursively traverse the left subtree
Visit the current node
Recursively traverse the right subtree
Repeat until all nodes are visited
Swap alternative nodes of a linked list
Iterate through the linked list and swap the data of alternate nodes
Use temporary variables to store data during swapping
Ensure to handle cases where the linked list has an odd number of nodes
Reverse a linked list by changing the next pointers of each node
Start with three pointers: current, prev, and next
Iterate through the linked list, updating the next pointer of each node to point to the previous node
Update prev, current, and next pointers for each iteration
Example: 1 -> 2 -> 3 -> 4 -> null, after reversing: 4 -> 3 -> 2 -> 1 -> null
Top trending discussions
I applied via Campus Placement
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.
Regex for email validation
Start with a string of characters followed by @ symbol
Followed by a string of characters and a period
End with a string of characters with a length of 2-6 characters
Allow for optional subdomains separated by periods
Disallow special characters except for . and _ in username
Print prime numbers in a given range and optimize the solution.
Use Sieve of Eratosthenes algorithm to generate prime numbers efficiently
Start with a boolean array of size n+1, mark all as true
Loop through the array and mark all multiples of each prime as false
Print all the indexes that are still marked as true
Find angle between hour and minute hand in a clock given the time.
Calculate the angle made by the hour hand with respect to 12 o'clock position
Calculate the angle made by the minute hand with respect to 12 o'clock position
Find the difference between the two angles and take the absolute value
If the angle is greater than 180 degrees, subtract it from 360 degrees to get the smaller angle
To un-hash a string, use a reverse algorithm to convert the hash back to the original string.
Create a reverse algorithm that takes the hash as input and outputs the original string
Use the same logic as the hash function but in reverse order
If the hash function used a specific algorithm, use the inverse of that algorithm to un-hash the string
I want you to provide me with challenging software development projects that will help me grow as a developer.
Challenging projects that will push my skills to the limit
Opportunities to learn new technologies and programming languages
Collaborative work environment with experienced developers
Clear communication and feedback on my work
Opportunities for career growth and advancement
Find Nth largest element in the BST
Traverse the BST in reverse inorder and keep track of count
If count equals N, return the current node's value
If count exceeds N, stop traversing and return null
If count is less than N, continue traversing
Find node in BST with value equal to or greater than input value.
Start at root node
If input value is less than current node value, move to left child
If input value is greater than or equal to current node value, move to right child
Repeat until node with desired value is found or null is reached
Program to check if a binary tree is balanced
Calculate height of left and right subtrees recursively
Check if the difference in height is not more than 1
Repeat for all nodes in the tree
Time complexity: O(nlogn) or O(n)
Space complexity: O(h) where h is the height of the tree
Find max size of a sub-string with no duplicate characters in a given string.
Use a sliding window approach with two pointers.
Maintain a hash set to keep track of unique characters.
Update the maximum length of the substring as you iterate through the string.
A hash table is a data structure that stores key-value pairs and uses a hash function to map keys to buckets.
Hash function takes a key and returns an index to a bucket
Collisions occur when multiple keys map to the same bucket
Collision resolution techniques include chaining and open addressing
Example: Dictionary in Python uses hash tables to store key-value pairs
WAP to find a continuous subset divisible by 7 from an array of numbers. Calculate algorithm complexity.
Iterate through the array and calculate the prefix sum modulo 7 at each index.
Store the prefix sum modulo 7 in a hash table with the index as the value.
If a prefix sum modulo 7 is already in the hash table, the subarray between the two indices has a sum divisible by 7.
Time complexity is O(n) and space complexity is O
Given a 2D array of integers, set rows and columns to 1 if they contain 1.
Iterate through the array to find the index of 1
Use two arrays to keep track of rows and columns with 1
Iterate through the rows and columns arrays to set values to 1
Code to find sum of two numbers stored as linked list.
Traverse both lists simultaneously and add corresponding nodes
Keep track of carry and add it to next sum
Create a new node for each sum and move to next node
Code to print elements on path from root to leaf node with max sum
Traverse the tree and keep track of the maximum sum path
Use recursion to traverse the tree
Print the path when a leaf node with maximum sum is reached
Retrieving min element from a max heap has a time complexity of O(log n).
The min element is always the leftmost leaf node in the last level of the heap.
To retrieve it, swap it with the last element in the heap and remove it.
Then, bubble down the new root to maintain the max heap property.
Examples: retrieving the smallest number in a priority queue implemented as a max heap.
Examples: retrieving the smallest element in a
The fastest method to sort an almost sorted array is shell sort.
Shell sort has a time complexity of O(n log n) which is faster than bubble sort and insertion sort.
Quick sort and merge sort have a time complexity of O(n log n) but they are not optimized for almost sorted arrays.
Shell sort works by comparing elements that are far apart first and then gradually reducing the gap between them.
Example: If the array is [1, 3,...
A zombie process is a process that has completed execution but still has an entry in the process table.
Zombie processes occur when a parent process does not properly wait for its child process to terminate.
The zombie process remains in the process table until the parent process reads its exit status.
Zombie processes do not consume system resources but can accumulate if not properly handled.
They can be identified using ...
Hash tables have complexities related to collisions, resizing, and choosing a good hash function.
Collisions occur when two keys map to the same index, requiring a collision resolution strategy.
Resizing can be expensive as all elements need to be rehashed and moved to new locations.
Choosing a good hash function is important to minimize collisions and ensure even distribution of keys.
Examples of collision resolution stra...
Algorithm to find any three numbers in an array that sum to zero.
Sort the array in ascending order.
Loop through the array and fix the first number.
Use two pointers to find the other two numbers that sum to the negative of the fixed number.
If found, return the three numbers.
If not found, move to the next number and repeat the process.
Time complexity: O(n^2)
Returning kth smallest element in a BST with time complexity logn.
Perform in-order traversal and keep track of count until kth element is reached
If kth element is found, return it
If kth element is not found, continue traversal
If traversal is complete and kth element is not found, return null
Time complexity is logn as we only traverse the height of the tree
Check if a Binary Tree is a Binary Search Tree
Inorder traversal of BST should be in ascending order
Check if left child is less than parent and right child is greater than parent
Recursively check left and right subtrees
Use min and max values to check if nodes are within valid range
Sort a large file of numbers with limited memory
Use external sorting algorithms like merge sort or quick sort
Divide the file into smaller chunks that can fit into memory
Sort each chunk and merge them together using a priority queue
Consider using disk-based sorting techniques like replacement selection
Optimize I/O operations to minimize disk access
Implement a phone book with search by name or phone number and prefix.
Create an array of strings to store contacts
Implement a function to add contacts to the array
Implement a function to search by name or phone number
Implement a function to search by prefix
Use regular expressions to match prefixes
Find Pythagorean triplets in an array of integers.
Loop through the array and pick two numbers at a time.
Calculate the sum of squares of the two numbers.
Check if the sum is a perfect square.
If yes, then it is a Pythagorean triplet.
Repeat until all possible combinations are checked.
Compute the nearest palindrome number greater than given number.
Convert the given number to string and reverse it.
Add the reversed string to the original number and check if it's a palindrome.
If not, repeat the process until a palindrome is found.
If the original number is already a palindrome, add 1 to it and repeat the process.
Find minimum window in a string which contains all characters from another string.
Use a sliding window approach
Create a frequency map of characters in pat
Iterate through str and update frequency map
Keep track of minimum window that contains all characters
Return minimum window
Arrange balls in 4 jars to maximize probability of user losing money when drawing a red ball.
Place all red balls in one jar and the rest in the other jars
Ensure that the jar with red balls has the highest probability of being chosen
Randomize the placement of the jars to add an element of chance
Code to check if a tree is BST or not
Check if left subtree is BST
Check if right subtree is BST
Check if max value in left subtree is less than root
Check if min value in right subtree is greater than root
Modify code to find maximum BST subtree and maximum BST tree in a given tree.
Create a function to check if a given tree is a BST
Traverse the tree and check if each subtree is a BST
Keep track of the maximum BST subtree found so far
To find maximum BST tree, check if each node can be the root of a BST
Keep track of the maximum BST tree found so far
Algorithm to determine valid variables on a given line of code.
Create a stack to keep track of variable declarations
Traverse the code line by line
When encountering a variable declaration, push it onto the stack
When encountering a closing brace, pop all variables declared within that scope
Return all variables still on the stack when reaching the given line number
Implement LRU cache with put, get, and remove operations.
LRU stands for Least Recently Used.
The cache should have a maximum capacity.
When the cache is full, the least recently used item should be removed.
When an item is accessed, it should be moved to the front of the cache.
Use a doubly linked list and a hash map to implement the cache efficiently.
next_permutation function generates the next greater lexicographic permutation of a sequence
The function modifies the sequence to its next permutation if possible
If the sequence is already the largest permutation, it rearranges it to the smallest permutation
The function returns true if a next permutation exists, else false
The sequence must be sorted in non-descending order before calling the function
Given n sequences with start, stop and score, find maximum subset of non-overlapping sequences with maximum total score.
Sort the sequences by their end points.
Use dynamic programming to find the maximum sum of non-overlapping sequences.
Keep track of the previous non-overlapping sequence with maximum sum.
Return the maximum sum and the corresponding non-overlapping sequences.
based on 1 interview
Interview experience
based on 3 reviews
Rating in categories
Senior Engineer
71
salaries
| ₹0 L/yr - ₹0 L/yr |
Senior Software Engineer
56
salaries
| ₹0 L/yr - ₹0 L/yr |
Assistant Manager
55
salaries
| ₹0 L/yr - ₹0 L/yr |
Software Engineer
52
salaries
| ₹0 L/yr - ₹0 L/yr |
Senior Member of Technical Staff
46
salaries
| ₹0 L/yr - ₹0 L/yr |
Flipkart
Delhivery
Zomato
Swiggy