Google | L4 | Virtual On-site | Offer

Anonymous User
21055
Aug 13, 2020
Nov 25, 2020

Had my Google L4 SWE interview recently. Wanted to make a post to help fellow Leetcoders while the questions are still fresh in my mind. Note that I did sign an NDA so I will not be disclosing the actual questions. Location is US (I didn't give my recruiter a preference).

Process
I interviewed with Google last year and got rejected in my second phone screen (mixed feedback from first phone screen). Now I look back at the questions and laugh, because they were super easy (similar to https://leetcode.com/problems/magic-squares-in-grid/ or https://leetcode.com/problems/rotting-oranges/) and I messed them up due to under preparation. Oh well..

Fast forward this year, I contacted my recruiter from last year and we decided to give it another shot. (Side note - My experience with G recruiters has been great so far. They are so humble and nice to talk to). I did my virtual onsite about 3 weeks after my phone screen.

Phone Interview
A variation of https://leetcode.com/problems/sequence-reconstruction/ with an API giving some subsequence in each call, and we want to minimize the number of calls while still being able to construct the sequence. The maximum final sequence length is known.

Round 1:
Googlyness/Leadership - standard behavioral questions. Really enjoyed this round. Be yourself and humble.

Round 2:
String parsing. No similar question on leetcode that I could find. Involved a lot of API design + actual coding to come up with a solution.

Round 3:
Two questions, both were easy to medium level. However, the interviewer spent a lot of time discussing pros/cons, extending the solution to a million entries/depth, etc. The closest question is probably https://leetcode.com/problems/find-duplicate-file-in-system/ but this one involved a lot of recursion. The second question was straightforward recursion.

Round 4:
Medium/Hard level question in which I was given images of some boards. Had to figure out a data structure to represent the board and then figure out ball path if dropped from the top, similar to https://leetcode.com/problems/the-maze-ii/. (wasn't as easy as this one though, I promise). The intimidating part was figuring out the board representation; was a medium question after that.

Round 5:
Kind of a combination of https://leetcode.com/problems/shortest-path-in-a-grid-with-obstacles-elimination/ and https://leetcode.com/problems/path-with-maximum-minimum-value/. The interviewer kept adding constraints along the way. It was still a Dijkastra at the end of the day.

Overall, the experience was positive. I did mess up the last round a little but had working code at the end. For the 4th round, the interviewer was super friendly and gave me hints that really helped me.

Preparation: 650+ LC with 50%+ mediums. 3 months regular prep (~450 questions in that time). I didn't start from scratch as I used to code here and there on LC once a while. 2 LC contests with 3 questions solved in each of them. 2 LC mock interviews for G.

Current: SWE at a Fortune 500 company, Bay Area, CA.

My two cents
Leetcode is definitely helpful but please don't just grind/memorize questions. Interviewers at companies like Google expect discussions, such as those around BFS v/s DFS, why Dijkastra's, etc. You might be able to solve a question on LC but if it is not the most optimal or if there is a solution that uses no extra space or is better in terms of readability, they might want that. On another note, I was using a 3D matrix for the last question and my interviewer asked me to use 2D matrix instead. LC accepts your 3D matrix solution so often times we never think of further optimization. This can definitely affect your chances of getting a hire decision.

Good luck, everyone!

Comments (36)