Timeline: HR reached out around 1/20, interviews started around 2/10 — 4 rounds total: AI/ML technical knowledge, 2 rounds of coding, and 1 round of BQ.
AI/ML Round
The interviewer pulled AI/ML related content from my resume and dug into it. This round felt pretty new — the interviewer even said it was their first time doing an AI/ML round, so the pace was relatively friendly and I felt like they went easy on me. Thanks to the interviewer.
BQ Round
Standard behavioral interview, question types included classics like failure and conflict.
Coding Round 1
An original question straight from Google's internal question bank, graph theory related.
Question gist: you're given a bunch of unordered coordinate points, a start point and an end point, and a function
getDistance(x, y)
that calculates the distance between two points. If the distance between two points is < r, they're considered reachable from each other. Question: can you get from the start point to the end point?
Approach: BFS/DFS to build the graph.
Follow-up: what if the data volume is very large? → Use a cache to precompute distances and avoid redundant calculation. (I had the idea here, but when I was actually writing it out, it wasn't coherent enough.)
Coding Round 2
Group interview (virtual onsite group interview). This round was entirely about C++, purely relying on accumulated experience — hard to prepare for in a targeted way.
Unfortunately I failed this round, so right now I've only passed General Hiring and am still in the team match stage. Will keep updating as there's progress.
Summary
For the AI/ML round, focus on reviewing the projects on your resume — you need to be able to go deep on them.
For coding, I'd recommend practicing more graph theory and being fluent with BFS/DFS.
If your target team uses C++, definitely prepare in advance for language-feature questions (memory management, pointers, templates, etc.)
I'll also post later about how I reviewed AI/ML and how I approached LeetCode practice.
Discussion
Loading comments…