Filter interviews by
Clear (1)
Usual Leet code problems
System Design Questions
System Design Questions
Top trending discussions
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
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.
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.
I applied via Campus Placement
I applied via Campus Placement
based on 1 interview
Interview experience
based on 2 reviews
Rating in categories
Graphic Designer
53
salaries
| ₹0 L/yr - ₹0 L/yr |
Senior Graphic Designer
16
salaries
| ₹0 L/yr - ₹0 L/yr |
Machine Learning Engineer
14
salaries
| ₹0 L/yr - ₹0 L/yr |
Image Editor
7
salaries
| ₹0 L/yr - ₹0 L/yr |
Data Analyst
6
salaries
| ₹0 L/yr - ₹0 L/yr |
Myntra
Flipkart
Paytm
Snapdeal