Round 1 (DSA)
Questions:
- Construct K Palindrome Strings (Medium)
- Stone Game IV (Hard)
We had an extensive discussion on the second problem, but I managed to solve it using DP.
Test Cases:
- Specific test cases not provided.
Candidate's Approach
I solved both problems within 1 hour and 15 minutes. The discussion on the second problem was in-depth, focusing on dynamic programming techniques.
Interviewer's Feedback
The interviewer was very kind and approachable, focusing more on my learning from the problems rather than solely evaluating my skills.
Round 2 (Technical Round)
Questions:
- Discussed projects listed on my resume, specifying entities and code flow.
- API design question: Design an API contract for the CRUD operations of digital credit/debit cards.
- Create the database schema for these APIs and address concurrency concerns in case of multiple server nodes.
Candidate's Approach
I detailed the entities and code flow of my project and successfully designed the API contract and database schema while addressing concurrency issues.
Interviewer's Feedback
The round lasted for an hour, and the outcome was positive.
Round 3 (Hiring Manager Round / Fitment Round)
Questions:
- Discussion about my resume, projects, and prior work, along with behavioral queries.
- High-Level Design (HLD): Design a system for a third-party Mail/Phone/SMS service.
- Rapid-Fire Questions:
- What is synchronization in Java?
- What is Kafka? Explain in detail.
- How does Kafka differ from a queue?
- What is the difference between TCP and HTTP?
- Which is faster: TCP or HTTP?
- What is UDP?
- What is a left outer join in a database? Provide an example.
- What is the CAP theorem? Explain with an example.
Candidate's Approach
I created the API structure on Google Docs and outlined the system's HLD using draw.io. I answered all rapid-fire questions to the best of my ability.
Interviewer's Feedback
The interviewer was incredibly supportive and chill, and the round lasted for 1 hour and 30 minutes. The outcome was positive.
Final Outcome
HR contacted me the very next day and offered me the SDE-1 role. Overall, the experience was incredibly positive, and I learned a lot throughout the process.