Google's software engineering interview is mostly about how you think through a problem, not whether you have memorised the answer. Interviewers watch how you clarify the question, compare approaches, write clean code and test it. One round also checks "Googleyness": how you work with people.
This guide covers the Google hiring process in India and 25 commonly asked Google interview questions with short answers.
Google hiring process at a glance (Software Engineer)
- Apply through careers.google.com, campus hiring, or a referral.
- Recruiter call: background, interests and level.
- Online assessment or phone screen: 1–2 coding problems in a shared doc or editor.
- Interview loop: usually 4–5 rounds of about 45 minutes. Most are coding. One is Googleyness and Leadership. Experienced candidates (L4+) also get system design.
- Hiring committee: a group that did not interview you reviews all the feedback and decides.
- Team match: you talk with teams that have open roles before the final offer.
Levels and pay
New graduates usually join at L3, and experienced engineers at L4 or L5. Google pays base salary, a bonus and stock (GSUs). Total pay varies a lot by level, so check recent data on salary-sharing sites and compare the full package.
How Google scores you
- General cognitive ability: how you break down an open-ended problem.
- Role-related knowledge: data structures, algorithms, and design for senior roles.
- Leadership: stepping up, helping others, and driving decisions.
- Googleyness: comfort with ambiguity, humility, collaboration and doing the right thing.
Google coding interview questions
Always start by asking clarifying questions and stating your approach before you code. Then walk through a test case.
- Find the longest palindromic substring.
Expand around each centre (both odd and even lengths). O(n²) time, O(1) space. - Given a list of meetings, find the minimum number of rooms needed.
Sort by start time and use a min-heap of end times. - Design an autocomplete for a search box.
Use a trie. Store the top suggestions at each node for fast lookups. - Find the shortest path in a grid with obstacles.
BFS from the start. If you can remove k obstacles, add the remaining k to the state. - Merge overlapping intervals.
Sort by start, then merge whenever the next start is less than or equal to the current end. - Serialize and deserialize a binary tree.
Pre-order traversal with null markers, then rebuild recursively. - Find the kth largest element in an array.
Min-heap of size k (O(n log k)) or quickselect (O(n) on average). - Count the islands in a grid after each new land addition.
Union-find, merging neighbours as each cell becomes land. - Find the longest increasing path in a matrix.
DFS with memoization from each cell. - Given a dictionary, check whether a string can be split into valid words.
Dynamic programming over prefixes (word break). - Find the next greater element for each item in an array.
Monotonic stack. O(n). - Alien dictionary: find the letter order from sorted words.
Build a graph from the first differing letters, then topologically sort.
Googleyness and leadership questions
- Tell me about a time you worked with a difficult teammate.
Show empathy, what you did to understand them, and the outcome. - Tell me about a time you had to make a decision with unclear requirements.
Explain how you reduced the ambiguity: questions, small experiments, checkpoints. - Tell me about a time you received critical feedback.
Show that you listened, changed something, and followed up. - Tell me about a time you helped someone grow.
Mentoring, code reviews, or unblocking a teammate. - Describe a project you are proud of and why.
Focus on the impact on users, not just the tech. - How would you handle a teammate cutting corners on quality?
Raise it privately and respectfully, focusing on the user impact.
Google system design questions (L4 and above)
- Design YouTube or a video streaming service.
Cover upload, transcoding, CDN delivery, metadata storage and recommendations at a high level. - Design Google Drive.
File chunking, sync, versioning, sharing permissions and storage replication. - Design a rate limiter.
Token bucket or sliding window, stored in a fast shared cache. - Design a web crawler.
URL frontier, politeness rules, de-duplication and distributed workers.
CS fundamentals Google may ask
- What is the time complexity of common hash map operations?
O(1) on average and O(n) in the worst case. - What is the difference between BFS and DFS, and when would you use each?
BFS finds the shortest path in unweighted graphs. DFS is good for exploring all paths and for detecting cycles. - What is a race condition and how do you avoid it?
Two threads changing shared data at once. Avoid it with locks, atomic operations or immutable data.
How to prepare for Google in 6 weeks
- Weeks 1–2: Core data structures: arrays, hashing, trees, graphs, heaps.
- Weeks 3–4: Harder patterns: DP, union-find, tries, monotonic stacks.
- Week 5: Mock interviews in a plain doc with no autocomplete, the way Google screens are often run.
- Week 6: Googleyness stories (STAR method) and system design if L4+. See our machine learning interview questions guide if you are targeting ML roles.
Want a shortcut? Get a referral
Google gets a huge number of applications, and a referral helps your resume get read. See our guide on how to get a job referral at Google India (with a list of referrers).
Frequently asked questions
How many rounds are there in the Google interview?
Usually a phone screen or OA, then 4–5 interviews, followed by a hiring committee review and team matching.
Which language should I use?
Any mainstream language you know well. Python, Java and C++ are the most common.
How long does the process take?
Often 4–8 weeks, sometimes longer because of team matching.
Preparing for other companies too?
See our Amazon interview questions guide.
Find jobs at Google and similar companies
Browse open roles on Weekday: verified companies, active hiring teams, and filters for experience, location and salary.




