Round 1: Machine Coding Round
Questions: Design a survey management service with the following requirements:
- Admin should be able to create a survey and add questions with weighted options (good / very good / poor).
- Users should be able to submit responses.
- Handle multiple users trying to fill the same question.
- Admin needs support to calculate the overall rating for a survey.
- Admin needs support to calculate the overall average rating of a particular question.
Candidate's Approach
The candidate implemented the survey management service in Java using local IntelliJ. They wrote working code and ran several manual test cases to validate the functionality.
Interviewer's Feedback
No feedback provided.
Round 2: High Level System Design Round
Questions: Design an auction service with the following requirements:
- Bidders and sellers can log in and create accounts, but a single user cannot be both a bidder and a seller.
- Allow sellers to list their products for auction and view their product listings.
- Allow bidders to search for products, solved via Elasticsearch.
- Allow bidders to place bids, handling concurrency and conflict resolution.
- Send SMS notifications to the winning bidder and seller at the end of each auction.
Candidate's Approach
The candidate began by discussing the design using flow diagrams and then moved on to database modeling and storage aspects. However, they were unable to propose a complete solution due to time constraints.
Interviewer's Feedback
No feedback provided.
Round 3: Hiring Managerial Round
Questions:
- Deep dive into the candidate's current project, discussing flaws and potential redesigns.
- Behavioral questions and typical hiring manager inquiries.
Candidate's Approach
The candidate engaged in a detailed discussion about their current project, identifying flaws and proposing redesign ideas. However, they were ultimately rejected in this round due to a lack of deep knowledge of the business aspects of their project.
Interviewer's Feedback
HR provided feedback indicating that the candidate did not have deep knowledge of the business aspects of their project. However, they were supportive and scheduled another hiring manager round for a different team.
Round 3-Re: Hiring Managerial Round
Questions:
- Java proficiency: Write two programs in Java, one for swapping strings without using a third variable and another based on multi-threading.
- Questions around current projects.
- Behavioral questions and typical hiring manager questions.
Candidate's Approach
In this round, the candidate successfully demonstrated their Java proficiency by writing the required programs and effectively discussing their current projects and answering behavioral questions.
Interviewer's Feedback
The final verdict was positive, indicating that the candidate performed well in this round.