Round 1: Technical Interview
Questions:
- Dynamic Programming Problem:
- Specific question not provided.
- Reference: Reddit Post
Candidate's Approach
No approach provided.
Interviewer's Feedback
No feedback provided.
Round 2: Final Onsite Round
Questions:
- System Design:
- Design a WhatsApp or a Voice-over-IP system.
Candidate's Approach
No approach provided.
Interviewer's Feedback
No feedback provided.
- Coding Challenge 1:
- Problem: Calculate word frequency.
- Reference: LeetCode Problem
- Language: Java (though easier in Python using the Counter class).
Candidate's Approach
The candidate solved the problem in Java and ran the code correctly at the end of the interview. The interviewer focused on the correct solution without much interest in clarifying questions or discussing trade-offs.
Interviewer's Feedback
No feedback provided.
- Coding Challenge 2:
- Problem: Remove duplicate nodes in a binary tree.
- Key Insight: Look at the children nodes when checking for duplicates.
Candidate's Approach
The candidate wrote out the code but did not have time to run it due to the length of the problem.
Interviewer's Feedback
No feedback provided.
- Coding Challenge 3:
- Problem: Remove duplicates from an unsorted linked list.
- Reference: LeetCode Problem
- Technique: Look ahead one value to adjust pointers to "delete" nodes.
- Follow-up: Implement the solution without extra memory and handle a circular linked list.
Candidate's Approach
The candidate discussed checking the entire list for each node to implement the solution without extra memory and compared memory addresses to identify the starting node in a circular linked list.
Interviewer's Feedback
No feedback provided.