Google

Google

Leading technology company specializing in search, cloud, and AI.

4 Rounds ~21 Days Very Hard
Start Mock Interview

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 Engineer

Focuses on core competencies, system constraints, and clear communication.

Simulate

Unwritten Rules

Think Out Loud

Always explain your thought process before writing code or drawing architecture.

Practice Now