Tip 1 : Prepare DSA well , as problem solving is the most required skill nowadays to get into a product based organization.
Tip 2 : Prepare for DBMS , as there will definitely be DBMS questions being thrown at you.
Tip 3 : Study a bit about the company , as they have a certain level of monopoly in the ERP market & have a vast product line-up.
Tip 1 : First & foremost , make your resume crisp & clear , highlight the tech stack used in projects. Make sure to outline the achievements , so that you can create an edge in the mindset of the interviewer.
Tip 2 : Add links for different coding platforms , so that if the interviewer decides to look into your profile , you can get it ready immediately. Also , don't forget to add GitHub code repository links & live production links for your projects. Seeing the project live would definitely impress the interviewer.
The test was in the morning & since it was a campus recruitment process , the link was shared by the TPO of college.
The test was to be taken from home & it had easy MCQs based upon CS fundamentals & some also on DSA.



Input: 'arr' = [1, 2, 7, -4, 3, 2, -10, 9, 1]
Output: 11
Explanation: The subarray yielding the maximum sum is [1, 2, 7, -4, 3, 2].
Firstly , I directly used two nested loops to calculate the sum of each subarray that can be made & kept a variable to store the maximum sum found , initialized it with 0. If the current sum found was larger than previously stored sum , then update , else keep on calculating for the next element.
However , this gave TLE on some cases as it costed time complexity to be O(n2) .
Then , I used the traditional & very famous Kadane's Algorithm & thus solved the problem.
This round was mainly based on DSA , OOPS & some other CS fundamentals ( which were eventually not asked to me ) .
This was around 12 PM or something , it was also remote ( from home ) & the interviewer was seemingly nice & pretty straightforward.



A binary search tree is a binary tree data structure, with the following properties :
a. The left subtree of any node contains nodes with a value less than the node’s value.
b. The right subtree of any node contains nodes with a value equal to or greater than the node’s value.
c. Right, and left subtrees are also binary search trees.
It is guaranteed that,
d. All nodes in the given tree are distinct positive integers.
e. The given BST does not contain any node with a given integer value.


The problem is pretty straightforward & famous and mostly people have read about it somewhere.
We need to find a position , such that all the nodes in the left subtree must be less than this new node & all the nodes in the right subtree must be greater than this new node.
So what we can do is find the right position for the new node. Start traversing the tree from root , if the current node's value is less than the new node's value , then the new node will definitely be present in the right subtree of current node , thus current node = current node -> right. Else if the current node's value is greater than the new node's value , make the transition as current node = current node->left.
Keep on doing this traversal till we find a dead end i.e. if we want to move left & current node's left is NULL , then that is the place we want to stop , and insert the new node as current node -> left=new node & break.
Similarly , if we want to move right & current node -> right is NULL , then that is the position we want to insert our new node at , make current node -> right = new node & break.



This problem can be solved using Depth-First-Search ( DFS ). Initialize a variable numberOfIslands with 0 , start traversing the grid , as soon as you encounter a 1 , call DFS for that coordinate & increase the island count by 1 i.e. increment the numberOfIslands variable. As this DFS call would visit all the connected 1s & count them as one island. In the DFS() function , first of all , mark this particular coordinate as visited either by using a visited array but that would consume O(n) extra space where n is number of elements is the grid , I asked the interviewer if we can amend the values of the grid , to which he agreed & thus whichever coordinate ( i , j ) I visited , I made grid[i][j]=2 as this would mark an already visited cell. Then I called DFS for the surrounding 4 directions ( Up , down , top , bottom ) recursively to mark all the connected 1s as 2s as they all are contributing to one single island.
The base condition for recursion would be that either if the i, j cell is already visited or i or j is out of bounds , in that case , return back to the calling function.
Similarly , I did for the entire grid & in the end returned the numberOfIslands variable.
Some basic SQL queries using LIKE operator and GROUP BY
Also , some theoretical questions based on Joins.
Tip 1: Go through the SQL queries well.
Tip 2: Understand the concept of Joins & Data Normalization.
This round was scheduled right after the DSA round ( if cleared ) & was shorter if compared to the previous rounds.
The questions asked were pretty common , like Introduce yourself , What's your favorite pass-time , What's your approach towards learning & support the same with an example , How much are you comfortable with the office location & compensation , Have you received any other offers ?
Tip 1 : Read some HR interview experiences on GFG
Tip 2 : Go through some YouTube videos for reference
Tip 3 : Make sure to be clear & confident while answering. Your body language should show that you're confident about your response.

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?