Filter interviews by
I applied via Referral and was interviewed in Jan 2021. There were 4 interview rounds.
Top trending discussions
A generic swap function swaps two values of any data type.
The function should take two parameters of any data type.
Use a temporary variable to store the value of one parameter.
Assign the value of the second parameter to the first parameter.
Assign the value of the temporary variable to the second parameter.
Search for an element in a rotated sorted linked list.
Find the pivot point where the list is rotated.
Divide the list into two sublists based on the pivot point.
Perform binary search on the appropriate sublist.
Handle edge cases such as empty list and list with only one element.
Search an element in a rotated sorted array
Find the pivot point where the array is rotated
Divide the array into two sub-arrays based on pivot point
Perform binary search on the appropriate sub-array
Repeat until element is found or sub-array size is 1
Find 5 missing numbers in an array of size 95 containing numbers in range 1 to 100.
Create a boolean array of size 100 and mark the present numbers
Iterate through the boolean array and find the missing numbers
Alternatively, use a HashSet to store the present numbers and find the missing ones
Given a Sudoku board, find possible numbers for an empty cell.
Iterate through empty cells and check possible numbers using row, column, and box constraints.
Use a set to keep track of possible numbers for each empty cell.
Return the set of possible numbers for the given empty cell.
Find integer average of 4 unsigned integers without typecasting
Add all the integers and divide by 4
Use bit shifting to divide by 4
Handle overflow by using long long data type
Use unsigned int data type for input
Code to identify 32 bit or 64 bit architecture of a processor
Check if the operating system is 32 bit or 64 bit
If OS is 32 bit, processor is 32 bit
If OS is 64 bit, check if processor supports 64 bit architecture
Use CPUID instruction to check if processor supports 64 bit architecture
Convert binary number to base 64 integer
Divide the binary number into groups of 6 bits
Convert each group of 6 bits to decimal
Map the decimal value to the corresponding base 64 character
Concatenate the base 64 characters to form the final integer
I was interviewed before Jan 2021.
Round duration - 60 Minutes
Round difficulty - Medium
The interviewer asked me 2 questions related to DS/Algo in this round . Both the questions were of Easy-Medium difficulty and I was also required to code them in a production ready manner.
You are provided with a binary tree consisting of N
nodes where each node has an integer value. The task is to determine the maximum sum achievable by a...
Find the maximum sum achievable by a simple path between any two nodes in a binary tree.
Traverse the binary tree to find all possible paths and calculate their sums.
Keep track of the maximum sum encountered during traversal.
Consider paths that may include the same node twice.
Implement a recursive function to explore all possible paths.
Handle cases where nodes have negative values.
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.
Round duration - 50 Minutes
Round difficulty - Medium
This round had 2 questions of DS/Algo to solve under 50 minutes and one question related to Operating Systems.
You are provided with an array or list ARR
containing N
positive integers. Your task is to determine the Next Greater Element (NGE) for each element in the array.
T...
Find the Next Greater Element for each element in an array.
Iterate through the array from right to left
Use a stack to keep track of elements with no greater element to the right
Pop elements from the stack until finding a greater element or stack is empty
Given three integers X
, C
, and Y
, where X
is the first term of an arithmetic sequence with a common difference of C
, determine if Y
is part of this arithmetic sequ...
Check if a given number is part of an arithmetic sequence with a given first term and common difference.
Calculate the arithmetic sequence using the formula: nth term = X + (n-1) * C
Check if Y is equal to any term in the sequence to determine if it belongs to the sequence
Return 'True' if Y belongs to the sequence, otherwise return 'False'
Processes are instances of programs in execution, while threads are smaller units within a process that can execute independently.
A process is a program in execution, consisting of code, data, and resources.
Threads are smaller units within a process that can execute independently.
Processes have their own memory space, while threads share the same memory space within a process.
Processes are heavyweight, while threads ar...
Round duration - 50 Minutes
Round difficulty - Medium
This round had 2 questions of DSA of Easy-Medium difficulty and at the end I was asked a Puzzle to check my general problem solving ability.
Given an array/list arr
of size n
, determine the maximum product possible by taking any subset of the array/list arr
. Return the result modulo 10^9+7
since the product ...
Find the maximum product of a subset of an array modulo 10^9+7.
Iterate through the array and keep track of the maximum positive product and minimum negative product encountered so far.
Handle cases where the array contains zeros separately.
Return the maximum product modulo 10^9+7.
Given a complete binary tree with 'N' nodes, your task is to determine the 'next' node immediately to the right in level order for each node in the given tree.
...Implement a function to update 'next' pointers in a complete binary tree.
Iterate level by level using a queue
Connect nodes at each level using 'next' pointers
Handle null nodes appropriately
Ensure the tree is a complete binary tree
Round duration - 50 Minutes
Round difficulty - Medium
This round consisted of 2 questions from DSA where I was first asked to explain my approach to the interviewer with proper complexity analysis and then code the problems. The interviewer was quite friendly and also provided me some hints when I was stuck.
Create a stack data structure that supports not only the usual push and pop operations but also getMin(), which retrieves the minimum element, all in O(1) time complexity witho...
Implement a stack with push, pop, top, isEmpty, and getMin operations in O(1) time complexity without using extra space.
Use two stacks - one to store the actual elements and another to store the minimum element at each level.
When pushing an element, check if it is smaller than the current minimum and update the minimum stack accordingly.
When popping an element, also pop from the minimum stack if the popped element is t...
You are given an integer array arr
of size N
. Your task is to split the array into the maximum number of subarrays such that the first and last occurre...
Given an array, split it into maximum subarrays with first and last occurrence of each element in a single subarray.
Iterate through the array and keep track of the first and last occurrence of each element.
Use a hashmap to store the indices of each element.
Split the array whenever the last occurrence of an element is found.
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.
To determine if a point is inside a polygon, use the ray casting algorithm.
Create a line from the point to a point outside the polygon
Count the number of times the line intersects with the polygon edges
If the count is odd, the point is inside the polygon; otherwise, it is outside
The four storage classes in C are auto, register, static, and extern.
Auto: default storage class for all local variables
Register: used to define local variables that should be stored in a register instead of RAM
Static: used to define local variables that retain their value between function calls
Extern: used to declare a global variable that is defined in another file
i is stored in global data segment, j is stored in stack, k is stored in heap.
i is a global variable and is stored in the global data segment
j is a local variable and is stored in the stack
k is a pointer variable and is stored in the stack, while the memory it points to is allocated on the heap using malloc()
Use a hash table to store the words and check for existence in constant time.
Create a hash table with the words as keys and a boolean value as the value.
For each new word, check if it exists in the hash table. If it does, it has appeared before. If not, add it to the hash table.
Alternatively, use a set data structure to store only the unique words and check for existence in the set.
Operating on images in parallel involves dividing the image into smaller parts and processing them simultaneously.
Divide the image into smaller parts using techniques like tiling or splitting
Use parallel processing techniques like multi-threading or GPU acceleration
Combine the processed parts to form the final image
Examples: image segmentation, object detection, image enhancement
Hardware engines support parallelism through multiple cores and threads.
Hardware engines can have multiple cores and threads to execute tasks simultaneously.
Parallelism can improve performance and efficiency in hardware-based tasks.
Examples include GPUs, FPGAs, and ASICs that have parallel processing capabilities.
Hardware parallelism can also be achieved through distributed computing and clustering.
Programming language...
Modern OSes support parallelism through multi-core processors and threading.
Modern OSes like Windows, macOS, and Linux support parallelism through multi-core processors and threading.
Parallelism can be achieved through processes or threads.
Parallelism can improve performance and efficiency of software.
Examples of parallel programming frameworks include OpenMP and MPI.
Memory protection is a feature of an operating system that prevents unauthorized access to memory locations.
Memory protection is achieved through the use of memory management units (MMUs) and virtual memory.
MMUs map virtual addresses to physical addresses and enforce access permissions.
Virtual memory allows the OS to allocate memory to processes in a way that isolates them from each other.
Examples of memory protection ...
To speed up multiplication of small integers in an array, we can use bitwise operations and parallel processing.
Use bitwise operations like shifting and ANDing to perform multiplication faster.
Divide the array into smaller chunks and perform multiplication in parallel using multi-threading or SIMD instructions.
Use lookup tables for frequently used values to avoid repeated calculations.
Use compiler optimizations like lo...
Design a data structure for excel spreadsheet
Use a 2D array to store cell values
Implement formulas using a stack
Include formatting options for cells
Insertion sort and quicksort are sorting algorithms used to sort arrays of data.
Insertion sort: iterates through the array and inserts each element into its proper position.
Quicksort: selects a pivot element and partitions the array into two sub-arrays, one with elements less than the pivot and one with elements greater than the pivot.
Insertion sort is best for small arrays, while quicksort is best for large arrays.
Bot...
Merge two sorted linked lists using recursion
Create a recursive function that compares the first nodes of both lists
Set the smaller node as the head of the merged list and call the function again with the next node of the smaller list
Base case: if one list is empty, return the other list
Return the merged list
Given an integer, determine which byte is zero.
Convert the integer to a byte array using bitwise operations.
Iterate through the byte array and check for a zero value.
Return the index of the zero byte.
Consider endianness when converting to byte array.
To check endianness, create a 4-byte integer with a known value and check the byte order.
Create a 4-byte integer with a known value
Check the value of the first byte to determine endianness
If the first byte is the least significant, the machine is little endian
If the first byte is the most significant, the machine is big endian
Static objects can be used to print something before main() execution.
Static objects are initialized before main() execution
They can be used to print something before main()
Example: static int x = printf("Hello World!");
Output: Hello World! will be printed before main() execution
Static variables are allocated memory in the data segment of the program's memory space.
Static variables have a fixed memory location throughout the program's execution.
They are initialized to zero by default.
If initialized explicitly, they are stored in the data segment.
Static variables can be accessed by any function in the program.
Finding space and time complexity of a recursive function.
Space complexity is the amount of memory used by the function.
Time complexity is the amount of time taken by the function to execute.
Recursive functions have higher space complexity due to the call stack.
Time complexity can be calculated using Big O notation.
Examples of recursive functions include factorial and Fibonacci sequence.
Diamond hierarchy problem is a problem in object-oriented programming where a class inherits from multiple classes in a diamond-shaped hierarchy.
Occurs when a class inherits from two classes that share a common base class
Can lead to ambiguity in method calls and data members
Solved using virtual inheritance or by using interfaces
posted on 11 Mar 2022
I was interviewed before Mar 2021.
Round duration - 60 minutes
Round difficulty - Medium
This was a test round where 10 aptitude based questions were to be solved in 60 minutes
Round duration - 60 minutes
Round difficulty - Medium
They took us to the lab for this on and we were each given a paper with a program on it. It was all mixed as in each person got a different paper, You have around an hour to finish coding. after which you have to explain your code. They also gave wrong or incorrect inputs and see how your code handles these exceptions.
You are given a string STR
which contains alphabets, numbers, and special characters. Your task is to reverse the string.
STR = "abcde"
"e...
Reverse a given string containing alphabets, numbers, and special characters.
Iterate through the string from the end to the beginning and append each character to a new string.
Use built-in functions like reverse() or StringBuilder in languages like Python or Java for efficient reversal.
Handle special characters and numbers along with alphabets while reversing the string.
Ensure to consider the constraints provided in th...
Given an unsorted array containing 'N' integers, you are required to find 'K' largest elements from the array and return them in non-decreasing order.
The fir...
Implement a function to find K largest elements in an unsorted array in non-decreasing order.
Create a min heap of size K and insert the first K elements of the array
For each remaining element, if it is larger than the root of the heap, replace the root with the element and heapify
Finally, the heap will contain the K largest elements in non-decreasing order
Given a string str
and a character 'X', develop a function to eliminate all instances of 'X' from str
and return the resulting string.
The first lin...
Develop a function to remove all instances of a given character from a string.
Iterate through the string and build a new string excluding the specified character.
Use a StringBuilder or similar data structure for efficient string manipulation.
Handle edge cases like empty string or character not found in the input string.
Ensure the function completes within the given time constraint.
Ninja is tasked with printing a triangle pattern based on a given number 'N' for any test case.
N = 4
1
232
34545
4567654
The pat...
Print a triangle pattern of numbers based on a given number 'N'.
Iterate through each row and column to determine the numbers to print
Use a combination of spaces and numbers to align the pattern correctly
Increment the numbers in each row based on the row number
Round duration - 60 minutes
Round difficulty - Easy
Compared to the other round this is more tech oriented. Lot more tech questions. It is of normal difficulty and is not that hard to clear, you only need to know the basics.
Very basic of Data Structure and Oracle knowledge enough. Lots of simple questions from data structures(insert into heaps etc). They did not ask to write code for DS, but rather to explain the logic through diagrams. For some complicated question, they expect how much you brainstorm ideas in solving
Convert a given binary tree into its mirror tree, where the left and right children of all non-leaf nodes are interchanged.
An integer ‘T’ denoting the number o...
Convert a binary tree into its mirror tree by interchanging left and right children of non-leaf nodes.
Traverse the tree in postorder fashion and swap the left and right children of each node.
Use recursion to solve the problem efficiently.
Modify the binary tree in place without creating a new tree.
Given an array ARR
consisting of N
integers, your task is to use the Heap sort algorithm to arrange the array in non-decreasing order.
The first line of the input cont...
Implement the Heap sort algorithm to arrange an array in non-decreasing order.
Implement the Heap sort algorithm to sort the given array in non-decreasing order
Use a max heap to sort the array in non-decreasing order
Time complexity of Heap sort is O(n log n)
Indexing in databases is a technique used to improve the speed of data retrieval by creating a data structure that allows for quick lookups.
Indexes are created on specific columns in a database table to speed up queries that search for data in those columns.
Indexes work similar to the index of a book, allowing the database to quickly locate the desired data without having to scan the entire table.
Examples of indexes in...
Hash Table is better for fast lookups and insertions, while B Tree is better for range queries and ordered traversal.
Use Hash Table for fast lookups and insertions with O(1) average time complexity.
Use B Tree for range queries and ordered traversal with O(log n) time complexity.
Consider the size of the dataset and the specific operations needed to determine the best data structure.
Round duration - 30 minutes
Round difficulty - Easy
This round lasted for around 30 minutes. It more of a character analysis round with a lot of HR type questions.
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.
Return all root to leaf node paths in a binary tree with row, col and value.
Traverse the binary tree recursively and keep track of the current path.
When a leaf node is reached, add the path to the result array.
Include row, col and value of each node in the path.
Use an array of strings to store the paths.
To get max value from a stack in O(1), maintain a separate stack to keep track of maximum values.
Create a separate stack to keep track of maximum values
Push the maximum value onto the stack whenever a new maximum is encountered
Pop the maximum value stack whenever the top element of the main stack is popped
Return the top element of the maximum value stack to get the maximum value in O(1)
To get max element from a queue in O(1) time complexity
Maintain a separate variable to keep track of the maximum element in the queue
Update the maximum element variable whenever a new element is added or removed from the queue
Return the maximum element variable when getMax() function is called
Find the Next Greatest Element to the right for each element in an array of strings.
Iterate through the array from right to left
Use a stack to keep track of elements
Pop elements from stack until a greater element is found
If no greater element is found, assign -1
Return the result array
To remove unnecessary parenthesis from an expression, we need to apply a set of rules to identify and eliminate them.
Identify and remove parenthesis around single variables or constants
Identify and remove parenthesis around expressions with only one operator
Identify and remove parenthesis around expressions with operators of equal precedence
Identify and remove parenthesis around expressions with operators of different ...
Find the maximum product of three integers in an array.
Sort the array in descending order.
Check the product of the first three numbers and the product of the first and last two numbers.
Return the maximum of the two products.
Find length of longest consecutive sub array forming an AP from given array of integers.
Sort the array in ascending order
Iterate through the array and find the longest consecutive sub array forming an AP
Use a variable to keep track of the length of the current consecutive sub array forming an AP
Use another variable to keep track of the length of the longest consecutive sub array forming an AP seen so far
based on 1 review
Rating in categories
Analyst
80
salaries
| ₹0 L/yr - ₹0 L/yr |
Software Engineer
70
salaries
| ₹0 L/yr - ₹0 L/yr |
Claims Adjudicator
69
salaries
| ₹0 L/yr - ₹0 L/yr |
Senior Analyst
64
salaries
| ₹0 L/yr - ₹0 L/yr |
Senior Software Engineer
50
salaries
| ₹0 L/yr - ₹0 L/yr |
Oracle Cerner
McKesson
Veradigm
Athenahealth Technology