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.
This was a proctured online coding round where we had 2 questions to solve under 90 minutes . The questions were of easy to medium level I would say with some lenghty implementations .


All the new numbers being added to the array must follow the original property of the array.
I followed a greedy approach for this question .
Steps :
1) Find the total sum of the array , let's call it TotalSum.
2) Find the difference b/w SUM and TotalSum , Diff=abs(SUM-TotalSum)
3) Divide the Diff by MAXVAL , let quotient =q and remainder=r
4) If r==0 , ans =q else our ans=q+1



1. The array may contain duplicate elements.
2. The array can also contain negative integers.
3. Every element of the subsequence must be greater than or equal to the previous element.
This was a preety good DP-problem . I struggled a bit initially on finding the DP transition but on carefully observing the constraints of the problem , I figured that a O(N^2*K) DP solution will also pass the Test Cases .
Steps :
1) Initiliase a DP array dp[n][k+1] . Store -INF in all cells initally.
2) Let dp[i][j] store the answer for an array of length i and a subsequence of length j
3) Now, for every i , dp[i][1]=arr[i]
4) For each i , find dp[i][j] for every j from 2 to k
4) For every i>=1 , traverse from i-1 to 0 and check if arr[i] > arr[t] where t = [0,i-1] , if we have arr[i]>arr[t] then
dp[i][j] = max(dp[i][j] , arr[i]+dp[t][j-1])
5) Final answer = max(dp[i][k]) where i=[0,n-1]
Standard Data Structures and Algorithms round . One has to be fairly comfortable in solving algorithmic problems to
pass this round with ease.




Using BFS :
1) Initialise a queue which will store the nodes in level order traversal
2) Perform a level order traversal and first push the left child and then right child in the queue .
3) Before pushing , check if we encounter a NULL node or not.
4) If we encounter a NULL node before any NOT NULL node then we can say that it not a complete Binary Tree .
5) Finally if we come out of the loop , finally return 1 as it is a complete Binary Tree.
Using DFS:
1) Call a dfs function which will count the total number of nodes and maxIndex encounterd so far
2) Call the dfs function with root->left and index as 2*index
3) Call the dfs function with root->right and index as 2*index+1
4) If maxIndex>total number of nodes , return 0 as it is not a Complete a Binary Tree else return 1



Let a[i] be the number of binary strings of length i which do not contain any two consecutive 1’s and which end in 0. Similarly, let b[i] be the number of such strings which end in 1. We can append either 0 or 1 to a string ending in 0, but we can only append 0 to a string ending in 1. This yields the recurrence relation:
a[i] = a[i - 1] + b[i - 1] b[i] = a[i - 1]
The base cases of above recurrence are a[1] = b[1] = 1. The total number of strings of length i is just a[i] + b[i].
This round majorly focused on my projects and some standard questions revolving around Operating Systems and DBMS.
Print 1 to 100 using more than two threads(optimized approach).
Prerequisite to solve this problem : Multithreading
The idea is to create two threads and print even numbers with one thread and odd numbers with another thread.
Below are the steps:
1) Create two threads T1 and T2 , where T1 and T2 are used to print odd and even numbers respectively.
2) Maintain a global counter variable and start both threads.
3) If the counter is even in the Thread T1, then wait for the thread T2 to print that even number. Otherwise, print that
odd number, increment the counter and notify to the Thread T2 .
4)If the counter is odd in the Thread T2, then wait for the thread T1 to print that even number. Otherwise, print that
even number, increment the counter and notify the Thread T1.
Advantages of using Views.
The advantages of using a view in the table are :
1) It is a subset of the data in table.
2) It store complex queries.
3) It can simplify multiple tables into one.
4) It occupies very little space.
5) It presents the data from different perspectives.
This is a cultural fitment testing round .HR was very frank and asked standard questions. Then we discussed about my role.
Do you know anything about the company ?
General Tip : Before an interview for any company , have a breif insight about the company , what it does , when was it founded and so on . All these info can be easily acquired from the Company Website itself .
Why should we hire you ?
Tip 1 : The cross questioning can go intense some time, think before you speak.
Tip 2 : Be open minded and answer whatever you are thinking, in these rounds I feel it is important to have opinion.
Tip 3 : Context of questions can be switched, pay attention to the details. It is okay to ask questions in these round, like what are the projects currently the company is investing, which team you are mentoring. How all is the work environment etc.
Tip 4 : Since everybody in the interview panel is from tech background, here too you can expect some technical questions. No coding in most of the cases but some discussions over the design can surely happen.

Here's your problem of the day
Solving this problem will increase your chance to get selected in this company
How do you remove whitespace from the start of a string?