Recently, I had the opportunity to interview for the Senior Java Microservices Developer role at Oracle, and it was both technically enriching and intellectually stimulating. Here’s a detailed account of the key questions, my thought process, and the learnings from the entire experience.
Questions d'entretien [1]
Question 1
1. Project Discussion:
I was asked to explain the current architecture of my project. I spoke about our microservices-based payment platform using Spring Boot, Kafka, Redis, and PostgreSQL.
2. Deep Dive into Challenges:
They asked about the most challenging issue I faced. I shared how we handled message duplication and retries when Kafka consumers failed and how we used Redis for idempotency.
3. Core Spring Concepts:
Questions included: Scopes of Spring beans, Use of Prototype scope and related implementation, Common mistakes with Singleton beans, How to exclude packages from component scanning
4. Transaction Management:
They asked about @Transactional and how Spring manages transactions under the hood.
5. JPA & Hibernate:
Topics included: Features of JPA, Optimizing queries to prevent repetitive DB hits
6. Kafka Scenario-Based:
A practical scenario: what to do when a Kafka producer fails. I explained storing failed messages, retry strategies, DB optimizations, and caching using Redis.