Round 3: Design(LLD+HLD)-60 mins

In this round, I was interviewed by some SDE3s at Flipkart

Question: Design Bookmyshow

Started by Gathering certain Functional Requirements of the system.

Took them through a user journey to consolidate a set of targeted system behaviours.

Identified entities that will be involved in every screen of the flow and were asked to design a class diagram for the same. Was also asked questions on associations and use cases for certain objects which I was able to justify.

This is the sample user journey I created:

  • User searches for shows -> User selects the show screening and theatre->User selects Seats-> User proceeds to checkout and possibly adds more services -> User completes checkouts -> Tickets are generated which can also be viewed anytime by the user under my bookings

First I created APIs for each of these scenarios such as:

  1. GET /shows/queryKeyword=?&type=?&city=? (type, city etc would be filter params)
  2. GET /shows/selectSeats/showId=? (for seat select screens)
  3. POST /shows/confirm/showId=? (validates the availability of selected seats and takes to confirmation screen for review and checkout)[acquires soft row lock on db here]

Request body: {

Seats:[],

Total price: xx,

Additional Services:[],

Status: ENUM_STATUS

Category: xx

}

POST /shows/checkout/showId=? -> checks for idempotency, completes payment and returns Tickets Info

GET /bookings/bookings/sortby=? -> To retrieve a list of bookings

Discussed how different objects would be used by each of the APIs and how the operations would be handled internally up to the DB. Also discussed in detail, are the use cases of multiple users trying to book the same seats for shows, failure scenarios, Datastore, race conditions resource contention at the db level etc.

For HLD:

Crunched some numbers to come up with user base, bandwidth, traffic and storage requirements

Here Questions were on NFRs, sharding, load balancing and caching and I highly recommend going through these topics once before sitting for the round.

Flipkart Interview Experience For SDE-2 (Off-Campus)

The interview rounds kick-started around 1st week of March 2024 and the details are as below:

Similar Reads

Round 1: Machine Coding/LLD

(90 mins: 30 mins problem statement discussion +1 hr for coding)...

Round 2: DSA/PSDS

(1 hr for solution discussion, optimization and coding)...

Round 3: Design(LLD+HLD)-60 mins

In this round, I was interviewed by some SDE3s at Flipkart...

Round 4 : Techno-Managerial Round(60 mins)

In this round, I was interviewed by a Senior EM at Flipkart, where we discussed my profile and experience....

Round 5: HM Connect

This was just a normal connection with the hiring manager discussing the technical ecosystem, the LOBs, team structure, culture fitment and understanding of the role. I had a few follow-up questions and the manager was very well-spoken and responded very clearly. It was great to get some insights into the organization and understand the scale at which tech operates there. Also talked about individual progression, benefits and most importantly the Engineering culture....