← Back to Directory

Google interview notes, page 206 of 215

FAANG / Big Tech

Most of these Google write-ups come from Software Engineers (1,167), then Product Managers (686) and Data Scientists (125). The most reported rounds are the product sense round (667), the technical phone screen (660), the behavioral / leadership round (252) and the onsite coding round (214).

2146 interview notes · updated Oct 2026

Google·Software Engineer·Onsite - Coding / Algorithms

Jul 2026
Google SWE coding round centered on multi-source BFS, specifically the rotten oranges / taxi distance variant. The follow-up about moving sources was the part that really separated candidates, and I don't think I handled it as cleanly as I wanted.
  • Given a grid where some cells are 'sources' (rotten oranges, taxis, or gates), compute the distance from every other cell to the nearest source.
  • Follow-up: how would you handle sources that move over time, where their positions change dynamically?

“Classic multi-source BFS setup.”

View Post

Google·Machine Learning Engineer·Onsite - System Design / Architecture

Jul 2026
Google ML Engineer system design round focused entirely on building a recommendation system from scratch, covering pretty much every angle you can imagine. It was one of the more exhaustive design questions I've sat through, the kind where you realize halfway in that you've been talking for 20 minutes and still haven't touched ranking.
  • Design a recommendation system for a large consumer platform that supports both e-commerce product feeds and video media feeds.

“This is a monster of a question.”

View Post

Google·Software Engineer·Onsite - System Design / Architecture

Jul 2026
Google SWE design round focused entirely on a single data structure problem. The question sounds simple but the follow-up on concurrency is where things get real.
  • Design a data structure called FancySet that supports add, delete, and getRandom, all in amortized O(1) time. What happens when getRandom is called on an empty set, and how do you handle edge cases like deleting the last element or repeated inserts?
  • How would you make FancySet thread-safe under concurrent access? Walk through at least two different locking strategies and discuss the trade-offs between them.

“The core trick is pairing a hashmap with a dynamic array.”

View Post

Google·Software Engineer·Online Assessment (OA)

Jul 2026
Google SWE coding question, pretty straightforward digit-matching problem but the edge cases tripped me up more than I expected.
  • Given a list of two-digit integers, find the maximum number of elements you can select such that all selected numbers share at least one digit in common.

“My first instinct was to brute-force every possible digit 0-9, count how many numbers in the list contain that digit, then return the max.”

View Post

Google·Software Engineer·Technical Phone Screen

Jul 2026
Google SWE interview with a string problem that looks simple until you actually think through what's being asked. One question, but it had some teeth.
  • Given a string of letters and access to a dictionary of valid English words, return true if every contiguous substring of length 3 or more is a valid dictionary word. Otherwise return false.

“My first instinct was to just iterate through all pairs and check each substring, which is technically correct but I fumbled the complexity analysis when they pushed back.”

View Post

Google·Software Engineer·Technical Phone Screen

Jul 2026
Google SWE coding round, one question about digit-sharing in a list of 2-digit numbers. Pretty algorithmic, not super hard on the surface but easy to overthink.
  • Given a list of 2-digit numbers, return the maximum count of elements that share at least one digit in common with each other. For example, [55, 15, 20] returns 2 because 55 and 15 both contain 5.

“My first instinct was to overcomplicate it with some graph-based grouping approach.”

View Post

Google·Software Engineer·Onsite - System Design / Architecture

Jul 2026
Made it past the coding round for a Forward Deployed Engineer role at Google and now prepping for the gen AI system design round, specifically the workflow and enterprise track. Posting here because I genuinely have no idea what to expect in terms of format or where the deep dives tend to go.
  • How would you design a gen AI system for enterprise workflow automation use cases?

“This is the round I'm walking into, not one I've already done, so I can't say how it went.”

View Post

Google·Software Engineer·Technical Phone Screen

Jul 2026
Phone screen at Google for a SWE role, one coding problem with two follow-ups stacked on top of each other. The core problem sounds approachable until the follow-ups hit and you realize the interviewer is testing whether you actually understand the data structure or just memorized an implementation.
  • Given a text string and a dictionary mapping keys to IDs, tokenize the text left-to-right using greedy longest-match: at each position emit the ID of the longest matching key, or if nothing matches emit the character as a literal and advance by one.
  • The tie-breaking rule changes: instead of longest match winning, the winning key is determined by some priority ordering. How do you adapt your solution so swapping the rule is cheap?
  • The dictionary is now very large. How do you keep the matcher memory-efficient and keep per-position lookup fast at scale?

“I went with the hashmap approach first, scanning up to max key length at each position.”

View Post

Google·Software Engineer·Technical Phone Screen

Jul 2026
Google SWE interview with a pretty gnarly combinatorics/string problem about splitting a circular necklace. The follow-up pushed it into three gem types which is where things got spicy. No fluff, just pure algorithm design from start to finish.
  • You have a circular necklace represented as a string over {'a','b'}. You can cut it at most twice to get up to three contiguous pieces. Can you assign those pieces to two people so each person gets the same count of 'a' beads and the same count of 'b' beads? If yes, return valid cut indices and the assignment; otherwise return 'impossible'. You also need to state necessary feasibility conditions, give an O(n) algorithm, and analyze correctness and complexity.
  • Extend the necklace problem to three gem types {'a','b','c'} where you may make at most three cuts to produce up to four pieces, still splitting between two people so each receives equal counts of every gem type. Give the generalized algorithm, state all required conditions, and discuss how the approach scales as the number of gem types grows.

“The parity stuff tripped me up first.”

View Post

Google·Software Engineer·Technical Phone Screen

Jul 2026
Went for a Google software engineer screening and didn't make it past the first round. The question wasn't anything I'd seen before and I lost my footing midway through, even after grinding through neetcode, a full DSA sheet, and a month of tagged questions.
  • A non-standard algorithmic problem that didn't map cleanly to any common pattern or template.

“This is what got me.”

View Post