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.
40 Questions full of programming, first 10 questions have half mark, next 30 Questions have 1 mark, no Compilation Errors.
Technical Interview round with DSA based questions



0 x y
1 x y
2 x y
This is a basic mathematics question.
Run a loop from X to Y. Print all those numbers where i%2!=0 where i varies from X to Y.
Time Complexity : O(N) where N is the total count of numbers from X to Y
Auxiliary Space : O(1)


If ‘x’ is even then ‘x’ will become ‘x / 2’.
If ‘x’ is odd then ‘x’ will become ‘x * 3 + 1’.
Let’s say you have an array/list [1, 3, 4, 5] and ‘K’=2. The factor values are [0, 7, 2, 5] respectively. Finally, our array will look like [1, 4, 5, 3]. Since ‘K’ is 2 return 4.
Steps:
1. For each element, count its distinct number of factors.
2. Next, use a structure for each element to store its original index and count of factors. Create an array of such structures to store this information for all the elements.
3. Sort this array of structures using any sorting algorithm.
4. Traverse this array of structures from the beginning and get the number from the original array with the help of the index stored in the structure of each element of the sorted array of structures.
Time complexity : O(n √n)



For numbers up-to 4 digits, the idea is to create arrays that store individual parts of output strings. One array is used for single digits, one for numbers from 10 to 19, one for 20, 30, 40, 50,.. etc, and one for powers of 10.
Next, keep dividing the number into different parts and append the corresponding word in the output string.



The first number is 1.
This is read as “One 1”.
Hence, the second number will be 11.
The second number is read as “Two 1s”.
Hence, the third number will be 21.
The third number is read as “One 2, One 1”.
Hence, the fourth number will be 1211. And so on.
The fourth term is read as “One 1, One 2, Two 1s”.
Hence, the fifth term will be 111221. And so on.
If observed carefully, the next term is generated from the previous term in this sequence. So, a direct approach would be to generate all terms from 1 to n. The first two terms will be initialised to 1 and 11 respectively. All the other terms will be generated using the previous terms.
To generate the next term, loop over the previous term and keep count of all consecutive characters. As soon as two adjacent characters are not same, append the count followed by the character to generate the next term. Repeat the process until the entire previous term is not scanned.
Technical Interview round with questions based on DSA mainly.



The brute force solution is to consider every petrol pumps as a starting point and check if there is a possible tour. If a starting point is found with a feasible solution, return that point as the answer.
Time Complexity : O(N^2)
To optimise the above solution, A queue can be used to store the current tour. First , enqueue the first petrol pump to the queue, and enqueueing petrol pumps till either the tour is completed , or the current amount of petrol becomes negative. If the amount < 0, then keep dequeuing petrol pumps until the queue becomes empty.
Instead of using a queue, the given array can also be used by maintaining two index variables start and end that represent the rear and front of the queue.
Time Complexity : O(N)
Auxiliary Space : O(1)



A -> 1
B -> 2
C -> 3
...
Z -> 26
AA -> 27
AB -> 28
...
For every additional digit of the string, multiply the value of the digit by 26^n where n is the number of digits it is away from the one's place.
This is similar to how the number 254 could be broken down as this: (2 x 10 x 10) + (5 x 10) + (4). For this question, 26 will be used as a base instead of 10.
For s = "BCM" the final solution would be (2 x 26 x 26) + (3 x 26) + (13)
This process can be carried out iteratively. Start at looking at the first character of the string. Add the integer equivalent of that character to the running sum and continue. For every new character, multiply the running sum by 26 before adding the new digit to signify we are changing places.


For given dimension N = 5 and M = 5 :
[ [X, X, X, X, X],
[X, 0, 0, 0, X],
[X, 0, X, 0, X],
[X, 0, 0, 0, X],
[X, X, X, X, X] ]
One approach would be to create rectangular frames one by one such that the outermost frame consists of ‘X’s and then that of ‘0’s and again ‘X’s and so on.
To implement this , we need to create alternate frames of ‘X’s and ‘0’s and thereby create the whole matrix of size ‘N’ x ‘M’.
Steps :
1. Create a 2D matrix which will be our constructed matrix.
2. Now fill the characters of the matrix in spiral form, where every iteration fills the matrix with either ‘X’ or ‘0’ values.
3. Starting from the value ‘X’, fill ‘X’ in the first row, last column, last row, and the first column of the remaining matrix rows and columns which is nothing but the outermost rectangular frame of the remaining frames.
4. For the next frame flip the value ‘X’ to ‘0’, and do the same for this frame, fill ‘0’ in the first row, last column, last row, and the first column of the remaining matrix rows and columns which is nothing but the outermost rectangular frame of the remaining frames.
5. Follow steps 3 and 4 alternatively until you are out of frames.
This was a technical interview round to test real time programming and analysis.
Note: Showing output does matter , you need to show the output as soon as possible. And also, you need to solve the constraints very fast, since you know what you have done in your program. After finishing the program always explain the logic behind it and the constraints about the processing and how you solved those constraints to the technical people.
Form a structure which has few elements:
struct product {
char productname[20];
int product_price;
int product_id;
}
Get the product name, price and id and display the product name and price in descending of the price.
Tip 1 : Make a list of structures to store the different products. And then sort the array on the basis of the product_price member and display the products.
For the same above structure, now add another structure which is the category. That category will have products in it.
Struct category
{
char category_name[20];
int cat_id;
}
According to the category, get the product name, product price and id, then display all the products category wise in descending order.
Tip 1: Make a category structure and add it as a member in the product structure.
Tip 2: For every category, display all the products in that category sorted in descending order.
A sheet full of data will be given with inventory stock list, which is different categories and different products as input with category capacity and product availability in the structure. Now we need to add a new category or new product with capacity and availability. Need to check whether the product availability is exceeding the category capacity, if yes the output rack is full or else tell how much free space is available and add the product to list.
Tip 1: For each category, calculate the product availability of all products in that category.
Tip 2: If total product availability > category capacity, output rack is full.
Tip 3: Otherwise, output the amount of free space (difference of two ) and if free space >= product availability of new product, add it to the list,
General HR round with typical behavioral problems.
1. Why Zoho?
2. What are your strengths and weaknesses ?
3. Why do you think you are fit for this role ?
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
What is recursion?