Role: Lead Software Engineer
Hackerrank Test:
The test consisted of a single problem where I had to fetch data from a given endpoint, parse the JSON response, and use the parsed data to answer a set of queries. The next day, I received a call from HR informing me that I had cleared the test, and the first interview round was scheduled for two days later.
Problem Solving Round:
The interviewer asked a basic question about reversing a linked list and we discussed my past work. Within five minutes of this round, HR called to schedule the next round for the following day.
High-Level Design (HLD) and API Design:
We discussed a scenario where data comes from different origins and tenants, requiring standardization into a single format before being saved in a downstream service. The conversation with the interviewer was very engaging.
The next day, HR called again and scheduled two rounds for the same day.
Database Design:
I was asked to design entities for an inventory management system similar to DMart, considering various conditions such as different locations and prices. The system needed to support searches by size, item name, and specifics like a "Maggie packet containing 4 pieces." I proposed a generic solution using tags but found it challenging to cover the wide range of requirements within an hour. Despite this, I addressed most use cases with a variety of features.
Hiring Manager (HM) Round:
This round involved a deep dive into one of my previous projects. The discussion was thorough and productive.
I felt confident about my performance in all rounds. However, HR stopped responding, and I eventually received a generic rejection email. It was disappointing not to receive specific feedback. While I understand that providing feedback to every candidate can be challenging, it would be helpful, especially for those who complete all interview rounds and are eager to learn from their weaknesses. Ignoring calls creates a poor candidate experience.
PS:- Please upvote if this is informational