Summary
I went through a multi-round interview process with InfoEdge for a Senior Software Engineer position and was ultimately selected, receiving an offer.
Full Experience
My Interview Journey at InfoEdge
I was initially contacted by a recruiter via phone for the interview process. All rounds were conducted in person on the same day, making for a comprehensive and challenging experience.
Round 1: DSA + Basic Java
The first round focused on Data Structures & Algorithms and fundamental Java concepts. I was presented with two coding challenges:
I managed to articulate the optimal logic and code both solutions correctly within 30 minutes. Following the coding questions, I faced some standard Java questions covering:
- The difference between
finallyandfinalizekeywords. - The distinction between
ComparableandComparatorinterfaces. - The internal working mechanism of
TreeMap.
Having prepared these standard topics the night before, I was able to answer all three Java questions accurately. Verdict: Selected
Round 2: Project Discussion & Work Experience
After a brief wait, I was called for the second round, which was primarily a deep dive into my resume and past work experience. The interviewer thoroughly grilled me on my projects and professional journey. Key discussion points included:
- SpringBoot annotations, specifically
@Transactional, which I answered correctly. - Questions around Database indexing.
- Discussions on Microservices architecture.
- A Low-Level Design (LLD) problem where I had to design an e-commerce platform, outlining the main classes and potential APIs.
- A conceptual question comparing horizontal vs. vertical scaling.
Verdict: Selected
Round 3: Hiring Manager Round
After another short wait, I proceeded to the hiring manager round. This round involved one DSA question, one SQL query, and several managerial questions to assess my fit for the role and team.
Verdict: Selected
I received the results within 15 minutes, and the HR interview was scheduled for the next day. Final Result: Selected
I also interviewed with Meesho and was rejected in their HM round; I might share that experience if I get a chance. Until then, stay hard homies!
Interview Questions (10)
Explain the difference between the finally block and the finalize() method in Java, including their purpose and when they are used.
Explain the key differences between the Comparable and Comparator interfaces in Java, and provide scenarios where each would be appropriate.
Describe the internal data structure and working mechanism of TreeMap in Java, focusing on how it stores and retrieves elements while maintaining order.
Explain the purpose and functionality of the @Transactional annotation in Spring Boot. How does it manage transactions, and what are its common uses?
Design a low-level architecture for an e-commerce platform. I was asked to identify and outline the main classes that would form the core of the system and briefly list the key APIs involved for interactions like user management, product catalog, cart, and order processing.
Explain the fundamental differences between horizontal and vertical scaling in distributed systems. Discuss their respective advantages, disadvantages, and typical use cases.
Preparation Tips
My preparation involved reviewing standard Java questions, which proved beneficial for Round 1. For system design and architecture concepts, I relied on resources like Shreyansh's playlist on YouTube, which helped me with the SpringBoot and scaling questions.