Arcesium | Lead Software Engineer | Hyderabad | May 2024
Summary
I interviewed for a Lead Software Engineer position at Arcesium in Hyderabad in May 2024. The process included a Hackerrank test, problem-solving, high-level design, database design, and a hiring manager round. Despite my confident performance across all stages, I received a generic rejection email, which was a disappointing conclusion.
Full Experience
My interview journey for the Lead Software Engineer role at Arcesium began with a Hackerrank test. This round involved a single problem: I had to fetch data from a given endpoint, parse the JSON response, and then use the parsed data to answer a set of queries. The very next day, HR contacted me to confirm I had cleared the test and scheduled the first interview round.
The Problem Solving Round was quite quick. The interviewer asked me a basic question about reversing a linked list, and we also briefly discussed my past work experience. Surprisingly, within just five minutes of this round, HR called again to schedule my next round for the following day.
The High-Level Design (HLD) and API Design round involved a detailed discussion about a complex scenario. The challenge was to design a system where data originating from various sources and tenants needed to be standardized into a single format before being stored in a downstream service. The conversation was very engaging, covering different aspects of system architecture and API considerations.
Following this, HR scheduled two more rounds for the same day. The first was a Database Design round. Here, I was tasked with designing the database entities for an inventory management system, similar to DMart. The system had to accommodate diverse conditions like different locations and varying prices. Crucially, it needed to support searches by size, item name, and even highly specific queries like "a Maggie packet containing 4 pieces." I proposed a generic solution utilizing tags, which helped address most of the use cases, even though covering the entire spectrum of requirements within the allotted hour proved challenging.
Finally, I had the Hiring Manager (HM) Round. This was a deep dive into one of my previous projects, where we discussed its architecture, challenges, and my contributions in detail. The discussion felt thorough and productive.
After completing all rounds, I felt quite confident about my performance. However, HR became unresponsive, and I eventually received a generic rejection email. It was truly disappointing not to receive any specific feedback. While I understand the difficulties in providing feedback to every candidate, for those who complete all interview rounds and are eager to learn and improve, specific insights would be incredibly valuable. The lack of communication, especially ignoring calls, definitely created a poor candidate experience.
Interview Questions (4)
The task involved fetching data from a given endpoint, parsing the JSON response, and then using the parsed data to answer a set of queries.
I was asked a basic question about reversing a linked list.
I discussed a high-level design scenario for standardizing data that originates from different sources and tenants into a single format before being persisted in a downstream service. This also included API design considerations for such a system.
I was tasked with designing the database entities for an inventory management system, akin to DMart. The design needed to account for various conditions like different locations and prices. Key search functionalities required were by size, item name, and specific product details, such as 'a Maggie packet containing 4 pieces'.