Panda Guru LogoPanda
Guru

Flipkart | SDE 2 (2.5 years exp) | June 2024 | Passed

Round 1: Machine Coding

Questions: Design a system for managing a restaurant. The system should handle the following functionalities:

Allow the restaurant admin to define the number of tables. Allow restaurant admin to add, update, or remove items from the menu. Each menu item should have attributes such as name, price, veg / non-veg and category (starter, main course, dessert). Allow customers to browse the menu and allow filtering on factors (veg / non-veg, category), add items to their order, specify quantities, and place the order. Allow restaurant admin to manage tables in the restaurant as in number of tables. Calculate the total bill for each order, including taxes and any additional charges. Provide options for customers to pay the bill via various payment options, such as cash, credit/debit card, or online payment (card payment levy additional charges). Bonus Functionality: Provide a system for kitchen staff to view incoming orders, mark them as prepared, and notify wait-staff when orders are ready for serving. Allow multiple orders for the same table (AddItems even after 1 order was placed).
Candidate's Approach
  • Used standard design patterns:
    • A Repository interface with an in-memory implementation for all DB-related APIs.
    • Singleton pattern for the in-memory implementation.
    • Strategy pattern for the filtering logic.
  • Suggested going through the complete user journey mentally before explaining it to the evaluator.
Interviewer's Feedback

No feedback provided.


Round 2: Data Structures and Algorithms

Questions:

Candidate's Approach
  • Solved all three problems, transitioning from brute force to optimized approaches while explaining each step.
  • Practiced dry runs on a code editor or notepad before the interview, as only pseudo code was required.
Interviewer's Feedback

No feedback provided.


Round 3: Design Round

Questions: Design BookMyShow following these steps:

  1. Identify Actors.
  2. List down use cases of all the actors.
  3. Write APIs and business entities parallely based on step 2.
  4. Design DB schema.
Candidate's Approach
  • Found it challenging to follow a linear approach as I typically mix and match steps.
  • The interviewer interrupted frequently, which made it difficult to express thoughts freely.
  • The round extended to 1:40 hours, and felt redundant compared to Round 1.
Interviewer's Feedback

No feedback provided.


Round 4: Hiring Manager

Questions: The interview was based on the candidate's resume and work experiences, focusing on LLD. Common interview questions included:

Candidate's Approach
  • Explained the DB design of features worked on.
  • Responded to a series of common interview questions.
Interviewer's Feedback

No feedback provided.