Google Interview Prep

A structured study plan for Google software engineering interviews. Covers the most frequently asked coding problems, system design questions, and Googleyness behavioral expectations.

How to Use This Plan

Google interviews typically consist of 5 rounds: 2-3 coding rounds, 1 system design round (L5+), and 1 behavioral round assessing “Googleyness” and leadership. Coding rounds emphasize clean, optimal solutions with strong complexity analysis. Use this plan to cover all three areas.


Part 1: Coding Problems (Most Asked at Google)

Google emphasizes algorithmic thinking, optimal time/space complexity, and the ability to discuss trade-offs. Expect follow-up questions that increase constraints.

Arrays & Strings (High Frequency)

  1. Two Sum - Easy
  2. Best Time to Buy and Sell Stock - Easy
  3. Product of Array Except Self - Medium
  4. Container With Most Water - Medium
  5. Merge Intervals - Medium
  6. 3Sum - Medium
  7. Spiral Matrix - Medium
  8. Trapping Rain Water - Hard
  9. Longest Substring Without Repeating Characters - Medium
  10. Minimum Window Substring - Hard

Trees & Graphs (Very High Frequency)

  1. Maximum Depth of Binary Tree - Easy
  2. Invert Binary Tree - Easy
  3. Validate Binary Search Tree - Medium
  4. Binary Tree Level Order Traversal - Medium
  5. Kth Smallest Element in a BST - Medium
  6. Binary Tree Maximum Path Sum - Hard
  7. Serialize and Deserialize Binary Tree - Hard
  8. Number of Islands - Medium
  9. Course Schedule - Medium
  10. Word Ladder - Hard

Dynamic Programming (Medium-High Frequency)

  1. Climbing Stairs - Easy
  2. Coin Change - Medium
  3. Longest Increasing Subsequence - Medium
  4. Word Break - Medium
  5. Unique Paths - Medium
  6. Decode Ways - Medium

Sorting, Searching & Heaps

  1. Search in Rotated Sorted Array - Medium
  2. Find Minimum in Rotated Sorted Array - Medium
  3. Median of Two Sorted Arrays - Hard
  4. Top K Frequent Elements - Medium
  5. Kth Largest Element in an Array - Medium
  6. Find Median from Data Stream - Hard
  7. Merge K Sorted Lists - Hard

Stacks & Queues

  1. Valid Parentheses - Easy
  2. Daily Temperatures - Medium
  3. Largest Rectangle in Histogram - Hard

Backtracking & Recursion

  1. Combination Sum - Medium
  2. Word Search - Medium

Part 2: System Design (L5+ / Senior and above)

Google system design interviews test breadth of infrastructure knowledge and depth on trade-offs. They value clarity on consistency models, capacity estimation, and familiarity with distributed systems primitives.

Core Fundamentals

  1. URL Shortener — Hashing, database design, caching
  2. Rate Limiter — Distributed rate limiting at Google-scale
  3. Distributed Cache — Consistent hashing, Memcached patterns
  4. Web Crawler — Google’s bread and butter: crawling the web at scale

Google-Relevant Designs

  1. YouTube — Video upload, transcoding, CDN, recommendation (Google owns YouTube)
  2. Google Maps — Map tiles, routing, ETA, traffic data
  3. Google Docs — Real-time collaboration, OT/CRDT
  4. Twitter — Feed generation, fan-out (similar to Google’s social infrastructure)
  5. Dropbox — File sync, chunking (Google Drive analog)
  6. Uber — Geospatial indexing, matching (Google Maps integration)

Advanced

  1. Top-K — Heavy hitters, streaming algorithms (Google Search analytics)
  2. Job Scheduler — Distributed task scheduling (Borg/Kubernetes)

Supporting Concepts


Part 3: Googleyness & Leadership

Google’s behavioral round assesses “Googleyness” — a set of cultural traits that predict success at Google. This is distinct from traditional behavioral interviews.

What Google Looks For

Intellectual Humility — Willingness to change your mind when presented with new data.

  • “Tell me about a time you changed your technical approach based on someone else’s feedback.”
  • “Describe a situation where you were wrong about a technical decision.”

Collaborative Nature — Thriving in ambiguity with diverse teams.

  • “Tell me about a time you worked with someone who had a very different working style.”
  • “Describe how you navigated a disagreement with a teammate about a technical approach.”

Comfort with Ambiguity — Operating effectively when requirements are unclear.

  • “Tell me about a time you had to make progress on a project with unclear requirements.”
  • “Describe a situation where you had to define the problem before solving it.”

Bias Toward Action — Shipping iteratively rather than waiting for perfection.

  • “Tell me about a time you shipped something imperfect to learn from users.”
  • “Describe when you had to choose between moving fast and being thorough.”

Bringing Joy to the Team — Making the workplace better for others.

  • “How do you help maintain team morale during a challenging project?”
  • “Tell me about a time you mentored someone or helped a teammate grow.”

Leadership (L5+)

Driving Technical Direction — Influencing without authority.

  • “Tell me about a time you convinced your team to adopt a new technology or approach.”
  • “Describe a technical decision you made that impacted multiple teams.”

Navigating Organizational Complexity — Getting things done across teams.

  • “Tell me about a project that required coordination across multiple teams.”
  • “Describe how you resolved a situation where two teams had conflicting priorities.”

STAR Method Template

For each story, structure your answer as:

  • Situation: Set the context (1-2 sentences)
  • Task: What was your specific responsibility?
  • Action: What did YOU do? (This should be 60% of your answer)
  • Result: What was the measurable outcome? Include numbers when possible.

Prepare 8-10 distinct stories that demonstrate intellectual humility, collaboration, and technical leadership.