Zoho Application Development Questions
Zoho Application Development Questions
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>RAILWAY<<<<<<<<<<<<<<<<<<<<<<<<<<<
Write an application for booking railway ticket reservation system. The application should have four
functionalities.
Book
Cancel
There are a total of 63 berths for 63 confirmed tickets, 9 berths for 18 RAC tickets and 10 tickets in
waiting-list. If the waiting-list ticket count goes above 10, print as ‘No tickets available’. The
following passenger details should be obtained from the user.
Name
Age
Gender
Berth Preference
The tickets should not be allocated for children below age 5.But, their details should be stored.
Lower berth should be allocated for persons whose age is above 60 and ladies with children if
available. Side-lower berths should be allocated for RAC passengers.
Whenever a ticket is cancelled, a ticket from RAC should be confirmed and a waiting-list ticket
should move to RAC.
Print all the tickets that are unoccupied and at the end, print the total number of tickets that are
unoccupied.
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>RAILWAY<<<<<<<<<<<<<<<<<
<<<<<<<<<<
A matrix game was given with 5 rules. We were asked to implement each of the rules separately.
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
31
22
13
R3 C1 C3
Rule 1:
A ray that has an atom in its path should print ‘H’ (Hit) If it does not have any atoms in its path, the
ray should pass to the other side.
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.
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
-There are n number of taxi’s. For simplicity, assume 4. But it should work for any number of taxi’s.
-All the points are in a straight line, and each point is 15kms away from the adjacent points.
-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.
-If no free taxi is available at that point, a free taxi at the nearest point is allocated.
-If two taxi’s 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.
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.
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>><<<<<<<<<<<<<<<<<<<<<<<
Q1: Given a matrix dimension find the shortest path between two points.
Q2: shortest path between two points and a monster is present. So we have to avoid the monster
and take a shortest path or die.
Q4: same as Q2 but trigger is present so we can take the trigger to shoot the monster anywhere in
the maze.
Q5: this is the tricky part. There are many holes in between. we should avoid them and take the
shortest path.
>>>>>>>>>>>>>>>>>>>>>>>>><<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<>>>>>>>>>>>>>>>>>>
The size and location shall be given in run time. Adventurer must reach treasure fast than monster
>>>>>>>>>><<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<>>>>>>>>>>>>>>>>>>>>>>>>>>>>><<<<<<<<<<<<
Round 3:
This round contained of advance programing but the logics were easy but they gave more
importance to the modularity, Object oriented approach and things like that.
They asked to create a simple console based application for e commerce. Two user’s admin and
customer with different functionalities were given.
The Customer has to buy items then if discount is applicable for that product he can redeem it and
he can also view the Order history. The Admin can add new items and so on.
<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
We were asked to develop a mini-project ‘Invoice Management’ with the following modules :
1. Add a customer
2. Add an invoice
<<<<<<<<<<<<<<<<<<<<<<<<<<<<<>>>>>>>>>>>>>>>>>>>>><<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
Here, you are expected to code with proper standards and in a most optimized way. And, in this
round you need to find all the edge cases and corner cases yourself.
The interviewers won’t help you if you miss anything. So, make sure you covered all the cases before
showing output to the interviewers.
>>>>>>>><<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<>>>>>>>>>>>>>>>>>>>>>>>>
This was an application development round. The application was TOLL PAYMENT PROCESSING .
They insisted us to do it in a object oriented language. First they asked the design( what are all the
classes and objects & what data structure do you use).
Application description:
There are ‘n’ number of points in a highway out of which some points collect toll.
Each toll has its own charging scheme according to the vehicles and whether or not they
If the vehicle passes 3 toll gates, it has to pay in all the 3 toll gates according to the
1. Given the details of vehicle type, start and destination……display the total toll paid during
the journey and print the amount after applying the discount.
2. Display the details of all the tolls…..like what are all the vehicles(vehicle number) passed
that respective toll and the amount each vehicle paid……and the total amount charged in
that toll.
3. Display the details of all the vehicles …….like what are all the journeys did it take….the
start and destination of the same……tolls it passed during that journey….amount paid in
4. Assume the highway as a circular path……we have to find the short route and identify
After this round , only 7 students survived for the next round.