cars 24 (Senior Java Developer) April 2024

cars24 logo
cars24
Senior Java DeveloperRejected
April 16, 202416 reads

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?
There was also a question related to SpringBoot, which I answered. The round concluded with a detailed SQL problem:
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.
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'.

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 an InventoryOrchestratorService 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)

Q1
Online Election
Data Structures & AlgorithmsMedium

Refer to the LeetCode link for the full problem description.

Q2
Kafka Partitions
Other

What are the partitions in Kafka?

Q3
Kafka Replication
Other

What is Replication in Kafka?

Q4
Event-driven Architecture (EDA)
System Design

What is Event-driven architecture?

Q5
Database Isolation Levels
Other

What are different Isolation levels?

Q6
E-commerce SQL Query for Category Purchases
Other

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.

Q7
Design a Restaurant Booking System
System Design

Design a Restaurant Booking System.

Q8
Design E-commerce Cart & Inventory Orchestrator Service
System Design

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.

Discussion (0)

Share your thoughts and ask questions

Join the Discussion

Sign in with Google to share your thoughts and ask questions

No comments yet

Be the first to share your thoughts and start the discussion!