Tip 1 : practice previous questions
Tip 2 : attend mock interviews
Tip 3 : make your resume with good projects:
Tip 1 : make it short and attractive
Tip 2 : mention only your top 2 or 3 projects
The Interview was conducted on Zoom. The timing was 4 to 5 PM. The interview was taken by an 3-year experienced engineer. There was no online test and direct interviews were there as hr liked my profile.



'S' = "{}()".
There is always an opening brace before a closing brace i.e. '{' before '}', '(' before ').
So the 'S' is Balanced.
We can easily figure out from the observations that the total possible valid expressions for input N are N/2th Catalan number for when N is even and all odd values of N output will be zero since, for each left parentheses, there must be one right parentheses.
The first few numbers Catalan numbers, Cn (where Cn represents the nth catalan numbers (starting from zero):
1,1,2,5,14,42,132,429,1430,…
nth Catalan number is Cn= (2n)! / ((n+1)! n!)
Another Property for Catalan Numbers is nth Catalan number, C0 =0 and Cn = ∑ni=0CiCn-i.
So our problem reduces to calculating the Catalan number for a given index. As previously computed Catalan numbers can be utilized in the computation of the new ones, we approach this problem as a dynamic programming problem wherein we store all the computed values and use them later as opposed to computing them again.



F(n) = F(n - 1) + F(n - 2),
Where, F(1) = 1, F(2) = 1
"Indexing is start from 1"
Input: 6
Output: 8
Explanation: The number is ‘6’ so we have to find the “6th” Fibonacci number.
So by using the given formula of the Fibonacci series, we get the series:
[ 1, 1, 2, 3, 5, 8, 13, 21]
So the “6th” element is “8” hence we get the output.
Some important concepts related to this approach:
Every number can be written as the sum of powers of 2
We can traverse through all the bits of a number from LSB to MSB in O(log(n)) time.
For example :
3^10 = 3^8 + 3^2 ; (10 in binary can be represented as : 1010 , where from left side the first 1 represents 3^2 and second 1 represents 3^8 )
3^19 = 3^16 + 3^2+3 ; (19 in binary can be represented as : 10011 , where from left side the first 1 represents 3^1 and second 1 represents 3^2 and the
third one represents 3^16 )
What do you understand by query optimization?
What do you understand by aggregation and atomicity?
Tip 1 : Be clear with the explanation
Tip 2 : if any question requires explanation use the resource that is provided for explaining
Tip 3 : Study the most important questions. you can use Codestudio for that
What is Belady’s Anomaly?
Describe the objective of multi-programming?
What is a thread?
What are the necessary conditions which can lead to a deadlock in a system?
Tip 1: Be clear with the explanation
Tip 2: if any question requires explanation use the resource that is provided for explaining
Tip 3: study the most important questions. you can use Codestudio for that
The interview was conducted on zoom. The interview was taken by an Principal Engineer
Internal Working of Hash map in Java



Serialization is the process of translating a data structure or object state into a format that can be stored or transmitted (for example, across a computer network) and reconstructed later. The opposite operation, that is, extracting a data structure from stored information, is deserialization.
The idea is simple: print the tree in pre-order traversal and use "X" to denote the null node and split the node with ",". We can use a StringBuilder for building the string on the fly. For deserializing, we use a Queue to store the pre-order traversal and since we have "X" as a null node, we know exactly how to where to end building subtrees.
It was conducted on zoom. The interviewer was taken by a senior project manager. He was very friendly and helpful. I was asked about my projects,tech stack and work in my past company as an intern.


The width of each bar is the same and is equal to 1.
Input: ‘n’ = 6, ‘arr’ = [3, 0, 0, 2, 0, 4].
Output: 10
Explanation: Refer to the image for better comprehension:

You don't need to print anything. It has already been taken care of. Just implement the given function.
instead of calculating area by height*width, we can think it in a cumulative way. In other words, sum water amount of each bin(width=1).
Search from left to right and maintain a max height of left and right separately, which is like a one-side wall of partial container. Fix the higher one and flow water from the lower part. For example, if current height of left is lower, we fill water in the left bin. Until left meets right, we filled the whole container.



1. Constructor:
It initializes the data members(queues) as required.
2. push(data) :
This function should take one argument of type integer. It pushes the element into the stack and returns nothing.
3. pop() :
It pops the element from the top of the stack and, in turn, returns the element being popped or deleted. In case the stack is empty, it returns -1.
4. top :
It returns the element being kept at the top of the stack. In case the stack is empty, it returns -1.
5. size() :
It returns the size of the stack at any given instance of time.
6. isEmpty() :
It returns a boolean value indicating whether the stack is empty or not.
Query-1(Denoted by an integer 1): Pushes an integer data to the stack. (push function)
Query-2(Denoted by an integer 2): Pops the data kept at the top of the stack and returns it to the caller. (pop function)
Query-3(Denoted by an integer 3): Fetches and returns the data being kept at the top of the stack but doesn't remove it, unlike the pop function. (top function)
Query-4(Denoted by an integer 4): Returns the current size of the stack. (size function)
Query-5(Denoted by an integer 5): Returns a boolean value denoting whether the stack is empty or not. (isEmpty function)
Operations:
1 5
1 10
2
3
4
Enqueue operation 1 5: We insert 5 at the back of the queue.
Queue: [5]
Enqueue operation 1 10: We insert 10 at the back of the queue.
Queue: [5, 10]
Dequeue operation 2: We remove the element from the front of the queue, which is 5, and print it.
Output: 5
Queue: [10]
Peek operation 3: We return the element present at the front of the queue, which is 10, without removing it.
Output: 10
Queue: [10]
IsEmpty operation 4: We check if the queue is empty.
Output: False
Queue: [10]
we will be using only one queue and make the queue act as stack. The idea behind this approach is to make one queue and push the first element in it. After the first element, we push the next element and then push the first element again and finally pop the first element. So, according to the FIFO rule of queue, second element that was inserted will be at the front and then the first element as it was pushed again later and its first copy was popped out. So, this acts as a stack and we do this at every step i.e. from the initial element to the second last element and the last element will be the one which we are inserting and since we will be pushing the initial elements after pushing the last element, our last element becomes the first element.
Asked Basic Hr questions, Compensation and previous offers
Why do you want to join Blue Yonder?
What motivates you the most?
Discussion About the location, any other offers, and compensation
Tip 1 : Be confident
Tip 2 : Read what the Company is working on and its products
Tip 3 : Prepare Standard Hr questions

Here's your problem of the day
Solving this problem will increase your chance to get selected in this company
What is recursion?