Groww | SDE I | Backend | May 2022

Status: Rejected
Position: SDE1 at Groww
Location: Begaluru, Karnataka, India


How I Applied

I have applied through a referral from my friend. Some days after applying, I was approached by a recruiter from Groww. She told me that my resume had been shortlisted and I would be having multiple interviews based on it.

First Round

Then an interview was scheduled for which she said that it would mainly be focused on DSA. It was one hour. The interviewer was the SDE-2 from the company and started the interview by telling me about her and asking me about myself and the company that I am now working for. After that, we dived into the questions. Two DSA questions were asked of me in this interview.
  1. https://leetcode.com/problems/permutation-in-string/

  2. https://leetcode.com/problems/koko-eating-bananas/

I have already answered the first one with the optimal approach, but I was having some problems finding the optimal approach for the second one. She gave some hints in between, and I was able to come up with an optimal approach for the second one also.


Second Round

I think after a week, the recruiter contacted me again and told me that I had cleared the first round and that the second round would be scheduled shortly. It was then scheduled for the morning at 9 a.m. The 2nd round was the Machine Coding round, in which a problem statement will be given to us and we have to make an application based on that. I have never given a machine coding round before. I have only practised 1-2 questions before from work@tech. So I was very nervous. The interview was about one and a half hour long, which includes explaining the question and the coding time. The interviewer came late and started with the question directly. He was SDE-3 at the company. The question was as follows:

Question: I was asked to make an application that would take the input of two people playing chess. The main task was to validate the moves that every player makes. The code was supposed to be modular, have correct logging statements, be executable, and return a particular error for any invalid conditions.

There were multiple doubts that were cleared in the questions, like what will be the initial chess positions and how the moves are played, and what moves will be given to play at a time. It was hard to make the moves as well, like if a player gives a move like Qxd4, first I have to validate if the player who wants to play has a queen on the board or not, and then I have to see if there is any player in between its route and I have to see if it can move to d4 or not, and I also have to insure that there is a piece on d4 as well. I also have to take into consideration if the piece can move up or not, because if you consider a pawn, it will only be able to move in an up direction for white and a down direction for black. So these things depend on the player as well. It was way too complex for a one-and-a-half-hour long question.

I was only able to validate the moves for 2 pieces by the end of time. I was able to make the application modular and have proper logging statements and exceptions, but my code was not executable by then. At the end, he told me to mail him the whole code. I am sure that even if I have given multiple machine coding rounds, I won't be able to complete it in one and a half hour.


Verdict

I was pretty sure that I wouldn't be selected for the next round, and after some days, I got a mail that they won't be selecting me for any further rounds.
Comments (2)