Groww Internship Interview Experience (On-Campus)
Groww was the first company for the session 2021-2022 to come to our college (IIITN) for a 6-month internship program to hire only 5 students (but later picked up 8 students). The eligibility criteria for both CSE and ECE were 7 CGPA & above. The process was conducted in two rounds (Coding+Interview) only.
Coding Round: (10 MCQs and 2 Coding Questions)
- The 10 MCQs were easy based on basic aptitude and knowledge.
- The first coding question was a variation of the stock sell problem. (Maximum profit by buying and selling a share at most k times but for my question it was at most 1).
- The next question was Minimum Cost for Tickets(https://leetcode.com/problems/minimum-cost-for-tickets/) but here we were given the number of days in range 1 to 30 only.
Those who solved all the questions were selected for the interview round. Even a single MCQ wrong led to rejection.
Interview Round: (resume based + 2 DSA-based + core subjects)
Only 14 students were selected for this round. We got the Google Meet link one day prior to the interview. It was for 1 hr and the interviewer tried to ask everything.
- The interview started with a basic introduction. He then asked about my interest in machine learning and the challenges I faced in one of my machine learning projects which was the Automatic Attendance System and also asked how was I able to complete that challenge. The interviewer seemed to be friendly.
- Then we came on to a DSA based question. I was given a list that has elements only in the range [0, x) where x is the size of the list. Some elements might be missing and some elements might be present more them one time in the range [0, x). I was supposed to return the missing elements and duplicate elements separately. He only needed an approach that can solve his test cases only.
–> I started with the sorting the array approach but he was instead looking for an O(N) time complexity and O(1) space complexity approach. So I told him the approach. He gave me to dry run every test case he wanted. I dry ran nearly 5 test cases for him.
- Then he asked some questions based on the core subjects for which I wasn’t prepared at all that time. He started with the DBMS and asked about the candidate keys and how is it different from the unique keys. He also asked about the term ‘indexing’ and what kind of data structure is used for indexing. Then he went on to OOPs and asked benefits of OOPs. I described to him three of them and he didn’t look satisfied (he needed more I think and he knew that I didn’t revise it at all). He then asked me to explain tree data structure and what a BST is and how is it different from a binary tree. Then he asked me a basic DSA question in a twisted manner.
- The DSA question was that I was given a BST with only the number of nodes, the source, and the destination (root node was not given). I was supposed to find the minimum number of steps to reach from source to destination.
–> I took nearly 5 minutes to think about how to go from child node to parent node. When no solution was popping up, I directly asked him about the problem I was facing on how can I go from child to parent. Then he gave me a hint that the parent-to-child connection is bidirectional in that tree and suddenly the solution pops up in my mind to treat this problem as a graph problem now. I solved it using BFS and wrote the code for the same. Passed all test cases he gave.
- Then he asked about my preferences for the job (ML, Backend, etc.). Then I asked him some questions about the company (culture, work/life balance, etc.). Then I asked him about his review on me on how did my interview went according to hum. He hesitated first but then told me that he found DSA awesome and core subjects to be revised and overall he found it good.
Next day. I got the mail that I had been selected for the internship!!
- Practice questions are a must to clear coding tests. As in for this job, only those candidates shortlisted for the interview round who solved all the questions in the coding round. So you should be prepared for this type of worst-case scenario. I was into competitive programming and giving contests on Codeforces and CodeChef regularly helped me a lot. Solve questions from GFG/Leetcode to practice interview-specific questions. They helped me a lot to understand and practice the topics very well.
- Also, focus on core subjects too. I didn’t revise any of them prior to the interview and they made my interview bad for some time. I was hoping that if I don’t get selected, this will be my only big mistake.
- Never lose hope. Sometimes it is a matter of luck also. Keep faith in yourself and keep working hard. All the best!!
~ Contributed by Krish Rustagi