Summary
I interviewed for a Senior Backend Engineer position at Cars24, which involved rounds on Data Structures & Algorithms and System Design, specifically focusing on building an O(1) data structure and designing a vaccination management system. Ultimately, I was rejected.
Full Experience
Round 1
Design a DS to insert, delete, search and get a random integer. All operations should be O(1). Follow up - how would you handle these operations in a multi threaded environment?
Questions on design patterns, SQL v NoSQL, single and composite indices data structure.
Round 2
HLD: Design Cowin for vaccination management and tracking. Update vaccination center information, search and book slots, auth etc.
Verdict
Rejected.
Interview Questions (2)
Design a data structure to insert, delete, search and get a random integer. All operations should be O(1). Follow up - how would you handle these operations in a multi threaded environment?
High-Level Design (HLD) for Cowin for vaccination management and tracking. This includes updating vaccination center information, searching and booking slots, authentication, etc.
Summary
I recently interviewed at Cars24 for an SDE 1/2 role in a walk-in interview at their Gurgaon office. The interview primarily covered core Java concepts like HashMap and ConcurrentHashMap, Spring annotations, and a Data Structures and Algorithms question on constructing a BST from its preorder traversal, ultimately resulting in a rejection.
Full Experience
I recently had a walk-in interview at Cars24's Gurgaon office for an SDE 1/2 role. I had applied for this opportunity after seeing a LinkedIn post by a recruiter and emailing my resume. The interview lasted about 30 minutes and consisted of several technical questions focusing on Java fundamentals and data structures. After addressing the questions, I inquired about potential feedback, but unfortunately, the verdict was a rejection.
Interview Questions (8)
Explain what a HashMap is in Java.
Describe the internal working mechanism of a HashMap.
Explain how HashMap handles collisions.
Explain what a ConcurrentHashMap is in Java.
Describe the key differences between HashMap and ConcurrentHashMap.
Explain how ConcurrentHashMap is optimized compared to HashMap.
Explain the difference between the @Service and @Repository annotations in Spring.
Given the preorder traversal of a Binary Search Tree (BST) as [8, 5, 1, 7, 10, 12], describe how to construct the BST from it.
Summary
I recently interviewed for a Senior Java Developer position at Cars24 in April 2024. The interview process spanned multiple rounds, covering various technical domains including data structures, algorithms, Kafka, Spring Boot, SQL, and system design. Despite feeling positive about my performance, I ultimately received a rejection.
Full Experience
My interview journey at Cars24 for a Senior Java Developer role began in April 2024, consisting of three rounds.
Round 1: Technical Screening
This round focused on coding, database, and backend concepts. I was given a LeetCode problem, Online Election, which I successfully solved. Following this, I was asked several theoretical questions including:- What are partitions in Kafka?
- What is replication in Kafka?
- What is Event-driven architecture?
- What are different Isolation levels?
Consider a scenario where you have a relational database schema for an e-commerce platform with three main tables:I was able to answer all the above questions and successfully solved the LeetCode problem as well as the SQL query. The verdict for this round was 'Strong Hire'.products,orders, andusers. Theproductstable contains information about various products available on the platform, theorderstable tracks details of customer orders, and theuserstable stores user information.
Given this schema, please write a SQL query to retrieve the total number of orders placed by users who have made purchases of products within a specific category. Assume that theproductstable has the following columns:product_id,product_name,category_id, and theorderstable has columns:order_id,user_id,product_id,order_date. You're asked to optimize this query for performance by utilizing composite indexes.
Could you please provide the SQL query and explain your choices for composite indexes based on the query's filtering conditions and join operations.
Round 2: System Design
This round was centered around system design. The primary problem presented was to 'Design a Restaurant Booking System'. We also touched upon design patterns and Spring starter dependencies. I successfully designed the system, incorporating potential extensions, and addressed all follow-up questions from the interviewer. This round also resulted in a 'Strong Hire' verdict.Round 3: Hiring Manager / Low-Level Design
The final round was with the hiring manager and focused on low-level design. The core problem was to 'Design a cart for an e-commerce application'. We discussed an existing e-commerce system with various services already built (CartService, InventoryService, PricingService, DiscountingService, DeliveryService). My task was to build anInventoryOrchestratorService responsible for saving the cart state based on different system events, utilizing the existing services. I was asked to provide an LLD for this. I based my design on the information I gathered, and then the interviewer asked about making the design extensible and resilient. I explained various locking mechanisms to address these concerns.During this round, the interviewer was quite silent, and there were significant delays (40-50 seconds) in their replies whenever I asked a question. The expectations felt unclear, as whatever I proposed, the interviewer simply responded with 'Yes, yes, that's fine.'
Outcome
Despite my performance and the positive feedback from the first two rounds, I received a rejection after a few days. I requested detailed feedback but unfortunately, it was not provided.Interview Questions (8)
What are the partitions in Kafka?
What is Replication in Kafka?
What is Event-driven architecture?
What are different Isolation levels?
Consider a scenario where you have a relational database schema for an e-commerce platform with three main tables: products, orders, and users. The products table contains information about various products available on the platform, the orders table tracks details of customer orders, and the users table stores user information.
Given this schema, please write a SQL query to retrieve the total number of orders placed by users who have made purchases of products within a specific category. Assume that the products table has the following columns: product_id, product_name, category_id, and the orders table has columns: order_id, user_id, product_id, order_date. You're asked to optimize this query for performance by utilizing composite indexes.
Could you Please provide the SQL query and explain your choices for composite indexes based on the query's filtering conditions and join operations.
Design a Restaurant Booking System.
Design a cart for an e-commerce application. We have an Ecommerce System where we have different services built already, your task is to build an InventoryOrchestratorService which will be responsible to save the cart state basis on different events happening in the system.
The orchestrator service can use the following already built-in services: CartService (managing the lifecycle of the cart), InventoryService (check the availability of the inventory), PricingService (check the pricing and taxes), DiscountingService (calculated discounted prices), DeliveryService (check deliverability and calculate delivery charges).
I was also asked to provide a Low-Level Design (LLD) and discuss how to make this design extensible and resilient, specifically explaining about locking mechanisms.