Skip to main content
Sproutern LogoSproutern
InterviewsGamesBlogToolsAbout
Sproutern LogoSproutern
Donate
Sproutern LogoSproutern

Your complete education and career platform. Access real interview experiences, free tools, and comprehensive resources to succeed in your professional journey.

Company

About UsContact UsSuccess StoriesHire Me / ServicesOur MethodologyBlog❀️ Donate

For Students

Find InternshipsScholarshipsCompany ReviewsCareer ToolsFree ResourcesCollege PlacementsSalary Guide

🌍 Study Abroad

Country GuidesπŸ‡©πŸ‡ͺ Study in GermanyπŸ‡ΊπŸ‡Έ Study in USAπŸ‡¬πŸ‡§ Study in UKπŸ‡¨πŸ‡¦ Study in CanadaGPA Converter

Resources

Resume TemplatesCover Letter SamplesInterview Cheat SheetResume CheckerCGPA ConverterIT CertificationsDSA RoadmapInterview QuestionsFAQ

Legal

Privacy PolicyTerms & ConditionsCookie PolicyDisclaimerSitemap Support

Β© 2026 Sproutern. All rights reserved.

β€’

Made with ❀️ for students worldwide

Follow Us:
    Explore More
    πŸ’ΌInterview ExperiencesπŸ’°Salary CalculatorπŸ“„Resume Guide
    Back to Google

    Google Interview Questions

    Complete collection of technical, behavioral, and coding questions asked in Google interviews. Master these to crack your Google interview.

    Technical (10) Googleyness (8) Coding (6) System Design (4)

    Technical Interview Questions

    Q1. What is the difference between a process and a thread?

    A process is an independent program in execution with its own memory space. A thread is a lightweight unit of execution within a process that shares the same memory. Processes are isolated and more resource-intensive, while threads allow parallel execution within a single process. Context switching between threads is faster than between processes.

    Q2. Explain how HashMap works internally in Java.

    HashMap uses an array of buckets with linked lists (or trees in Java 8+). Keys are hashed using hashCode(), and the index is calculated using hash % array_length. Collisions are handled via chaining. When load factor exceeds 0.75, the array is resized. Java 8 converts linked lists to red-black trees when bucket size exceeds 8 for O(log n) lookup.

    Q3. What is the CAP theorem?

    CAP theorem states that a distributed system can only guarantee two of three properties: Consistency (all nodes see the same data), Availability (every request receives a response), and Partition Tolerance (system continues despite network failures). In practice, partition tolerance is required, so systems choose between CP (like HBase) or AP (like Cassandra).

    Q4. Explain the difference between SQL and NoSQL databases.

    SQL databases are relational, use structured schemas, support ACID transactions, and use SQL for queries (MySQL, PostgreSQL). NoSQL databases are non-relational, schema-flexible, optimized for specific use cases: document stores (MongoDB), key-value (Redis), column-family (Cassandra), graph (Neo4j). NoSQL scales horizontally better but may sacrifice consistency.

    Q5. What is a distributed system and what challenges does it face?

    A distributed system is a collection of autonomous computers that appear as a single coherent system. Challenges include: network failures, latency, partial failures, consistency, ordering of events, consensus, and debugging complexity. Key concepts: replication, partitioning, consensus protocols (Paxos, Raft), vector clocks.

    Q6. Explain the concept of load balancing.

    Load balancing distributes incoming requests across multiple servers to prevent overload. Types: Round-robin (sequential distribution), Least connections (send to least busy), IP hash (consistent routing), Weighted (based on server capacity). Google uses advanced load balancing with Maglev and global anycast for its services.

    Q7. What are microservices and their advantages/disadvantages?

    Microservices architecture breaks applications into small, independent services. Advantages: independent deployment, technology diversity, scalability, fault isolation. Disadvantages: network latency, distributed system complexity, data consistency challenges, operational overhead. Google uses microservices extensively with gRPC for inter-service communication.

    Q8. Explain the concept of caching and cache invalidation strategies.

    Caching stores frequently accessed data for faster retrieval. Strategies: Write-through (write to cache and DB simultaneously), Write-back (write to cache first, async to DB), Write-around (write to DB only). Invalidation: TTL-based, event-based, LRU eviction. "There are only two hard things in CS: cache invalidation and naming things."

    Q9. What is eventual consistency and when would you use it?

    Eventual consistency guarantees that if no new updates are made, all replicas will eventually converge to the same value. Used when availability is prioritized over immediate consistency. Examples: social media feeds, shopping cart counts, DNS. Contrasts with strong consistency where reads always return the latest write.

    Q10. Explain MapReduce and its use cases.

    MapReduce is a programming model for processing large datasets across distributed clusters. Map phase: transforms input into key-value pairs. Reduce phase: aggregates values by key. Used for: log analysis, indexing, data transformation, machine learning. Google invented it but now uses more advanced systems like Flume and Dataflow.

    Googleyness & Behavioral Questions

    Pro Tip: Googleyness is as important as technical skills. Prepare 8-10 STAR stories covering collaboration, feedback, ambiguity, and user focus.

    Q1. Tell me about a time you had to work with incomplete information.

    Use STAR method. Describe a project where requirements were unclear. Show how you: gathered available data, made reasonable assumptions, validated with stakeholders, iterated based on feedback. Emphasize comfort with ambiguity and proactive information gathering. Google values people who can make progress despite uncertainty.

    Q2. Describe a situation where you received difficult feedback. How did you handle it?

    Share a genuine example of constructive criticism. Explain your initial reaction, how you reflected on it, and specific changes you made. Show intellectual humility and growth mindset. Google values people who seek feedback and genuinely improve from it, not those who become defensive.

    Q3. Tell me about a time you disagreed with a teammate or manager.

    Describe the disagreement respectfully. Focus on: understanding their perspective first, presenting data-driven arguments, finding common ground, accepting the final decision gracefully. Show you can challenge ideas while maintaining relationships. Google wants healthy debate, not conflict avoidance or stubbornness.

    Q4. Give an example of when you helped someone else succeed.

    Share a specific instance of mentoring, pair programming, or supporting a colleague. Describe the situation, your actions, and the positive outcome for them. Google values collaborative people who elevate their teams, not just individual contributors.

    Q5. Describe a project where you had to quickly learn something new.

    Choose an example showing learning agility. Explain your approach: resources used, questions asked, practice methods, timeline. Demonstrate curiosity and systematic learning. Google values continuous learners who can adapt to new technologies and domains quickly.

    Q6. Tell me about a time you went above and beyond for a user.

    Share an example where you prioritized user experience. Could be debugging a customer issue, improving accessibility, or anticipating user needs. Show empathy and user-first thinking. Google's mission is user-focused: "Focus on the user and all else will follow."

    Q7. How do you prioritize when everything seems important?

    Explain your framework: impact vs effort analysis, alignment with goals, stakeholder input, dependencies. Give a specific example. Show you can make tough tradeoffs and communicate them. Google moves fast and expects engineers to make good prioritization decisions independently.

    Q8. Describe a time when you had to push back on a stakeholder request.

    Share an example where you advocated for the right technical or product decision. Explain how you: understood their need, identified concerns, proposed alternatives, reached agreement. Show you can be diplomatic but firm when something matters.

    Coding Questions

    Q1. LRU Cache: Design and implement a Least Recently Used cache.

    class LRUCache {
      constructor(capacity) {
        this.capacity = capacity;
        this.cache = new Map();
      }
      
      get(key) {
        if (!this.cache.has(key)) return -1;
        // Move to end (most recently used)
        const value = this.cache.get(key);
        this.cache.delete(key);
        this.cache.set(key, value);
        return value;
      }
      
      put(key, value) {
        if (this.cache.has(key)) {
          this.cache.delete(key);
        }
        this.cache.set(key, value);
        // Evict oldest if over capacity
        if (this.cache.size > this.capacity) {
          const oldestKey = this.cache.keys().next().value;
          this.cache.delete(oldestKey);
        }
      }
    }
    
    // Time: O(1) for both get and put
    // Space: O(capacity)

    Q2. Find the longest substring without repeating characters.

    function lengthOfLongestSubstring(s) {
      const seen = new Map();
      let maxLength = 0;
      let start = 0;
      
      for (let end = 0; end < s.length; end++) {
        const char = s[end];
        if (seen.has(char) && seen.get(char) >= start) {
          start = seen.get(char) + 1;
        }
        seen.set(char, end);
        maxLength = Math.max(maxLength, end - start + 1);
      }
      
      return maxLength;
    }
    
    // Example: "abcabcbb" β†’ 3 ("abc")
    // Time: O(n), Space: O(min(m, n)) where m is charset size

    Q3. Merge K sorted linked lists efficiently.

    function mergeKLists(lists) {
      if (!lists.length) return null;
      
      // Min-heap approach using priority queue
      const minHeap = new MinPriorityQueue({ priority: x => x.val });
      
      // Add first node from each list
      for (const list of lists) {
        if (list) minHeap.enqueue(list);
      }
      
      const dummy = new ListNode(0);
      let current = dummy;
      
      while (!minHeap.isEmpty()) {
        const node = minHeap.dequeue().element;
        current.next = node;
        current = current.next;
        
        if (node.next) {
          minHeap.enqueue(node.next);
        }
      }
      
      return dummy.next;
    }
    
    // Time: O(N log K) where N is total nodes, K is number of lists
    // Space: O(K) for the heap

    Q4. Word Ladder: Find shortest transformation sequence.

    function ladderLength(beginWord, endWord, wordList) {
      const wordSet = new Set(wordList);
      if (!wordSet.has(endWord)) return 0;
      
      const queue = [[beginWord, 1]];
      const visited = new Set([beginWord]);
      
      while (queue.length) {
        const [word, level] = queue.shift();
        
        if (word === endWord) return level;
        
        // Try all single-character transformations
        for (let i = 0; i < word.length; i++) {
          for (let c = 97; c <= 122; c++) {
            const newWord = word.slice(0, i) + 
                            String.fromCharCode(c) + 
                            word.slice(i + 1);
            
            if (wordSet.has(newWord) && !visited.has(newWord)) {
              visited.add(newWord);
              queue.push([newWord, level + 1]);
            }
          }
        }
      }
      
      return 0;
    }
    
    // BFS guarantees shortest path
    // Time: O(MΒ² Γ— N), Space: O(M Γ— N)

    Q5. Design a rate limiter (sliding window counter).

    class RateLimiter {
      constructor(windowSizeMs, maxRequests) {
        this.windowSize = windowSizeMs;
        this.maxRequests = maxRequests;
        this.requests = new Map(); // userId -> [timestamps]
      }
      
      isAllowed(userId) {
        const now = Date.now();
        const windowStart = now - this.windowSize;
        
        if (!this.requests.has(userId)) {
          this.requests.set(userId, []);
        }
        
        const timestamps = this.requests.get(userId);
        
        // Remove expired timestamps
        while (timestamps.length && timestamps[0] <= windowStart) {
          timestamps.shift();
        }
        
        if (timestamps.length >= this.maxRequests) {
          return false;
        }
        
        timestamps.push(now);
        return true;
      }
    }
    
    // Usage: Allow 100 requests per minute
    const limiter = new RateLimiter(60000, 100);

    Q6. Serialize and deserialize a binary tree.

    function serialize(root) {
      const result = [];
      
      function dfs(node) {
        if (!node) {
          result.push('null');
          return;
        }
        result.push(node.val.toString());
        dfs(node.left);
        dfs(node.right);
      }
      
      dfs(root);
      return result.join(',');
    }
    
    function deserialize(data) {
      const values = data.split(',');
      let index = 0;
      
      function dfs() {
        if (values[index] === 'null') {
          index++;
          return null;
        }
        
        const node = new TreeNode(parseInt(values[index]));
        index++;
        node.left = dfs();
        node.right = dfs();
        return node;
      }
      
      return dfs();
    }
    
    // Preorder traversal ensures unique serialization
    // Time: O(n), Space: O(n)

    System Design Topics

    Design Google Search

    • β€’Web crawling at petabyte scale
    • β€’Inverted index for fast lookups
    • β€’PageRank for relevance ranking
    • β€’Query parsing and spelling correction
    • β€’Sharding by document ID
    • β€’Caching popular queries

    Design YouTube

    • β€’Video upload and transcoding pipeline
    • β€’CDN for global video delivery
    • β€’Recommendation system (collaborative filtering)
    • β€’Live streaming with adaptive bitrate
    • β€’View count with eventual consistency
    • β€’Comment system at scale

    Design Google Drive

    • β€’File chunking and deduplication
    • β€’Sync across devices (operational transforms)
    • β€’Sharing and permissions model
    • β€’Versioning and conflict resolution
    • β€’Metadata storage vs file storage
    • β€’Offline support

    Design Gmail

    • β€’Email storage and threading
    • β€’Spam detection (ML-based)
    • β€’Full-text search over billions of emails
    • β€’Push notifications
    • β€’Labels and filters
    • β€’IMAP/SMTP protocol handling

    Pro Tips for Google Interviews

    • 1.Practice on Google Docs - actual phone screens are conducted there. Get comfortable coding without autocomplete or syntax highlighting.
    • 2.Think aloud constantly. Google interviewers evaluate your problem-solving approach as much as the final answer.
    • 3.For system design, study Google's research papers: MapReduce, GFS, Bigtable, Spanner, and Borg. These reveal how Google thinks at scale.
    • 4.Many candidates succeed on their 2nd or 3rd attempt. There's a 6-month cooldown, so use rejection as learning and try again.

    Prepare More

    Google Careers

    Salary, teams, and benefits

    Mock Interviews

    Practice with AI feedback

    Interview Guide

    Complete preparation tips

    Related pages

    Research companies from multiple angles

    Interview pages rank better when comparison, salary, and practice intent stay tightly connected.

    Company Comparisons

    Compare

    Compare salary, culture, and interview difficulty side by side.

    Open page

    Interview Experiences

    Real stories

    Read real student experiences before a specific interview loop.

    Open page

    Interview Question Generator

    Practice

    Generate role-specific questions to practice beyond static lists.

    Open page

    Google Guide

    Flagship

    See how a top product-company guide is structured end to end.

    Open page
    Popular with students
    CGPA ConverterSalary CalculatorResume Score CheckerInterview Prep HubStudy in USA Guide
    Company research review
    Human reviewed
    Source-backed

    How Sproutern reviews company and interview guidance

    Company pages are strongest when they help readers prepare without pretending every interview loop is identical. We review employer-owned information first, then layer in patterns from verified candidate submissions and public hiring signals.

    Written by

    Premkumar M

    Founder, editor, and product lead at Sproutern

    View author profile

    Reviewed by

    Sproutern Company Research Team

    Editors reviewing interview patterns, hiring flows, and public company guidance

    Review standards

    Last reviewed

    March 6, 2026

    Freshness checks are recorded on pages where the update is material to the reader.

    Update cadence

    Rolling refreshes as interview patterns, salary signals, and hiring flows evolve

    Time-sensitive topics move faster when rules, deadlines, or market signals change.

    How this content is built and maintained

    We distinguish between employer-owned facts and candidate-reported experience. If the company states it publicly, we treat it as a primary source. If the insight comes from candidate reports, we present it as directional preparation guidance rather than a guaranteed script.

    • Official company careers pages and employer documentation are checked before we summarize application stages or eligibility expectations.
    • Candidate-reported patterns are reviewed for recency and consistency before they shape evergreen preparation advice.
    • Salary commentary is triangulated using multiple public signals whenever a single anecdote looks inflated or stale.
    Read our methodologyEditorial guidelinesReport a correction

    Primary sources and expert references

    • Official company careers pages and hiring documentation

      We rely on employer-owned material first when summarizing application flow, interview stages, or role expectations.

    • Verified candidate submissions and public interview signals

      Candidate reports are checked for plausibility, recency, and consistency before they influence evergreen guides.

    • Public market and compensation references

      Salary and hiring commentary is triangulated using multiple public references rather than a single anecdotal datapoint.

    Recent updates

    March 6, 2026

    Added named authorship and reviewer context to company hubs

    Company pages now make it easier to see who maintains the guidance, how candidate signals are treated, and where readers should verify employer-owned facts.

    Interview-pattern corrections

    When fresh reports conflict with older guidance, we review the employer-owned signal first and then update the preparation notes accordingly.

    Prefer the full policy pages? Read our public standards or contact the team if a major page needs a correction.Open standards