Summary
I interviewed for an Application Developer L2 role at Indihood, which involved an online test, a technical round with database design and a coding problem, and a system design round. Although I cleared all rounds, I was offered an L1 role due to experience mismatch and ECTC, which I declined.
Full Experience
I received a NVite on Naukri from a staffing agency for Application Developer (SDE) role for their client, Indihood. After a couple of days, I received a call from the staffing agency discussing the job description, client details, and next steps.
Round 0 - Online Test (2 hours)
Their online test was held on Evalground platform. Sections 1-3 were MCQs and Section 4 consisted of programming problems of varying difficulty.
Section 1 | Analytical and Lateral Thinking Skills - 10 Questions (1 mark each)
Section 2 | SQL Skills - 2 Questions (2 + 3 marks)
Section 3 | Schema Designing - 10 Questions (1 mark each)
Section 4 | Coding Skills - 5 Questions (5 + 3 + 3 + 2 + 2 marks)
To pass the written test and proceed to the interview stages, I had to achieve a cumulative score of at least 22 out of 40 and score 7 or higher in Section 4: Coding Skills. I received a call after a couple of days saying I had cleared the test and would receive an invite for interviews to be scheduled after 1 week.
Interview Format:
Candidates who clear the written test will move to Round 1, which includes a coding test, schema designing, and logical reasoning.
Subject to clearance of Round 1, candidates will then proceed to Round 2 of technical and logical reasoning interviews.
Successful completion of Round 2 will result in an offer letter.
Round 1 - Technical (1 hour)
This round was supposed to happen within 1 week after the test, but due to the interviewer's unavailability, it got postponed by another week. It was taken by someone from the Application Developer team.
The interview was a healthy discussion and stretched to almost 1.5 hours, and the interviewer was helpful and gave hints if I was stuck anywhere. I had to write down everything on a shared Google Doc.
- Introduction, offered role details, current project high-level discussion, daily work routines, challenges faced in work, what actions did you take to resolve them, etc (~20 minutes)
- Design a database schema for a library shop (~45 minutes)
- Find the angle between the hour hand and minute hand of the clock. Also, code the reverse, i.e. given the angle, find all the possible times. (~20 minutes)
I got a call the next working day that I cleared Round 1 and asked about my availability for Round 2. Since my base location was Bangalore, they asked if it would be possible for a F2F interview. I had come to my hometown, hence they scheduled the interview online itself.
Round 2 - Technical (1 hour)
This round was scheduled for exactly 1 week post the previous call. This round was also taken by a project manager from the Application Developer team. I began with introductions and asked about the impact made on the current project, why I was looking for a switch, and why I think Indihood would be the right choice. Then, the last 35-40 minutes, we brainstormed on designing an elevator system. We both enjoyed the interview, the interviewer kept increasing the complexity of features and wanted to know my thought process along. He also asked me to rate myself if I had to implement this. At the end, the interviewer conveyed that 90%, this would be the last technical round, and the next round will be the discussion on the offer.
I got a call after 2 days from the staffing agency HR that the interview feedback was positive; however, they are ready to provide Application Developer L1 role, as the L2 role requires bit of team management experience, and my ECTC is a bit high and also since I come from an SBC background. Considering I have 3 YOE and the L1 salary upper bound is less than my CCTC, I declined the offer. I had made it clear about my ECTC at the beginning. I am disappointed at Indihood as they could have told these things initially. It has been now 3 weeks since last contact and it seems like they must have found cheaper candidates.
Interview Questions (3)
Design a database schema for a library shop.
Find the angle between the hour hand and minute hand of the clock. Also, code the reverse, i.e. given the angle, find all the possible times.
Design an elevator system. The interviewer kept increasing the complexity of features and wanted to know my thought process along. He also asked me to rate myself if I had to implement this.
Summary
I interviewed for an SDE L3 role at Indihood, undergoing five rounds. Despite performing well in most technical challenges, including solving LeetCode Medium/Hard problems and custom DSA questions, I was ultimately rejected due to an inability to provide an alternative solution to a combinatorial problem in the final round.
Full Experience
I applied for the SDE L3 role at Indihood through a staffing agency.
Round-1 (15-30 min): Indihood Recruiter Connect
- Purpose: This round was to assess my cultural fit, gauge my knowledge about Indihood, and verify if I had reviewed the job description.
- Questions: I was asked, "Why do you want to switch jobs?" and "What do you know about Indihood?"
- Outcome: This initial round went well.
Round-2 (60 min): Online Assessment
- Format: The assessment consisted of three subjective questions, each allocated 20 minutes. Additionally, I was given code snippets for time complexity analysis, debugging, and error fixing.
- Outcome: I successfully solved 100% of the problems.
Round-3 (60 min): Technical Interview-1
- Questions:
- Outcome: I provided optimal solutions and coded them efficiently for both problems. I would rate my performance in this round as a Strong Hire.
Round-4 (60+30 min): Technical Interview-2 (Extended by 30 min)
- Question: I was given a problem where "The likability of a YouTuber is defined as the maximum value of L such that the given YouTuber has posted at least L videos that have each been liked at least L*1000 times. Given the videos and the number of likes for each video, return the likability of a YouTuber."
- Approach: I discussed and drafted the problem with example input and output. We explored 6-7 different approaches, analyzing their time complexities for both sorted and unsorted input arrays. I then coded an optimal solution using binary search.
- Additional Discussion: We also delved into the internal workings of HashMap, collision handling, array size increase, and handling scenarios where one node gets all keys. We concluded with a discussion on my most impactful project.
- Outcome: I felt I performed very well and would rate this as a Strong Hire.
Round-5 (60 min): Technical Interview-3
- Question 1: "Consider different numbers which can be represented in the form of (2^x)(3^y)(5^z) where x, y, z ≥ 0. Get the first n numbers following this pattern."
- Approach: I used a heap for this problem. After discussing the approach and complexity analysis, the interviewer was satisfied and moved to the next problem without asking me to code it.
- Question 2: "There are n people all doing handshakes in a circle. Constraints: All people must handshake. All people are doing handshakes parallelly. No overlapping handshakes."
- Approach: I dry-ran the problem with different 'n' values up to 8 and quickly identified the pattern as Catalan numbers. For instance:
- For n = odd => 0
- For n = 2 => 1
- For n = 4 => 2
- For n = 6 => 5
- For n = 8 => 14
Final Verdict:
Unfortunately, I was rejected due to my performance on the last question in the final round. It was quite disheartening to miss out after getting so close, but such is life.
Interview Questions (5)
The likability of a YouTuber is defined as the maximum value of L such that the given YouTuber has posted at least L videos that have each been liked at least L*1000 times. Given the videos and the number of likes for each video, return the likability of a YouTuber.
Consider different numbers which can be represented in the form of (2^x)(3^y)(5^z) where x, y, z ≥ 0. Get the first n numbers following this pattern.
There are n people all doing handshakes in a circle. Constraints:
- All people must handshake.
- All people are doing handshakes parallelly.
- No overlapping handshakes.