I recently participated in an On-campus ZS associates recruitment drive on 25th Aug 2020 and got selected as Software Engineer. I am sharing my interview experience.
Round 1: This was an online round having two coding questions on HackerEarth platform. One was for 50 marks and the other was for 20 marks. The questions were based on data structures and algorithms.
Round 2: This was a case study solving round. We were given 3 case studies to solve. We were asked to solve at least two case studies in 60 minutes. 2 of the case studies were based on Data structures and Algorithms and the third case study was based on Database design.
- Case Study 1 was based on Data Structures and algorithms.
- Case study 2 was also based on the Algorithm.
- Case study 3 was based on Database design.
I started with the second case study (i.e. Finding the largest square border). I started with the brute force approach. I figured its time complexity to be O(N^4) then I tried to solve it in less time complexity then I came up with a better solution with time complexity of O(N^2). Finally, I managed to write a pseudo code for this problem in approx. 40 minutes.
After doing completing one case study, I then solved the third case study, I designed the database considering the database normalisation. It took me some time to design the database.
I wanted to solve all three of them. But I was running out of time, so I managed to solve 2 of them. This was not an elimination round, so we all appeared for the next round.
Round 3: This was a 1:1 technical interview. Programming concepts, Algorithms, Data structures & Database concepts were covered during this interview round.
I was asked to solve a Binary Tree problem, to mirror a given binary tree. Then I was also asked to compute the time complexity. I solved this problem by using recursion. Then he asked me to solve the same problem without recursion. I managed to solve this problem in less time. After this, I was asked to solve another problem of Arrays and strings. I solved that too. I was also asked questions of Java Inheritance, abstract classes, and Dynamic programming concepts. Also, he asked me a few more questions about java. This round went for approximately 50 minutes.
Round 4: This was also a 1:1 interview round. This round comprised of case debriefing that we had written earlier in the round 2. Here I explained solutions that I came up with for the case studies. He asked me, also I was asked tricky database queries which were based on the concepts of Group by, Count keyword, joins, unique, union and union_all, etc. I was able to answer some of these questions. There were some database questions, which I was not able to answer. Then he also asked me a few Java questions based on inheritance, interfaces, abstract classes, and real-life implementation of these.
Round 5: This was a final round(HR round). In this round, I was asked to introduce myself. Then there was a detailed discussion on my projects. Asked about my favourite programming language. He also asked me many behavioral questions related to team management, my strengths, and my weaknesses.
Finally, I got selected.
Tips: Be confident, just have a smile on your face throughout the interview. Give to the point and short answers. Give clear answers to the questions and even if you don’t know what the answer is then simply tell them the steps that you would take to figure out the solution.