Google Software Engineer University Grad - Coding Sample, Phone Screen, Onsite

Status: New Grad, BS CS top 20 school
Position: Software Engineer, University Grad
Location: Los Angeles, CA

Coding Sample (90 minutes):
Applied through Linkedin and the next day I received an email with a coding sample and survey. The survey asked about what sort of technologies I was familiar with and what my professional experience was like, nothing to be worried about. The coding sample was two questions that were variations of problems you could find on Leetcode. The first problem was a variation of ‘Find Next Closest Time’ and second problem was a variation on ‘K Empty Slots’. You have to write your own test cases as the coding sample doesn’t provide you with any. I did tests in my IDE and didn’t have time to include any in the completed coding sample.

Technical Phone Screen (45 minutes):
Two days after completing the coding sample I was invited to fill out my availability to do a phone interview. The phone interview ended up being a little over a week after finishing my coding sample.
Phone interview was one medium level question that was similar to ‘Insert Interval’ or ‘Merge Interval’ problems. After having solved the algorithm correctly and doing tests I had a follow up to the main question that took up the remaining time. I didn’t code anything for the follow up but I was able to identify the approach I would need to take to solve it.

Onsite(4 rounds, 45 minutes each):

First round:
First question was easy level. Basically find the beginning and end index for a subarray with certain values. Second question was medium level follow up that used a binary search variation to solve it.

Second round:
A variation of the problem ‘Sort Array Based on Number of Set Bits’. You can find this problem on GeeksforGeeks, haven’t seen a problem similar to it on Leetcode but there could be one.

Third Round:
Easy/medium problem to implement an iterator. Need to handle cases where hasNext() and next() aren’t called inside of while loop. Would recommend reviewing how to design an interator.

Fourth round:
Binary tree problem that’s pretty similar to ‘Binary Tree Maximum Path Sum’.

Closing Thoughts:
Overall really cool experience. Some things I didn’t do well were that in the first and third rounds I jumped into coding too quickly. I feel I should have spent more time thinking out loud why a solution would be good. In the second round I was stumped on bitwise operations, should have reviewed that.

Problems aren’t too crazy overall, at least in my experience.
The culture seems awesome, everyone I met was friendly. Office in LA has awesome perks (like every Google office), cool location, and is only a few blocks from the beach!