Target | Software Engineer | ~2+ YOE | Bengaluru | 2025
Summary
I was rejected by Target for a Software Engineer position after a fast-paced interview process that included a Spring Boot assessment and a technical interview covering REST APIs, Spring Boot internals, Database concepts, Kafka, and System Design.
Full Experience
Result: — Rejected
Interview Rounds
Round 1 – Spring Boot Assessment Hands-on Spring Boot assessment Implemented / worked on: Order Service Inventory Service
Focus areas: REST API design Business logic correctness Service interaction & data flow
Round 2 – Technical Interview (Screening 30 mins)
REST APIs API design best practices Scalability considerations Spring Boot save() vs saveAndFlush() Transaction behavior Database Connection pooling (what, why, how it works) Java Core Java concepts Kafka (in-depth) Topics & partitions Producer acks Offset commit (auto vs manual) Exception handling in consumers Why use multiple consumers How Kafka decides partition for a message Partition key & hash key definition Ordering guarantees Role of ZooKeeper System Design / Concepts CAP theorem with real-world example One-to-one vs one-to-many relationships Project Discussion Improvements done in existing systems How request & response metrics were measured Performance impact of optimizations
Note :- Interview was part of a pool drive, so the discussion was relatively fast-paced and covered a wide range of topics.
Interview Questions (21)
Spring Boot Order and Inventory Service Implementation
Hands-on Spring Boot assessment where I implemented or worked on an Order Service and an Inventory Service. Focus areas included REST API design, business logic correctness, and service interaction & data flow.
REST API Design Best Practices
Discussion on REST API design best practices.
REST API Scalability Considerations
Discussion on scalability considerations for REST APIs.
Spring Boot save() vs saveAndFlush()
Explain the differences and use cases of save() vs saveAndFlush() in Spring Boot.
Spring Boot Transaction Behavior
Discussion on transaction behavior in Spring Boot.
Database Connection Pooling
Explain what connection pooling is, why it's used, and how it works.
Core Java Concepts
Discussion on core Java concepts.
Kafka Topics and Partitions
Explain Kafka topics and partitions.
Kafka Producer Acks
Explain Kafka producer acknowledgements (acks).
Kafka Offset Commit
Explain offset commit mechanisms in Kafka (auto vs manual).
Kafka Exception Handling in Consumers
Discuss exception handling strategies in Kafka consumers.
Why Use Multiple Kafka Consumers
Explain why one would use multiple consumers for a Kafka topic.
Kafka Partition Decision for Messages
Describe how Kafka decides which partition to send a message to.
Kafka Partition Key and Hash Key Definition
Define Kafka partition key and hash key.
Kafka Ordering Guarantees
Discuss Kafka's ordering guarantees.
Role of ZooKeeper in Kafka
Explain the role of ZooKeeper in a Kafka cluster.
CAP Theorem with Real-world Example
Explain the CAP theorem and provide a real-world example.
One-to-one vs One-to-many Relationships
Discuss the differences between one-to-one and one-to-many relationships in databases or system design.
Improvements in Existing Systems
Discussion about improvements I had implemented in existing systems.
Request and Response Metrics Measurement
Discussion on how request and response metrics were measured in my projects.
Performance Impact of Optimizations
Discussion on the performance impact of optimizations I had made.