I completed my graduation in Computer Science in 2020 and was on the lookout for an opportunity in a good product based company - Jeevan Mali
While searching, I stumbled upon an opportunity at Zoho. They were looking for a fresher candidate with good programming skills and a strong command over any one programming language from C++, Java, or Python.
I had used Zoho’s products in the past so I knew the kind of work they do and was looking forward to working with them.
I am currently working in the Ediscovery team at ZOHO which is part of the Zoho mail product.
In this blog, I would like to share my interview experience with Zoho and hopefully provide some insightful learnings that can help you prepare for similar interviews with product based companies like Zoho.
Preliminary rounds before the interview
The Zoho hiring process started with my profile getting shortlisted for the process and I got an online assessment link.
The assessment was split as follows:
50% aptitude questions
I was asked questions from topics like “Time and Distance,” “Blood Relation,” and “Time and Work.”
They were easily solvable by pen and paper and didn't need the help of a calculator.
50% c code snippets
for which I had to find the output.
The catch here was that I had to type the answers, unlike other company tests where you can choose from the options given. This was something new for me.
The same day I got a call from Zoho informing me that I cleared the test and have been selected for the interview round held the next day.
Round 1 - Data Structures and Algorithms round (Level 1)
There were 3 interviewers - 2 of them were observing my interaction with the main interviewer.
First, I was asked 3 questions, which were easy for me.
One of them was a number lock problem where we have a lock that can be opened by setting its number dials with the correct sequence (number locks for cycle). So we are given the current sequence on the lock and we need to tell the number of rotations on each digit required to unlock the sequence.
For this round, Sridher sir’s advice to think out loud was useful. I explained my approach for 1 problem before proceeding to code and then repeated the same process for the other two questions.
This way, I managed my time well to solve the maximum number of problems and not use up all the time just for explanation.
Round 2 - Data Structures and Algorithms round (Level 2)
After 10-15 minutes of discussion among the interviewers, they came back to me with 3 more problems. These were of medium difficulty in my opinion.
One question was related to finding the largest palindrome substring in the given string with some additional constraints.
Another question was about arranging a string into a particular pattern.
I was able to solve these 2 problems and explain the approach for the 3rd question. I did not get the time to solve the 3rd question fully as 3 hours had already passed and the interviewers wanted to wrap up the discussion at that point.
Crio’s DSA modules were very useful for my DSA round as it had the selected problems with most of the approaches for the type of problem.
Later that day, I got an email that mentioned that I made it to Round 3 of the interview stage.
Round 3 - Engineering round
This round was a mix of DSA, technical questions on language, project explanation, and Object Oriented Design.
The interviewer was very interested in the projects I had done at Crio. I was asked many questions about them.
Most questions were asked about the Qcharm project. I had to explain how I implemented the cut, copy, paste feature, what was the reason behind choosing the data structure I used in the project and why I didn’t use the other options. In addition to that, they tested me by asking how I would implement the undo, redo feature, and similar variations of questions related to the feature.
I was able to answer these questions comfortably as I had done the projects by myself and had in-depth knowledge of what went into the project.
OOPs interview questions
After projects, it was time to showcase my understanding of OOPs concepts :)
I was asked the following questions:
What is the difference between Abstraction and Encapsulation
This was the question Sridher sir had made a video on and at that time I had searched for the details of those concepts. So I was able to easily tackle this question and impress the interviewer with my answer.
Write classes and methods for a MySQL-like database using Object Oriented Design
Here, the interviewer and I had an in-depth discussion on the concepts of Database and I learned a lot more from him. That helped me write the interfaces and classes for the database and then go on to inheriting them as required.
I must say, the System Design and Solid principal sessions at Crio were the only reason I cleared this round.
In the end, the interviewer was impressed with my performance in the round and asked me if I had any questions before ending the chat.
I have learned from my Crio’s interview preparation experience that it’s good to ask questions at the end of an interview as it helps to build a stronger bond with the interviewer.
I enquired about the interviewer’s current role in the company and the work he is doing currently. We immediately struck a chord as we went into the details of that conversation.
That led to me understanding more about the company and the work culture there.
Two days later...
I got a call from HR to be ready for the HR round.
Round 4 - HR round
It was a brief round where I was asked basic HR questions like
- Where do you see yourself in the next 5 years?
- Are you comfortable relocating to Chennai?
- What do you know about Zoho?
In addition to that, she wanted to know if I have any other offers. I told them that I have an offer from TCS but I was looking for a product-based company. She was satisfied with my answer and told me that they will soon communicate the results with me.
In the entire interview process, I felt that Crio’s modules groomed me well for every round of interviews.
The mock interviews had removed the fear of interviews from me so I was relaxed through the whole process.
Final advice to crack interviews in product-based companies
Be thorough with the basics.
If you are focusing on DSA, go for how the given DS works internally.
If you are studying design patterns, then go for the reason why you should use a particular pattern for a particular problem.
The interviewers need the WHY more than the HOW of the problem solved. A problem can be solved in many ways, but as a developer, you are expected to solve it optimally. That’s why the WHY plays an important role.
Secondly, be loud in your approach while solving a problem.
Especially now, most of the interviews are conducted remotely/online these days and the interviewer cannot see what you write on paper. So he will depend upon your vocal explanation to judge your problem-solving skills.
Last but not the least, apply to jobs like using machine guns. The off-campus shortlisting rate is low for most students. So the more you apply the more are your chances to get shortlisted and convert it to an offer. This will also help you to get exposure to more interview experiences and their questions even if you are not able to crack them. This experience comes in handy in future interviews.
Learning at Crio made it easy for me to start learning the codebase here. The main advantage I had was knowing the design patterns beforehand as we have used those in Crio’s projects. This helped tremendously in getting hands-on with the codebase.
Crio’s real-world projects were very close to how things work in the industry. That helped me learn how to code in a real job.