DEV Community

Cover image for Five-round interview process of Google: Finally landed the offer!
OA VO Interview
OA VO Interview

Posted on • Edited on

Five-round interview process of Google: Finally landed the offer!

Company Introduction

Google’s process is one of the most transparent among major tech companies. It’s lengthy and can be stressful, but you rarely get ghosted or rejected for unclear reasons.

Application & Recruiter Outreach

  • Early February

    I submitted three applications for Software Engineer, Early Career, via the Google Careers portal.

  • Initial Outcome

    All three were rejected after about a week. I’d previously applied via referral for other roles and was similarly rejected before any interviews.

  • Surprise Outreach

    Three days after those rejections, an external recruiter contacted me to discuss my background and aspirations. After a five-minute conversation, she felt I was a strong fit and scheduled my phone screen once I confirmed my preferred language and availability.


Interview Process

Round 1: Phone Screen

  • Preparation

    I asked for three weeks to prepare; Google scheduled the screen in two. I re-reviewed the Neetcode 250 list and did mock interviews with two friends (one Google engineer, one Amazon engineer).

  • Questions

    1. Introductions and background questions
    2. One “easy–medium” algorithmic problem (string manipulation plus basic data structures)
      • Approach: Use two pointers, moving from the beginning and end toward the middle. If the characters at both ends are not equal, try deleting one character on the left or right, then check if the remaining part is a palindrome. If either method can make it a palindrome, return True.
    3. One “medium” follow-up adding an extra data-structure requirement

Round 2: Technical 1

  • Question

    A 2D dynamic-programming problem on a matrix with constraints. I recognized the DP pattern and used tabulation.

  • Approach

    Compress the two-dimensional state array into a stack and use data structures (such as balanced trees and monotonic queues) to accelerate state transitions. Also use recursion and caching to avoid redundant calculations.


Round 3: Technical 2

  • Question

    An unbounded-knapsack-style DP hidden behind a creative problem statement.

  • Approach

    Consider the array being used, which reduces the space complexity, requiring only two rows. The optimized method is similar to the original DP approach, except that dp is changed to one row, and each time a current array curRow is initialized. After updating the current array, dp is overwritten, and the next row is updated.

  • Follow-up

    Design questions about operational optimization


Round 4: Googliness (Behavioral)

  • Questions

    1. Tell me about a time you had to handle a project that was late
    2. Tell me about how you work with difficult people/stakeholders
  • Approach

    I did not prepare any case studies in advance. I used the STAR method on the spot to share real stories about my past experiences and the lessons I learned.


Round 5: Technical 3

  • Question

    A variation on KMP

  • Approach

    Find the common prefix and suffix of the matching strings, and the position pointed to by j is after the common prefix and suffix found.

  • Follow-up

    Asked to optimize. I discussed the double pointer method, but there was a problem with the code. I immediately discovered the edge case, but by then I had already been asked to stop coding.


Later Situation & Suggestions

The recruitment consultant reported that the feedback from the fifth round was mixed, and there was a risk of rejection by HC. HC then added another round of technical interviews, and I requested an extra week to review data structures and algorithms.

Key Advice:

  • It is important to have a solid foundation of basic knowledge.
  • Core data structures and algorithms (DSA) and system design skills are sufficient to handle the interview process.
  • Use high-quality resources, such as Neetcode 250, for preparation.

Whether you are a beginner or an experienced developer, finding the right learning resources is crucial. Let ProgramHelp help you achieve a better professional future.

Top comments (0)