Google · Phone screen → Onsite
In process2025–2026 Google New Grad / L3 Interviews: 13 Experiences (Part 1 :)
A practical roundup of 13 firsthand Google New Grad and L3 interview reports.
Coverage: Those reports were published from November 2025 through February 2026. All describe full-time New Grad, Early Career, 26NG.
To a lovely fren~
FastPrep practice links are now added wherever we have a matching problem.
This is a big project with many Parts :O. Not done yet. We will have a chancet to go through and analyze over 100 independent candidates reports together. Hopefully we can detect some patterns or something else from all those candidates reports hiahiahia
Live interview question bank
🐌 Data structures and object design
01: A map with constant-time putAll
Implement a CoolMap-style interface with three operations:
- put(key, value)
- get(key)
- putAll(value), which changes every stored value
The key requirement was that putAll must run in O(1) time. The source did not state the required complexity for put and get, or how updates to one key should interact with an earlier putAll.
02: Insert numbers and return the k-th largest
Build a class with:
- insert(num: int)
- findlargest(k: int)
After inserting 3, 3, and 2:
- findlargest(0) returns 3
- findlargest(1) returns 3
- findlargest(2) returns 2
Duplicates count as separate entries, and k is zero-indexed. The interviewer wanted findlargest to be as fast as possible.
03: Restaurant waitlist design appeared twice
Two independent candidates reported a restaurant waitlist problem.
Version A
- join(): add a user to the waitlist
- delete(): remove a user from the waitlist
- find_first_match(table_size): return the first user who matches the requested table size
Version B
- Add a party to the waitlist.
- Delete a party from the waitlist.
- When a table becomes free, serve a matching party.
- The candidate had to state each assumption and explain how that assumption changed the design.
The Version B author said the problem was not LeetCode 1845 and felt interviewer-written. Neither source gave a complete party object or every table-matching rule.
04: Frequency ordering with weighted random return
The candidate described this as a common LeetCode-style OOD task.
- Use a HashMap.
- Sort or organize items by frequency.
- In the follow-up, return an item randomly according to its frequency.
- The candidate changed the code and completed the follow-up.
The source did not provide the object type, API names, or complete input and output. It is not enough to rebuild the exact problem.
🦖 Strings and text processing
05: Nested string decompression
Decode strings that repeat a parenthesized group:
- a(abc){3} becomes aabcabcabc
- a(b(c){2}){3}d becomes abccbccbccd
The source added these rules:
- Parentheses are valid, so unmatched brackets do not need to be handled.
- A repeat block in braces always follows a closing parenthesis.
- Repeat counts range from 2 through 99.
The author corrected the nested example in the comments by removing one extra closing parenthesis.
06: Count lines in a width-limited Google Doc
Given a piece of text and a maximum page width, return the number of lines needed to display it.
The implementation must handle:
- Newline characters.
- Whitespace.
- Text that moves onto the next line when the current line reaches its width limit.
The source did not say whether every character has equal width or whether a long word can be split. Those rules need clarification.
07: A five-letter guessing game with only exact-position feedback
The hidden answer is a five-letter word. A provided function answers only this question: is a specific letter correct at a specific position? This is like receiving only the green result from Wordle, with no yellow or gray feedback.
The goal is to minimize the number of guesses.
- The candidate first proposed brute force.
- After a hint, the candidate proposed using a dictionary.
- The candidate then used word and letter-frequency combinations to choose better guesses.
- The source does not confirm whether the dictionary was supplied by the interviewer or had to be built by the candidate.
🪼 Trees, graphs, and connectivity
08: Count islands from linked-list nodes
The input was described as a list of linked-list nodes representing islands. The output was the number of islands.
- The candidate used Union-Find.
- The interviewer asked for the optimal solution.
- The source did not explain how the nodes were connected or how one island was represented.
FastPrep's practice version uses an explicitly labeled shared-node reconstruction. The original report still omits the input model.
09: Lowest common ancestor, then an N-ary tree
The main problem matched LeetCode 236: given two nodes in a binary tree, find their lowest common ancestor.
The follow-up changed the binary tree to an N-ary tree.
- The candidate finished the binary-tree version quickly.
- The candidate did not first understand what changed for an N-ary tree.
- After clarification and a hint, the candidate changed the solution and completed the code.
10: Graph and Union-Find rounds with missing prompts
One candidate reported three graph-related moments:
- In Round 1, the candidate first suggested Union-Find. The interviewer asked for another approach and guided the candidate to DFS. The code was not finished, but the candidate explained the full idea and implementation details.
- In Round 2, the candidate finished a basic Union-Find problem early and completed a dry run.
- In a different report, the final round was labeled only as “Dijkstra.”
None of these sources provided enough input, output, or constraints to reconstruct the exact questions.
🦀 Intervals
11: Return the times when exactly one person is online
The input contains online-time interval arrays for several people. Return the time ranges when exactly one person is online.
The source did not say whether intervals were sorted, whether one person's intervals could overlap, or whether endpoints were open or closed.
12: Interval overlap and minimum meeting rooms
Two independent reports pointed to this family.
- One candidate was asked to determine whether two intervals overlap, then find the minimum number of rooms for a set of meetings.
- Another candidate said the third part of a multi-part coding question was Meeting Rooms II wrapped in a different story.
Neither source preserved sample input, endpoint rules, or the second report's wrapper story.
🦓 Additional verified coding questions
13: Binary-tree right-side view
Given a binary tree, return all nodes visible from the right side.
The candidate used BFS:
- Process one tree level at a time.
- Record the last node removed from each level.
- Add all nodes from the next level to the queue.
14: The k smallest sums from two arrays
Given arrays arr1 and arr2 and an integer k, return the k smallest values of arr1[i] + arr2[j].
The candidate used a min-heap:
- Add arr1[i] + arr2[0] for each valid i.
- Store the pair of indexes with each heap entry.
- When (i, j) is removed, add (i, j + 1).
- Stop after removing k sums.
The source did not explicitly say whether the arrays were sorted. That condition must be confirmed because the reported heap progression depends on it.
15: Add two large numbers stored in lists
The candidate was given two lists that represent large numbers and had to simulate addition.
The source did not state:
- Whether digits were stored from most significant to least significant or in reverse.
- Whether each list element held one digit or a larger integer block.
- How signs, leading zeros, and the final carry should be handled.
FastPrep's practice version makes the representation explicit. The original report still omits those details.
16: Serialize a nested dictionary as JSON
Given a dictionary, produce its JSON string.
Example:
- Input: {"a":"b", "c":"d"}
- Output: the equivalent JSON object string
The source says keys are strings. Values may be strings, lists, or dictionaries. It does not state rules for escaping, numbers, booleans, null, or invalid values.
17: Recover coins from a Coin Change DP array
In normal Coin Change counting, dp[i] stores the number of ways to form amount i from a coin set. This interview reversed the task:
- The input is the completed dp array.
- Recover the coin array that could have produced it.
- The candidate needed a hint and walked through examples with the interviewer.
- The candidate reached the algorithm and finished under time pressure.
- A second hint exposed a loop bug.
The source did not state whether the coin set is unique, whether duplicates are allowed, or what to return when no valid coin set exists.
18: Reported only as DP or Course Schedule
One Early Career candidate reported a LeetCode Medium dynamic-programming question but did not reveal the prompt. Another candidate reported a Course Schedule variant and solved it quickly, but did not preserve its graph model or follow-up.
These labels are useful for topic coverage but are not enough to reconstruct either problem.
Reported behavioral questions
Team conflict and disagreement
- Tell me about a time you had a conflict with teammates.
- Describe a disagreement with a teammate in detail. How did you resolve it?
- What would you do if someone on the team refused to collaborate?
- Four people worked on a project, but one person claimed more credit. How would you handle it?
Team choice, skills, and impact
- Of the company or school project teams you joined, which was your favorite?
- What made that team a good place to stay?
- Besides the reason you just gave, was there another reason?
- What is one of your strengths? How did you use it to help the team, and what result did it create?
- How does that strength help you do well at work?
Ambiguity and changing work
- What would you do if the project itself was questionable?
- Tell me about a time you worked in an environment that kept changing.
- You were assigned a project with someone more senior than you. How would you work with that person?
- Tell me about a time you noticed that an existing method was wrong.
- Tell me about a time you noticed that a solution could be improved.
Users, workload, and support
- How would you design a product for user groups with different needs?
- What would you do if the company's work-life balance was poor?
- Tell me about a time you noticed that a teammate needed help.
- Describe your most challenging work.
- Tell me about multitasking. Did you finish every task? Did you ever think about giving up?
- What achievement from the last year are you most proud of?
- What qualities do you want in your next manager?
- When reviewing a photo-processing project, what should you check so the feature does not harm or offend users? What edge cases would you consider?
- What did you learn from a manager, and how did that relationship work?
Additional reported BQ
- Why Google?
- What was your most exciting project?
- Tell me about a tight deadline.
- Tell me about your college life.
- What would you do if another person's work blocked or harmed your own work?
- Tell me about a coworker you first viewed negatively but later viewed positively.
- What are the three most important qualities you want in a company?
- Tell me about a plan that changed.
- Tell me about a time you mentored someone.
- What are your top three reasons for joining this company?
13 detailed candidate experiences
01: Four rounds across maps, intervals, graphs, and BQ
Report date: November 4, 2025 · Role: L3 / fresh grad · Location: Not shown · Result: Pass
Coding round 1
- Count islands from a list of linked-list nodes.
- The candidate used Union-Find, and the interviewer asked for the optimal solution.
- Implement a map with put, get, and a constant-time putAll operation.
Googliness - Review a photo-processing project without harming or offending users.
- The interviewer said there was no single correct answer and asked about edge cases.
- Answer several questions about the candidate's relationship with a manager and what they learned from that manager.
Coding round 3 - Given online intervals for several people, return the periods when exactly one person was online.
Coding round 4 - The source only said “Dijkstra.” It did not provide the prompt.
This is clearly a full-time fresh-grad L3 report, but it does not explicitly say 2026.
02: Binary-tree LCA with an N-ary follow-up
Report date: November 11, 2025 · Role: 26NG SWE · Location: Not shown · Status: Waitlist
- The main problem was the lowest common ancestor of two nodes in a binary tree, matching LeetCode 236.
- The candidate solved the main problem quickly.
- The follow-up changed the binary tree to an N-ary tree.
- The candidate spent time clarifying what was different.
- After receiving a hint, the candidate changed the solution and finished the code.
03: A restricted Wordle problem followed by a long BQ round
Report date: December 15, 2025 · Role: 26NG General SWE · Location: Not shown · Status: Not disclosed
Coding
- Guess a five-letter word.
- A provided function only confirms whether one letter is correct at one exact position.
- Design an algorithm that minimizes the number of guesses.
- The candidate started with brute force.
- After a hint, the candidate proposed using a dictionary and frequency combinations to choose better guesses.
- The source does not confirm whether the dictionary was supplied or built by the candidate.
Behavioral interview - Five-minute introduction, about thirty minutes of BQ, and ten minutes for candidate questions.
- Topics included different user groups, improving a solution, discovering a wrong method, poor work-life balance, helping a teammate, lack of collaboration, challenging work, multitasking, the candidate's proudest recent achievement, and qualities wanted in a manager.
- The multitasking answer received follow-ups about whether every task was finished and whether the candidate considered giving up.
04: Detailed BQ, text layout, a waitlist, and intervals
Report date: February 1, 2026 · Role: Google SDE 26NG · Location: Not shown · Result: Pass
Round 1 behavioral
The interviewer covered teammate conflict, a favorite team, why that team worked well, another reason it worked well, the candidate's ability and impact, how that ability helps at work, a detailed disagreement, a questionable project, constant change, working with a senior teammate, and a credit dispute within a four-person team.
Round 1 coding
- Given text and a maximum page width, calculate how many Google Doc lines are needed.
- Handle newline characters and whitespace correctly.
Round 2 coding - Implement join, delete, and find_first_match(table_size) for a waitlist.
- Determine whether two intervals overlap.
- Find the minimum number of conference rooms required.
- The source did not give the complete user model or waitlist matching rules.
05: Two NYC coding rounds with concrete examples
Report date: February 4, 2026 · Role: Google 26NG · Location: New York City · Result: Not disclosed
Technical round 1
- Implement insert(num) and findlargest(k).
- After inserting 3, 3, and 2, findlargest(0), findlargest(1), and findlargest(2) return 3, 3, and 2.
- k is zero-indexed, and findlargest should be as fast as possible.
Technical round 2 - Decode nested parenthesized groups with repeat counts.
- a(abc){3} becomes aabcabcabc.
- a(b(c){2}){3}d becomes abccbccbccd.
- Parentheses are valid, a repeat block follows a closing parenthesis, and counts range from 2 through 99.
06: A graph round, Union-Find, and frequency-based OOD
Report date: February 17, 2026 · Role: Google 26NG General SWE · Location: Not shown · Result: Pass
Round 1 coding
- A short introduction and one BQ were followed by about thirty minutes of graph coding.
- The candidate first suggested Union-Find.
- The interviewer asked for another approach and guided the candidate to DFS.
- The candidate did not finish the code but explained the idea and implementation details.
- The source did not give the graph prompt.
Round 1 BQ
The interviewer asked eight or nine common questions and repeatedly confirmed the candidate's actions.
Round 2 coding - A basic Union-Find task was finished early and dry run. The prompt was not preserved.
- A common OOD task used a HashMap and frequency ordering.
- The follow-up asked for random return based on frequency.
- The candidate changed the code and completed the follow-up.
- The source did not give the full object model or API.
07: An interviewer-written restaurant waitlist design
Report date: November 19, 2025 · Role: Google 26NG · Location: Not shown · Result: Pass
Coding
- Design a restaurant waitlist.
- Support adding and deleting a party.
- When a table becomes free, serve a suitable party.
- State each assumption and explain the design under that assumption.
- The author said the task was not LeetCode 1845 and appeared interviewer-written.
BQ
Conflict with a coworker; another person's work affecting your own; a coworker whose impression changed from bad to good; learning from a past manager; and the project the candidate was most proud of.
08: Tree right-side view and k smallest pair sums
Report date: November 25, 2025 · Role: Google NG · Location: Not shown · Result: Pass
R1 coding
- Return the nodes visible from the right side of a binary tree using level-order BFS.
- Keep the last node from each level.
- Given arr1, arr2, and k, return the k smallest arr1[i] + arr2[j] values.
- Initialize a min-heap with arr1[i] + arr2[0]. After removing (i, j), add (i, j + 1). Stop after k removals.
- The source did not explicitly say that the arrays were sorted, though the reported progression depends on that assumption.
R2 BQ
Why Google, the most exciting project, a tight deadline, and college life.
Continued in Part 2 with candidate reports 09–13, the evidence-based priorities, and the final checklist.
Comments
0No comments yet — be the first to share what you know.