Google · Phone screen → Onsite
Offer6 Onsite Coding Questions from Google, Datadog & LinkedIn
Coverage: 1 exceptional candidate · SWE Intern · 3 companies · 6 coding questions · sources shared in 2024 · Google · Datadog · Linkedin
This note is almost two years late, haha. Back in 2024, a super lovely and supportive fren shared a bunch of sources with me. Some of them couldn’t be added to FastPrep at the time, so I told them I’d put those on our forum when it launched. Well… the forum never launched 😂
Almost two years later, I think today is finally a good time to bring these notes back and share them properly.
If this super lovely and supportive fren somehow comes across this two-years-late note someday, I just want to say a huge, huge thank you for all the help and support you gave me back then. I’m still incredibly grateful for all of it 🧡🫂.
November, 2024 ~ Datadog: three coding questions
1. Count Repeated Words
Given a paragraph, count how many distinct words appear more than once. Matching is case-insensitive, and the only punctuation is a period or comma.
One important scoring detail from the original notes: if "sun" appears twice, it contributes exactly 1 to the answer. The task is therefore counting repeated word types, not counting every duplicate occurrence.
2. Find First Common Availability
Evidence: Datadog SWE Intern interview · reported November 14, 2024.
Implement find_first_availability(slots_a, slots_b, dur), returning the earliest interval that works for both people and lasts for the requested duration. If no qualifying overlap exists, return an empty list.
The central observation is that two intervals overlap from the later start time to the earlier end time. With sorted availability lists, two pointers can examine the intervals in chronological order and advance whichever interval ends first.
The original notes preserved the two schedules, requested duration, earliest-result requirement, and empty-list behavior. The linked practice version makes sorting, non-overlap, and endpoint assumptions explicit for judgeability.
3. Word Dictionary with Wildcards
Design a data structure supporting:
add_word(word)search_word(word) -> bool
A search may be a literal word or contain periods. Each period acts as a wildcard representing any letter from a through z.
A trie is a natural fit. Literal characters follow one branch, while a wildcard requires searching every available child at that position. The important implementation detail is that a wildcard represents exactly one character—it does not behave like * and cannot match an empty string.
The original notes preserved the two operations and wildcard behavior. The operation-list interface used by the linked practice problem was added to make a stateful data structure testable by the judge.
November, 2024 Google: one question with three follow-up layers
4. Generate Unique Random Numbers
Evidence: Google SWE Intern process with three interviews · reported November 5, 2024.
The opening prompt was to implement gen(a, b, n), generating an array of size n containing unique numbers from a through b.
The original notes explicitly identified the intended solution as the Fisher–Yates shuffle and preserved three follow-ups:
- Make the time complexity deterministic.
- Use the function to construct a bingo card after receiving the relevant bingo rules.
- Generate
nbingo cards while ensuring that every card is unique.
Octobe, 2024 LinkedIn: two lower-detail recollections
5. Factor Combinations
Evidence: LinkedIn SWE Intern interview · reported October 14, 2024.
The original notes described this as:
“factorials (leetcode backtracking/dfs question)”
The linked problem cautiously interprets that note as Factor Combinations: enumerate the non-trivial ways to express a number as a product of factors greater than one.
This is a best-fit reconstruction from the original note wording, not a verbatim recovery of the original prompt. The exact input, expected ordering, and exclusions were not preserved.
The FastPrep version therefore makes nondecreasing combinations, deterministic output ordering, and the exclusion of the one-element combination containing the number explicit.
The main pruning idea is to try candidate factors beginning from the previous chosen factor. This prevents permutations of the same factorization from appearing as separate answers.
6. Intersection of Two Lists
The surviving note described this as:
“two lists intersection (also on leetcode I think)”
That phrase does not specify whether duplicates should be retained, whether output order matters, or whether “lists” means ordinary value lists rather than linked lists.
The linked FastPrep problem interprets it as a value-based set intersection between two lists. It returns each shared value once, in increasing order.
The straightforward solution stores one list in a set, checks elements from the other list, and deduplicates the result. If both inputs are already sorted, a two-pointer solution would also be worth discussing.
May you take root and stand resilient.
May you grow into a tree, embracing all that makes you uniquely you, reaching toward a sky of your own.

Comments
0No comments yet — be the first to share what you know.