Global MNC · Bengaluru
Google India interviews are DSA-intensive across 4–5 rounds plus system design and behavioral. FAANG-level preparation is essential.
Process: Phone Screen → DSA × 4 → System Design → Behavioral
What is the typical Google interview process and how many rounds should you expect?
Tip: Google India: recruiter screen → 1 phone interview → 4–5 onsite rounds (DSA × 3, system design × 1, behavioral/Googleyness × 1). Total timeline: 4–8 weeks. Each interviewer submits independent feedback — any strong no-hire can block an offer.
How would you find the kth largest element in an unsorted array efficiently?
Tip: Optimal: QuickSelect algorithm, O(n) average time (Lomuto partition). Alternative: min-heap of size k, O(n log k). Sorting is O(n log n) — too slow for large n. Google DSA rounds test both the approach and your ability to discuss trade-offs.
Design a URL shortener system like bit.ly.
Tip: Core components: base-62 encoding of an auto-increment ID, read-heavy KV store (Redis), redirect via 301/302. Scale: ~100M URLs → distribute across shards. Handle: custom aliases, expiry, analytics counters. Google system design rounds test depth — discuss CAP theorem tradeoffs.
Given a binary tree, write code to find the lowest common ancestor of two nodes.
Tip: Recursive: if root is null or equals p or q, return root. Recurse left and right. If both return non-null, root is LCA. If only one returns non-null, that is LCA. Time O(n), space O(h). Google favors clean recursive solutions with edge case handling.
What is Googleyness and how do you demonstrate it in an interview?
Tip: Googleyness: comfort with ambiguity, genuine curiosity, collaborative spirit, and intrinsic motivation to have impact. Don't rehearse Googleyness — interviewers detect performance. Real examples of working through an open-ended problem or failing fast and iterating are what land offers.
Explain how a hash table works internally, including collision resolution.
Tip: Hash function maps key → bucket index. Collision resolution: (1) Chaining — linked list at each bucket, O(1) average, O(n) worst. (2) Open addressing — linear/quadratic probing or double hashing. Java HashMap uses chaining with treeification (LinkedList → Red-Black tree when bucket > 8 entries).
How would you implement a rate limiter for a distributed API service?
Tip: Algorithms: Token bucket (smooth bursts), sliding window log (accurate, memory-heavy), sliding window counter (approximate, memory-efficient). Distributed: store counters in Redis with atomic INCR + EXPIRE. Synchronisation between nodes is the key challenge — discuss eventual consistency.
Given an integer array, find all pairs that sum to a target value.
Tip: HashSet approach: iterate, check if (target - current) is in the set, add current to set. O(n) time, O(n) space. Two-pointer on sorted array: O(n log n) time, O(1) space. Google prefers the hash approach in interviews — discuss both and when to use each.
What is the difference between BFS and DFS? When does each give the optimal solution?
Tip: BFS: explores level-by-level using a queue — optimal for shortest path in unweighted graphs. DFS: explores depth-first using a stack/recursion — optimal for cycle detection, topological sort, connected components. Both O(V + E) time.
Tell me about a time you disagreed with a technical decision and how you handled it.
Tip: Use STAR. Google values direct but respectful disagreement. Show: you made a data-backed case, listened to the other perspective, and ultimately supported the team's decision even if yours wasn't chosen. 'Disagree and commit' is a healthy engineering culture trait.
Google India interviews follow a 5-round process. Here is what to expect and how to prepare for each stage.
Upload your resume and get questions scored across technical depth, communication, structure, confidence, and relevance — the same criteria Google panels use.