Round 1 (Recruiter Call)
Questions:
- Basic questions about graduation date, availability for the internship, and interest in the role.
Candidate's Approach
No approach provided.
Interviewer's Feedback
No feedback provided.
Round 2 (Coding Interview - 45 minutes)
Questions:
Question 1: Top n words in a file.
Given a text file (e.g., a book), print the top n most frequent words in that file.
Clarifications included:
- How to get the value of n
- How to specify the filename
- Error handling
- Handling cases where the number of unique words is less than n
Question 2: A slight variation of Friends Of Appropriate Ages.
A group of centaurs sends friend requests based on specific age conditions. Write a function that, given an array of centaur ages, returns the total number of friend requests sent.
Examples:
c = [120, 110] # 1 c = [120, 110, 99] # 1 c = [120, 45, 230, 400, 88, 300, 101] # 4 c = [101, 120, 230, 400, 88, 45, 55, 300] # 6 c = [100, 110, 120] # 3
Candidate's Approach
- For Question 1, the candidate initially implemented a sorting solution instead of a heap for optimization. They later derived the time complexity.
- For Question 2, the candidate used a brute force approach due to confusion with the problem statement and its conditions.
Interviewer's Feedback
The interviewer acknowledged the candidate's questions and provided positive reinforcement during the coding process.
Round 3 (Systems Interview - 45 minutes)
Questions:
- Specific questions cannot be disclosed due to NDA.
Candidate's Approach
The interview focused on system design rather than operating systems, networking, and troubleshooting. The candidate felt confident due to prior knowledge in systems design and engaged in a conversational manner with the interviewer.
Interviewer's Feedback
The interviewer provided positive feedback, including remarks like "Good" and "Great!" during the candidate's responses. They guided the candidate when they struggled with a question.