Interview Experience of Google Software Engineer ( Off Campus )

Position: Software Engineer, University Grad
Location: India
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 the 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.
The 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):

Round 1:

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

Round 2:

  • 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.

Round 3:

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

Round 4:

  • 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.