Leading technology company specializing in search, cloud, and AI.
4 Rounds
~21 Days
Very Hard
The Interview Loop
Recruiter Screen (30 min)
Standard fit check, behavioral questions, and resume overview.
Technical Loop (3-4 Rounds)
Deep dive into domain knowledge, coding, and system design.
Interview Question Bank
Software Engineer
•
Coding
•
medium
You are given a map represented as a 2D grid where 0 is a road, 1 is a building, and 2 is an EV charging station. Given a starting position, find the shortest path to an EV charging station. Follow-up: How would you optimize this if we have millions of queries per second for different starting positions on a static map?
#Graph Theory
#BFS
#Dynamic Programming
#Caching
Software Engineer
•
Coding
•
hard
Given a list of daily budgets and expected returns for various Google Ads campaigns, write an algorithm to allocate a total budget B to maximize the overall return. You can allocate partial budgets to campaigns, but returns diminish non-linearly.
#Dynamic Programming
#Greedy Algorithms
#Optimization
#Math
Software Engineer
•
Coding
•
medium
Implement a system for Google Calendar that takes in a list of N users' daily schedules (lists of busy intervals) and their working hours, and returns all available time slots of duration T where all N users can meet.
#Intervals
#Sorting
#Two Pointers
#Arrays
Software Engineer
•
Coding
•
hard
Design a data structure for Google Search autocomplete. It must support inserting a string with a frequency, and querying the top K most frequent strings that start with a given prefix. Optimize for query latency.
#Trie
#Priority Queue
#Design
#String Manipulation
Software Engineer
•
Coding
•
medium
Given a stream of user watch events on YouTube (user_id, video_id, timestamp, duration_watched), write a function to find the longest contiguous sequence of videos a user watched where they completed at least 90% of each video.
#Sliding Window
#Hash Map
#Stream Processing
Software Engineer
•
Coding
•
hard
You are building a feature for Google Docs. Given a string representing a document and a list of operations (insert, delete, replace at specific indices), apply the operations efficiently. How do you handle overlapping operations?
#String Manipulation
#Operational Transformation
#Design
Software Engineer
•
Coding
•
medium
Implement a thread-safe LRU (Least Recently Used) cache. This cache will be used in a high-throughput microservice. Explain how you would minimize lock contention.
#Concurrency
#Data Structures
#Linked List
#Hash Map
Software Engineer
•
Coding
•
hard
You are given a map represented as a weighted directed graph. You need to route an electric vehicle from point A to point B. The EV has a maximum battery capacity, and certain nodes have charging stations. Find the shortest path such that the EV never runs out of battery.
#Graphs
#Dijkstra's Algorithm
#State Space Search
Software Engineer
•
Coding
•
hard
Design a data structure for Google Search Autocomplete that supports adding new search queries, updating the frequency of a query, and retrieving the top 'k' most frequent queries that start with a given prefix in real-time.
#Trie
#Heap
#Hash Map
#Design
Software Engineer
•
Coding
•
medium
Given a list of Google Calendar events for 'n' users, where each event consists of a start and end time, and a required meeting duration 'k', find all available time slots where all 'n' users can attend a meeting.
#Intervals
#Two Pointers
#Sorting
Software Engineer
•
Coding
•
medium
You are given a stream of Google Ads click events. Implement a sliding window counter that returns the number of clicks in the exact last 5 minutes. The stream is highly concurrent.
#Concurrency
#Sliding Window
#Queues
#Data Streams
Software Engineer
•
Coding
•
hard
Given a 2D grid representing a Google Maps satellite image where '1' is land and '0' is water, find the minimum number of days to connect two disconnected islands. You can change one '0' to '1' per day.
#BFS
#DFS
#Matrix
Software Engineer
•
Coding
•
medium
You are given an array of integers representing the CPU load of a Google server cluster over time. Find the maximum contiguous subarray sum, but you are allowed to delete exactly one element to maximize the sum.
#Dynamic Programming
#Arrays
#Kadane's Algorithm
Software Engineer
•
Coding
•
medium
Implement a function to evaluate a mathematical expression given as a string (e.g., '3 + 5 / (2 - 1) * 4'). The expression can contain parentheses, and you must follow standard order of operations. This is used in Google Search's calculator widget.
#Stacks
#String Parsing
#Math
Difficulty Radar
Based on recent AI-sourced data.
Meet Your Interviewers
The "Standard" Interviewer
Senior EngineerFocuses on core competencies, system constraints, and clear communication.
SimulateUnwritten Rules
Think Out Loud
Always explain your thought process before writing code or drawing architecture.