Target | Senior Software Engineer

target logo
target
Senior Software Engineer6.7 years
May 2, 20253 reads

Summary

I, with 6.7 years of experience, interviewed for a Senior Software Engineer role at Target, navigating through screening, pair programming, and a detailed system design round for an Order Management System API, ultimately receiving a rejection.

Full Experience

B.Tech - Tier 3 Years of Experience: 6.7 years Current Role: Software Engineer at a Ecomm

Round 1: Screening round Had a call with hiring manager. She asked me about my current project, role and responsibilities, system design related questions.

Round 2: Pair programming Interviewer shared screen and gave me a use case with some corrupted txt file. I had to read this txt file line by line and handle few cases. Later she asked me to optimize the code which was already written. Asked me spring boot related questions, design questions, design patterns

Round 3: Design round(HLD) Design an API for an Order Management System (OMS) used by a retail e-commerce. The system should:

  • Accept new orders via REST API
  • Persist order data.
  • Publish order events to Kafka for downstream consumers (like fulfillment, inventory services) Functional Requirements**
  1. Create Order API
    • Accepts customer ID, list of item IDs with quantities and payment mode
    • Validates and persists order in PostgreSQL
    • Publishes order event to Kafka (topic: orders)
  2. Get Order Status API
    • Returns current status of the order. Non-Functional Requirements
  • Scalability: System should handle spikes in traffic during events (e.g., sales)
  • High Availability: APIs should have minimal downtime
  • Eventual Consistency: Between PostgreSQL and Redis/Kafka
  • Security: Only authorised users can place or view orders
  • Performance: Get Order Status should return in <100ms for P99
  • Observability: System should be traceable (logs, metrics, alerts)

Interview Questions (1)

Q1
Design an API for an Order Management System (OMS)
System DesignHard

Design an API for an Order Management System (OMS) used by a retail e-commerce. The system should:

  • Accept new orders via REST API
  • Persist order data.
  • Publish order events to Kafka for downstream consumers (like fulfillment, inventory services) Functional Requirements**
  1. Create Order API
    • Accepts customer ID, list of item IDs with quantities and payment mode
    • Validates and persists order in PostgreSQL
    • Publishes order event to Kafka (topic: orders)
  2. Get Order Status API
    • Returns current status of the order. Non-Functional Requirements
  • Scalability: System should handle spikes in traffic during events (e.g., sales)
  • High Availability: APIs should have minimal downtime
  • Eventual Consistency: Between PostgreSQL and Redis/Kafka
  • Security: Only authorised users can place or view orders
  • Performance: Get Order Status should return in <100ms for P99
  • Observability: System should be traceable (logs, metrics, alerts)
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!