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.