Got the offerL4 at Google
- Difficulty
- Process took
- 6+ Weeks
- Rounds
- 4
- Format
- Remote
- Applied via
- Company Website
How it went
- Don’t rush through your answers, In both technical and behavioral rounds, it’s important to take your time to think and articulate your thoughts clearly.
What they would tell you
- Don’t rush through your answers, In both technical and behavioral rounds, it’s important to take your time to think and articulate your thoughts clearly.
How to prepare
- Practice daily DSA and system design prep, focus on both breadth and depth.
- Prepare your stories, reflect on your career, failures, wins, and moments of growth Keep them honest and concise.
Their background
I’m currently a Software Engineer with 4+ years of experience working with Java, Python, and cloud technologies
Round by round
- 1
Phone Screening Round60 min
The first interaction was a phone screen with a Google engineer. This round was focused on evaluating my coding skills and my approach to solving problems. Problem: Evaluate Mathematical Expressions with Embedded Operations The task was to simplify Mathematical expressions involving embedded operations. For example:
- x - (y - z) simplify to x - y + z
- x + (y - x) simplify to y My approach in breaking down the operations and ensuring the correct precedence while simplifying the expressions. Follow-up - How to handle expressions that involved nested parentheses more efficiently
- 2
Technical Coding 160 min
The onsite interview, three rounds. In this round, I was asked to design and implement a BookManager class. I had to create a BookManager class with the following core functionalities:
- insert(bookNumber, score): This would add a new book along with its associated score.
- get(): This function should return the book with the highest score. However, after a book is retrieved, its score decreases by 1, and it becomes temporarily ineligible for the next get() call. Follow-up: Once a book is retrieved, it should remain ineligible for the next n get() calls, not just one.
- 3
Technical Coding 260 min
I was presented with a stream of tuples in the format (timestamp, message)—all arriving in non-decreasing timestamp order. The task was to display a message only if it hadn’t been shown in the last 10 seconds. Example Behavior:
- (10, "solar panel activated") → show
- (11, "low battery warning") → show
- (12, "tire one: low air pressure") → show
- (13, "solar panel activated") → suppress (last shown at 10)
- (21, "solar panel activated") → show (21 − 10 = 11)
- (35, "solar panel activated") → show (35 − 21 = 14) To solve this, I used an eviction-based logic, where I kept track of the last shown timestamp for each message. If a message had been displayed within the last 10 seconds, it was suppressed; otherwise, it was shown and the timestamp was updated. I emphasized that the time complexity of the displayMessage() method was O(1), as it simply checked and updated a hash map.
- 4
Googleyness + Behavioral60 min
More on my fit with Google's culture
- Tell me about a time when you had to take ownership of a project.
- How do you handle disagreements in a team?
- Tell me about a time you worked under pressure to meet tight deadlines. In this round, the interviewer wanted to gauge how well I aligned with Google’s Leadership Principles. I made sure to use the STAR method to structure my answers and provide detailed examples from my past experiences.
What came up
A candidate-reported account, lightly edited. Interview processes change by team and date.
Sources
Hiring now
Google has 52 open roles right now
landed applies to roles like these for you, on each company’s own site, with answers written for the role.
Small Business Field Sales Representative
Denver, Colorado
Senior Technical Program Manager, Special Projects
Denver, Colorado; Lakewood, Colorado, United States
10 free auto-applies. No card.
Or practice this interview first