Round 1: Elimination Round
Questions:
- Given a 2D grid with obstacles, find a path from a source to a destination.
- A dynamic programming problem involving segment-based operations (similar to Codeforces 448C).
Candidate's Approach
I fully implemented the first problem in 30 minutes using an optimal approach. For the second problem, I only managed a naive solution before time ran out.
Interviewer's Feedback
The interviewer seemed satisfied overall.
Round 2: 1st Onsite
Questions:
Implement a pattern-matching system for IP addresses. Some patterns allow wildcards (e.g., 192.168.1.*
), and the task was to check if a given query matched any pattern.
- Example input:
[ "192.124.168.*", "192.124.64.*", "192.12.16.8", "192.124.6.1"]
- Query:
"192.124.168.1" → Output: True
- Query:
"192.124.16.8" → Output: False
Follow-up Question:
Extend the solution to handle multiple lists of patterns and process two IPs together.
Candidate's Approach
I solved the first problem in 30 minutes and proposed multiple approaches. The interviewer liked my Trie-based solution and asked me to optimize it further. In the follow-up, I discussed modifications to the Trie for sequential lookups, which the interviewer appreciated.
Interviewer's Feedback
The interviewer liked my Trie-based solution and appreciated my discussion on optimizations.
Round 3: 2nd Onsite
Questions: A dependency problem where network routers must be hit in order of their dependencies. The question was hidden behind a lot of irrelevant context involving multiple POJOs.
Candidate's Approach
I quickly identified the problem’s core concept (topological sorting) and implemented a solution. While coding, I spotted a cycle detection edge case, which the interviewer appreciated.
Interviewer's Feedback
The interviewer appreciated my identification of the cycle detection edge case.
Round 4: 3rd Onsite
Questions: Given a text file and a list of banned words, replace all banned words with "REDACTED".
Candidate's Approach
I initially suggested a simple iteration approach, but the interviewer raised scalability concerns. I then proposed reading the file in chunks for large-scale processing. Since I wasn’t familiar with file-handling methods at the time, I explained my logic with pseudo-code instead of a full implementation.
Interviewer's Feedback
The interviewer seemed unsatisfied, but the verdict remained positive.
Round 5: Googliness & Leadership
Questions: This was a behavioral round with 5 rapid-fire questions. I followed the STAR framework and focused on actions & results.
Candidate's Approach
The interviewer shared his own experiences, which reassured me that my responses resonated well.
Interviewer's Feedback
The interviewer seemed to resonate well with my responses.
Key Takeaways:
- Google allows a mock interview before the elimination round—I took one, and it helped me understand evaluation criteria.
- Fast typing helps in high-pressure situations—I practiced problem-solving under time constraints.
- LeetCode’s discussion section helped identify patterns in recent questions.
- Modular code and clear problem solving is given more importance.
Glad to give back to the community. Hope this helps you guys!