Google Hiring Assessment (GHA)
- The GHA had multiple situational questions around work style, decision-making under pressure, and mindset at work.
- I went through a few YouTube videos beforehand to better understand the type of questions and how to approach them.
- I found it helpful to keep my answers consistent throughout the assessment and to think in terms of collaboration, ownership, impact, problem-solving, and thoughtful decision-making.
- For workplace conflicts or disagreements, I focused on collaboration and finding a solution rather than choosing an approach that works against the team.
- For situations involving unethical behaviour or violations of workplace policies, I answered based on the relevant company policies and processes, regardless of whether the person involved was a peer, manager, or someone else.
- Some preparation videos suggested avoiding neutral answers when I could reasonably take a clear position. I therefore used strongly agree/disagree when the scenario clearly supported it and chose a neutral option only when I genuinely could not strongly agree or disagree.
Phone Screen - DSA
Longest Increasing Subsequence with Difference 1
Given an integer array, find the length of the longest increasing subsequence where the difference between consecutive elements is exactly 1.
- Discussed an O(n²) DP approach.
- Optimized it to O(n) using a hash map and coded the optimized solution.
Follow-up: Difference in a Range
Find the longest increasing subsequence where the difference between consecutive elements can be from 1 to d.
- Discussed an O(n²) DP approach.
- Also discussed an O(n*d) hash-map-based approach when d is small.
Phone Screen — Googliness
- Questions around conflict management
- Handling missed deadlines
- Handling unclear goals
- How to deal with someone taking credit for my work multiple times
- How I use AI in my daily work
- What I would want at work that doesn't exist today, including ways to improve work/productivity and workplace perks/experience
- One thing I want to achieve in the near future in my career/work
Multiple cross-questions and follow-ups on my answers
Onsite 1 - DSA
Minimum Security Level to Reach a Node
Given a directed graph where every edge has a security level, find the minimum value of S needed to travel from u to v. An edge can be traversed only if its security level is less than S.
- I clarified cases such as negative security levels and cycles.
- The interviewer then asked how the approach would change for each of these different scenarios.
- He focused heavily on the reasoning behind the choice of data structure and approach, and asked me to explain each case with examples.
- We discussed queue vs. priority queue, including how the choice affects the number of operations and time complexity.
- Around 30-35 minutes were spent discussing different scenarios and approaches, leaving relatively little time for coding.
Onsite 2 - DSA
Minimum Cost to Remove All Leaf Nodes
Given a binary tree with edge weights, remove all leaf nodes from the root. A cut can be made anywhere in the tree, removing the corresponding leaf/subtree. The cost of removing all the leaf nodes is the sum of the weights of the edges being cut. Find the minimum total cost.
- I clarified that the edge weights were positive.
- Solved it using recursion in
O(n).
- Initially, I represented the edge weights separately using a vector - for example, storing the edge weight for a node at the corresponding index.
- The interviewer asked if there was a better way to represent the edge weights, so I suggested storing the weight directly in the node structure and he asked me to code the required
Node struct/class.
Follow-up 1: N-ary Tree
What if a node can have more than two children?
- Extended the solution to support multiple children.
- Used a vector of pair to store child nodes and their corresponding edge weights.
- Also defined the required node structure.
Follow-up 2: Negative Edge Weights
What if edge weights can be negative?
- No coding required.
- Discussed taking all negative-weight edges since cuts are unrestricted and negative edges should always be included.
- Then, if any leaves remain, remove the remaining required positive-weight edges using the minimum additional cost.
Timeline
July 1: Gave the Google Hiring Assessment (GHA).
July 2: Received an email confirming that I had passed the GHA.
July 3: Recruiter called to schedule the phone screens - one DSA round and one Googliness round.
July 15: DSA phone screen. I chose a slot after 4 PM, so the interviewer was based in Europe.
July 16: Googliness phone screen. Again chose a slot after 4 PM, so the interviewer was based in Europe.
July 20: Recruiter called with the results, but we couldn't connect due to a technical issue.
July 23: Recruiter informed me that I was moving to the onsite rounds. She mentioned that it would take some time to initiate the onsite process.
August 4: Recruiter was changed.
August 17: New recruiter contacted me for availability for the onsite rounds.
August 31: Both onsite rounds were initially scheduled for this date. Only Onsite 1 happened; Onsite 2 was rescheduled to September 8 because the interviewer was unavailable.
September 8: Onsite 2 was rescheduled again to September 17 due to interviewer unavailability.
September 17: Onsite 2 took place.