Round 1
Questions:
- Introductions followed by discussion on past experience.
- Producer Consumer Problem: Explain the problem and provide a real-life analogy.
- System architecture and API flow for an order placing system in e-commerce.
- Questions based on REST APIs.
- Problem: Given n people and m transactions, minimize the number of transactions required to settle all debts.
- This is a graph problem with a greedy in-out degree approach.
- Time complexity discussion and reduction from O(m) to O(n).
- ER-Model questions related to a student report card.
- Situational questions: Coping with a fast environment, code preference based on scalability.
Candidate's Approach
- Explained the Producer Consumer problem but struggled with the analogy.
- Discussed system architecture and APIs, with assistance from the interviewer.
- Proposed a solution for the transactions problem and coded it within 10-15 minutes.
- Identified edge cases like negative weighted cycles with help.
- Attempted ER-Model normalization but only completed 90%.
- Discussed API optimization from previous internship and exception handling.
Interviewer's Feedback
- The interviewer was helpful and polite throughout the round.
- No specific feedback was provided during the coding or design questions.
Round 2
Questions:
- DBMS Questions:
- What is Indexing? Discuss complexities.
- Where to use Indexing and its logic in real-world applications.
- Normalization.
- Normalize a given table (3 tables in 3-NF).
- Optimizing API calls in previous internship.
- Basic GET and POST methods.
- API status codes (missed 400).
- Design APIs for adding two numbers.
- Variation for data retrieval from a third party through integration.
- DSA Problem: Given a binary tree, calculate the sum of the minimum distances between all pairs of nodes.
Candidate's Approach
- Attempted to use brute-force BFS for distance calculation but recognized inefficiency.
- Optimized approach using DFS with DP and LCA to calculate distances efficiently.
- Coded the solution within the time limit and tested it successfully.
Interviewer's Feedback
- No specific feedback was provided during the coding or design questions.
Round 3
Questions:
- Introductions and discussion about past work.
- MongoDB aggregation problem (allowed to use the internet).
- Comfort level with DSA and proving time complexity for finding distance between two nodes in a balanced binary search tree.
- Variation problem of spiral matrix with a 20-minute coding challenge.
Candidate's Approach
- Discussed MongoDB aggregation and demonstrated understanding.
- Proved time complexity for the distance calculation in a binary search tree.
- Coded the spiral matrix problem within the time limit and successfully ran the test cases.
Interviewer's Feedback
- The CTO was cool and humble, creating a relaxed atmosphere.
- Engaged in a discussion about competitive programming, which made the interaction enjoyable.
Verdict: Selected
(Next day I got a call from recruiter confirming my selection)
Suggestions:
- Don't lie on your resume.
- Be confident with your approaches if there is no feedback.
- Ask clarifying questions.