DEV Community

Cover image for Google New Grad OA Interview Review | Jan 29 Real Questions, Full Breakdown & Pitfalls to Avoid
net programhelp
net programhelp

Posted on

Google New Grad OA Interview Review | Jan 29 Real Questions, Full Breakdown & Pitfalls to Avoid

After taking multiple Big Tech online assessments recently, the Google New Grad OA on Jan 29 stands out with one clear takeaway: few questions, few traps — but extremely high thinking cost.

This is not the kind of OA where speed or memorized patterns carry you through. Especially the first problem: one wrong assumption, and you can easily waste 30 minutes going nowhere. There were only two coding questions. Time pressure was reasonable, but Google clearly focused on precision in reasoning and rule interpretation.

If you get the idea right, everything flows. If not, you stall completely. Below is a full reconstruction of the real OA questions, step-by-step solution logic, and the exact pitfalls to avoid. If you’re preparing for Google New Grad or other Big Tech OAs, this is worth saving.


1. Google OA Jan 29 – Real Questions & Full Analysis

Basic OA info:
Two coding problems, no extra written section. Time was sufficient. The focus was on rule comprehension, problem decomposition, and greedy / enumeration thinking. No weird tricks, but very little room for misunderstanding.

Question 1: Jumping Pieces & Coin Maximization

Key pitfall: Don’t force DP. This is a greedy problem.

Problem Description (Faithful Reconstruction)

You are given a string representing a board. The string contains only three characters:

  • T: a movable piece
  • C: a coin (can be collected once)
  • .: empty cell

Rules (Very Easy to Misread)

  1. Each piece can move only to the right (no left moves, no staying in place).
  2. Each move must jump exactly 3 cells (from index i to i+3).
  3. A piece may jump multiple times: i → i+3 → i+6 → … as long as it stays on the board.
  4. A piece cannot land on a cell already occupied by another piece.
  5. If a piece lands on a coin, it collects it; the coin disappears and cannot be collected again.

Goal: Compute the maximum number of coins that can be collected.

Key Insight (Where Most People Go Wrong)

My initial instinct was DP: global planning, state transitions, path conflicts. That was a mistake.

The crucial realization: each piece has a completely fixed set of reachable positions.

If a piece starts at position i, it can only ever land on: i+3, i+6, i+9, .... There are no branching choices.

So the problem is not path planning — it’s about deciding which coin along that fixed path the piece should take.

Greedy Strategy (Optimal and Simple)

Process pieces from left to right. For each piece, let it collect the leftmost reachable coin that has not been collected yet, then stop.

Why this works:

  • Leftmost coins are the most restrictive resources.
  • Letting earlier pieces take earlier coins preserves options for later pieces.
  • There is no benefit in skipping a reachable coin to go further right.

This is a classic case where local optimal choices lead to global optimality.

Implementation Notes

  • Track occupied landing positions to avoid piece collisions.
  • Track whether each coin has been collected.
  • Scan the board left to right; when encountering a T, simulate jumps.
  • For positions i+3, i+6, … collect the first uncollected coin and stop.

Once the greedy idea clicks, the code is short and clean. The real difficulty is resisting the urge to over-engineer.


Question 2: Largest Subset Sharing a Digit

This is a thinking problem disguised as a subset problem.

Problem Description

You are given an array of distinct two-digit integers (10–99). Choose a subset such that all elements in the subset share at least one common digit (0–9). Return the maximum possible subset size.

Examples:

  • {12, 23, 32} share digit 2
  • {10, 20, 50} share digit 0

Core Reduction

Instead of enumerating subsets, flip the condition:

For each digit d from 0 to 9, count how many numbers in the array contain digit d. The maximum of these counts is the answer.

Why This Works

“All elements share a digit” ⇔ “There exists a digit d such that all elements contain d.”

So we enumerate digits, not subsets.

Algorithm

  1. Initialize max_len = 0.
  2. For d = 0 to 9:
    • Count how many numbers contain digit d.
    • Update max_len.
  3. Return max_len.

Common Mistakes

  • Forgetting that numbers like 10 contain digit 0.
  • Only checking one digit (tens or ones) instead of both.

This problem is trivial once reframed correctly — but very easy to overthink.


2. Overall OA Takeaways & Common Pitfalls

Overall Feel

  • Only two questions, but each tests deep understanding.
  • No trick questions — the traps are self-inflicted.
  • Time is enough if your reasoning is correct.

High-Frequency Pitfalls

  • Overcomplicating problems (DP for Q1, subset enumeration for Q2).
  • Missing small but critical rules.
  • Careless implementation details.

Google is not testing how many problems you’ve memorized. They are testing whether you can simplify the problem correctly under pressure.


3. Advice for Google New Grad Candidates

For Google, Meta, Amazon New Grad OAs, problems like these appear frequently: simple solution, strict rules.

Many candidates fail not because they lack coding skill, but because they go down the wrong mental path and never recover. In real interviews, what you often need is not more practice — but faster correction when your thinking derails.

This is exactly where real-time interview assistance can help. Platforms like Programhelp focus on intervening at the most dangerous moments — those first 5 minutes when one wrong assumption can cost the entire problem.

If you’re currently preparing for Google OA, VO, or live coding interviews, reducing “thinking detours” is often the biggest performance gain.

Good luck to everyone applying for Google New Grad. Think clearly, read carefully, and don’t let overthinking sabotage solvable problems.

Top comments (0)