I recently had the opportunity to interview with Google, and I wanted to share my experience.
Round 1: DSA (Graphs)
The round focused on a graph-based problem (easy–medium level).
Problem Summary:
Given a weighted graph and a node, remove that node along with all its connected edges, and return the maximum edge weight remaining in the graph.
I explored multiple solutions during the discussion:
Priority Queue Approach:
Stored all edges in a max-heap and kept popping until I found an edge not connected to the removed node.
Multiset Approach:
Used a sorted structure to maintain edges and efficiently retrieve the maximum valid edge.
Optimized Preprocessing Approach (Final Solution):
Built an auxiliary structure to precompute the maximum edge weight for each node after its removal.
This allowed answering queries in O(1) time.
💡 The interviewer seemed reasonably satisfied, especially with the progression from brute-force to optimized thinking.
💬 Round 2: Googliness (Behavioral Round)
This round focused on:
Past projects
Problem-solving approaches
Real-life situations
Ownership and decision-making
Overall, it was a great learning experience. The process really tests both technical depth and problem-solving mindset, along with how you approach real-world challenges.