Zoho Interview Questions
Zoho Interview Questions
R A
O R
O R
R A
P M
2. Given a set of numbers like <10, 36, 54,89,12> we want to find sum of weights based on the following
conditions
1. 5 if a perfect square
2. 4 if multiple of 4 and divisible by 6
3. 3 if even number
And sort the numbers based on the weight and print it as follows
<10,its_weight>,<36,its weight><89,its weight>
Should display the numbers based on increasing order.
3. Save the string WELCOMETOZOHOCORPORATION in a two dimensional array and search for
substring like too in the two dimensional string both from left to right and from top to bottom.
w e L C O
M E T O Z
O H O C O
R P O R A
T I O n
<luke, shaw>
<wayne, rooney>
<rooney, ronaldo>
<shaw, rooney>
Where the first string is child, second string is Father. And given ronaldo we have to find his no of
grandchildren Here ronaldo has 2 grandchildren. So our output should be 2.
Third Round: (Advanced Programming Round)
Here they asked us to create a Railway reservation system and gave us 4 modules. The modules were:
1. Booking
2. Availability checking
3. Cancellation
4. Prepare chart
We were asked to create the modules for representing each data first and to continue with the
implementation phase.
Fourth Round: (Technical Round)
Technical question which revolved around data structures and OOPS
Fifth Round: (HR round)
Some general hr questions asked mainly about our projects and about certifications if we had one.
Output : {7, 1, 6, 2, 5, 3, 4}
Output : ((abc)(de))
Input : (((ab)
Output : (ab)
3) Form a number system with only 3 and 4. Find the nth number of the number system.
Eg.) The numbers are: 3, 4, 33, 34, 43, 44, 333, 334, 343, 344, 433, 434, 443, 444, 3333, 3334, 3343,
3344, 3433, 3434, 3443, 3444 .
4) Check whether a given mathematical expression is valid.
Output : Valid
Input : (ab)(ab+)
Output : Invalid
Input : ((a+b)
Output : Invalid
R3 | - - - |
R2 | - - - |
R1 | - - - |
C1 C2 C3
Each of the 9 cells can either be empty or filled with an atom. R3, R2, R1 are the rays that originate from
the left. C1, C2, C3 are the rays that originate from the bottom of the box.
Input : Position of the atoms and the rays that gets originated from the outside of the box.
Eg.) 3
3 1
2 2
1 3
R3 C1 C3
C1 C3
R3 | - - - | R3
H | - X - |
R1 | - - - | R1
C1 H C3
Rule 2 & 3:
A ray that has an atom in its diagonal adjacent position should refract.
H | - - - |
H | X - - |
R | - X - |
R H R
H | - X - |
R2 | - - - | C3
| - - - |
R2 C3
Rule 4:
A ray that has atoms in both of the diagonal adjacent positions should reflect back.
Input ray: C2
| - - - |
| X - X |
| - - - |
Input ray: R2
| - X - |
R | - - - |
| - X - |
Rule 5:
The deflection of rays should happen in the order of the input rays.
H | - X - |
R2 | - - - | C3
| - - - |
R2 C3
The final task was to implement these rules for dynamic matrix size.
2 (No of atoms)
4 4 (Position of atom)
2 2 (Position of atom)
2 (No of rays)
R4 C2 (Ray number)
H | - - - X |
| - - - - |
| - X - - |
| - - - - |
The final task was very confusing and it had to handle all the cases. There are chances for a ray to end at
the starting position if the number of rows and columns are more than 5.
4) Fourth Round : Technical Interview
Basic questions from hashing, searching, sorting, JVM, OS, Threads. In-depth questions from the
projects that I mentioned in my resume. So dont just add projects that you are not thorough enough to
answer all questions.
And a simple puzzle : (x-a)(x-b)(x-c).(x-z) = ?
5) Fifth Round : HR
General HR questions like why zoho, how do you see yourself after 5 years, why did you choose CS/IT
stream, tell me about your leadership skills etc.
Eg 1: Input: a1b10
Output: abbbbbbbbbb
Output: bbbccccccddddddddddddddd
2. Write a program to sort the elements in odd positions in descending order and elements in ascending
order
Output: 13,2,12,10,5,15,4
Eg 2: Input: 1,2,3,4,5,6,7,8,9
Output: 9,2,7,4,5,6,3,8,1
3. Write a program to print the following output for the given input. You can assume the string is of odd
length
Eg 1: Input: 12345
Output:
1 5
2 4
2 4
1 5
Eg 2: Input: geeksforgeeks
Output:
g s
e k
e e
k e
s g
f r
f r
s g
k e
e e
e k
g s
4. Find if a String2 is substring of String1. If it is, return the index of the first occurrence. else return -1.
Eg 1:Input:
String 1: test123string
String 2: 123
Output: 4
Eg 2: Input:
String 1: testing12
String 2: 1234
Output: -1
5. Given two sorted arrays, merge them such that the elements are not repeated
Eg 1: Input:
Array 1: 2,4,5,6,7,9,10,13
Array 2: 2,3,4,5,6,7,8,9,11,15
Output:
19 cleared this round and they were called for the next round. The next round took place on the next day
ROUND 3: COMPLEX CODING(3 hours)
1) Design a Call taxi booking application
-There are n number of taxis. For simplicity, assume 4. But it should work for any number of taxis.
-The are 6 points(A,B,C,D,E,F)
-All the points are in a straight line, and each point is 15kms away from the adjacent points.
-It takes 60 mins to travel from one point to another
-Each taxi charges Rs.100 minimum for the first 5 kilometers and Rs.10 for the subsequent kilometers.
-For simplicity, time can be entered as absolute time. Eg: 9hrs, 15hrs etc.
-All taxis are initially stationed at A.
-When a customer books a Taxi, a free taxi at that point is allocated
-If no free taxi is available at that point, a free taxi at the nearest point is allocated.
-If two taxis are free at the same point, one with lower earning is allocated
-Note that the taxi only charges the customer from the pickup point to the drop point. Not the distance it
travels from an adjacent point to pickup the customer.
-If no taxi is free at that time, booking is rejected
Design modules for
Input 1:
Customer ID: 1
Pickup Point: A
Drop Point: B
Pickup Time: 9
Output 1:
Taxi-1 is allotted
Input 2:
Customer ID: 2
Pickup Point: B
Drop Point: D
Pickup Time: 9
Output 1:
Taxi-2 is allotted
(Note: Since Taxi-1 would have completed its journey when second booking is done, so Taxi-2 from
nearest point A which is free is allocated)
Input 3:
Customer ID: 3
Pickup Point: B
Drop Point: C
Pickup Time: 12
Output 1:
Taxi-1 is allotted
Output:
1 1 A B 9 10 200
3 3 B C 12 13 200
2 2 B D 9 11 350
These were just sample inputs. It should work for any input that they give.
Those who finished both the modules within 3 hours and if it worked for all the inputs they give, those
candidates were given extra modules to work with.
Only 9 candidates made it to the next round
ROUND 4 : FIRST FACE-TO-FACE(TECHNICAL)
Questions were on project, c, oops concepts, DBMS and a few puzzles. They might ask you more on new
scenarios relating to your project.
ROUND 5: SECOND FACE-TO-FACE(TECHNICAL)
Question were on c, c++, java(like threads, synchronization etc.), Discussion about questions from first,
second and third round. He even asked me to solve a few questions from the first round. He gave me a
few puzzles to solve
ROUND 6: FIRST GENERAL HR
General questions about my pros and cons and discussion on my resume(be thorough with your resume).
She finally asked me if I had any queries.
ROUND 7: SECOND GENERAL HR
She asked me some family details and gave some scenarios and asked me to what I will do in such
situations(like if I am given the power to change 3 things in india, what all will I change) and a few general
questions.
Zoho Interview | Set 4
Round one:
Note: They have two patterns, for me they asked programming pattern, which is really tough.
Time: 2.15 hrs
40 Questions full of programming, first 10 questions have half mark, next 30 Questions have 1 mark, no
Compilation Errors.
1) First 10 questions is to find the output of program which contains full of loops, loops inside loops.
2) Next 30 Questions has five parts
.a) To find the input of the program, output will be given.
.b) To find the error in logic and correct it, to provide the expected output.
.c) To find which two program gives the same result among given four programs.
.d) To find the loop condition for the desired output.
.e) To find the order of function in execution..
Round two:
Level One:
1) To find the odd numbers in between the range.
Input:
2
15
Output:
3,5,7,9,11,13
2) To find the factors of the numbers given in an array and to sort the numbers in descending order
according to the factors present in it.
Input:
Given array : 8, 2, 3, 12, 16
Output:
12, 16, 8, 2, 3
3) To output the number in words (0-999)
Input: 234
Output: Two hundred and Thirty Four
4) To find the print the pattern:
Ip: n=5
Op:
1
1 1
2 1
1 2 1 1
111221
5) A man his driving car from home to office with X petrol. There are N number of petrol bunks in the city
with only few capacities and each petrol is located in different places For one km one liter will consume.
So he fill up petrol in his petrol tank in each petrol bunks. Output the remaining petrol if he has or tell him
that he cannot travel if he is out of petrol.
Input:
Petrol in car: 2 Liters
Petrol bunks: A B C
Distance from petrol each petrol bunks: 1, 5, 3
Capacities of each petrol bunk: 6, 4, 2
Output:
Remaining petrol in car is 5 liters
Level two:
1) Print the given pattern:
Input:
N= 3, M=3
Output:
X X X
X 0 X
XXX
Input:
N=4 M=5
Output:
X X X X
X 0 0 X
X 0 0 X
X 0 0 X
XXXX
Input:
N=6 M=7
X X X X X X
X 0 0 0 0 X
X 0 X X 0 X
X 0 X X 0 X
X 0 X X 0 X
X 0 0 0 0 X
XXXXXX
2) To find the number of groups and output the groups:
Explanation: To find the sum of the elements in the groups and that sum should be divisible by input X
and the groups should be limited to range with X numbers.
If X is 3, then the group should have only 2 elements and 3 elements from the array whose sum is
divisible by 3.
Input:
Array: 3, 9, 7, 4, 6, 8
X: 3
Output:
3, 9
3, 6
9, 6
3, 9, 6
No of groups: 4
Level three:
1) To output the given string for the given input which is an integer.
Input: 1
Output: A
Input: 26
Output: Z
Input : 27
Output: AA
Input: 28:
Output: AB
Input: 1000
Output: ALL
2) Input:
Number of elements in set1: 4
Elements are: 9, 9, 9, 9
Number of elements in set 2: 3
Elements are: 1,1,1
Output:
1, 0, 1, 1, 0
Input:
Number of elements in set1: 11
Elements are: 7,2,3,4,5,3,1,2,7,2,8
Number of elements in set 2: 3
Elements are: 1,2,3
Output: 7,2,3,4,5,3,1,2,8,5,1
Round three:
Real time programming and analysis:
Note: Showing output does matter need to show the output as soon as possible. And also 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.
1) To 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.
2) 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 the category get the product name, product price and id, then display all the products category
wise in descending order.
3) For the same structure which as category and product, get the category id from the user in the product
structure and save to the category list. Then display them all in category wise.
4) A sheet full of data will be given with inventory stock list, which as 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.
5) Constraints in the above in question will be given, need to solve all the constraints, so that the
Technical HR gets satisfied.
1230 0130
1200 0100
1600 1700
Output:
2
Program 3:
Find the union intersection of two list and also find except (remove even elements from list1 and odd
elements from list2)
Input
List 1: 1,3,4,5,6,8,9
List 2: 1, 5,8,9,2
Union: 1, 3,4,5,6,8,9,2
Intersection: 1,5,8,9
Except: 1, 3, 5,9,8,2
Program 4:
Input
1 2 3
4 5 6
7 8 9
Output:
4 1 2
7 5 3
8 9 6
Input:
1 2 3 4
5 6 7 8
9 10 11 12
13 14 15 16
Output:
5 1 2 3
9 10 6 4
13 11 7 8
14 15 16 12
Program 5:
Find the largest possible prime number with given no
Input
5
4691
Output:
9461
Round 3:
For one batch of people
Basic programs like pattern printing
1
22
333
4444
And
1
2 4
3 5 7
6 8 10 12
Others had app development
Scenario: text editor
Only 40 characters per line and words should be wrapped if they brake
Also perform insert delete operations
Round 4:
Tech hr: Topics revolved around OOPS and java thread and Ubuntu commands.
Round 5:
General hr: As usual stuffs like personal info and about projects and why zoho?
Good luck friends
Round 1:
It had 30 MCQ questions. (20 questions from C aptitude and 10 from general aptitude). It was a written
round, which lasted for 2 hours.
Round 2:
It was a programming round, which had 6 questions. The questions were solvable if one has some basic
knowledge on fundamentals of programming. It was not conducted in any online judges/tools. The
code/output were verified manually. Those who solved 4 questions were selected. Also those solved 3
questions and got the approaches right for any other question were also selected.
Round 3:
It was application development kind of programming round where we were asked to develop any
application which supports some list of use cases. We were asked banking application with 12 use cases.
In this round, the design which we create and the object oriented concepts which we use were monitored.
Preferably we were asked to use an object oriented language to code, but those were not good in C++ or
java, were also allowed to use procedural language like C.
Round 4:
It was a face to face technical interview where the interviewer will test your understanding on basics of
core subjects of CS. For those who were not from Computer science or Information technology
department, they asked only fundamentals of programming and general aptitude, logic questions.
Round 5:
It was HR round. It was concluding round for formality. It was more like a friendly chat for me.
Overall it was a good interview experience
o/p 25,36,49,64,81,100
o/p {9,2,8,3,7,4,5}
o/p count = 17
explanation:
5 {3,2} 2
8 {3,3,2} 3
10 {3,3,3,1} 4
13 {3,3,3,3,1} 5
6 {3,3} 2
2 {2} 1
4.a. Given two binary numbers add the two numbers in binary form without converting them to decimal
value.
o/p 100011
eg) a = 123 b = 13 n = 4
o/p 202
for n = 6
1 7 12 16 19 21
2 8 13 17 20
3 9 14 18
4 10 15
5 11
6.Given bigger NxN matrix and a smaller MxM matrix print TRUE if the smaller matrix can be found in the
bigger matrix else print FALSE
7.Given two matrices a and b both of size NxN find if matrix a can be transformed to matrix b by rotating it
90deg , 180deg , 270deg if so print TRUE else print FALSE
8 In addition to the above question you have to check if matrix a can be transformed by mirroring
vertically or horizontally to matrix b.
I solved 7 questions .. Those who solved more than 5 were selected for the next round.