Falabella India || BackendDeveloper-Java || Interview Experience
Summary
I recently completed a technical interview for a Backend Engineer role at Falabella India, focusing heavily on Core Java, Spring Boot, Microservices, and basic troubleshooting. I am sharing the detailed questions asked across various domains, including a coding challenge, to provide insights for other candidates.
Full Experience
I recently had a technical interview at Falabella India for a Backend Engineer position, bringing 2 years of experience to the table. The interview primarily focused on my expertise in Core Java, Spring Boot, Microservices, and my proficiency in basic troubleshooting. The discussion was structured into three main sections: first, covering Core Java, Data Structures, and Troubleshooting; second, delving into Architecture and Frameworks, specifically Spring Boot and Microservices; and finally, a coding challenge involving Java Streams and Collections.
Interview Questions (10)
What is the difference between a JRE, JVM, and JDK?
Can you tell me the differences between List, TreeSet, and HashMap? (Focus on ordering, duplicates, and internal structure).
Does HashMap store duplicate values? (Explain the context of keys vs. values).
The application is not starting and is immediately throwing an Out-of-Memory Exception (OOM). How do you resolve this issue at the most basic level?
Are you familiar with the concept of a Dead Letter Queue (DLQ) in messaging systems?
Do you know about Aspect Oriented Programming (AOP)?
Define Dependency Injection (DI) and explain its relationship with AOP in the Spring ecosystem.
You have a JPA Entity with 10 fields. You need to prevent two of those fields from being persisted (saved) to the database. How do you achieve this without using an annotation?
You publish an event to a Kafka topic, and you have two consumer pods running. How do you ensure that only one pod processes the message and avoid duplicate processing?
You are given a List (with attributes: ID, Name, Runs, Team). Write a function to return a List containing the player who scored the highest runs from each unique team. The interviewer strongly preferred an optimized solution using Java Streams and Collectors.