Google interview questions and process for freshers
Google hires freshers in India through campus hiring, internships and new-graduate roles on its careers site. Here is how its process commonly works and how to prepare.
Practise a Google-style mock interview with Sam
Sam, our AI interviewer, asks Google-style questions out loud, follows up on your answers and gives you an honest scorecard. Free to start.
How the Google interview usually goes
Based on what candidates commonly report. The process changes by year, role and campus, so always check the official Google careers page and your drive's notification.
- 1
Online assessment
Commonly used in campus hiring: algorithmic coding problems.
- 2
Technical interviews
Several rounds of data structures and algorithms. You talk through your approach, write code in a shared editor or document, test it and analyse its complexity.
- 3
Googleyness and leadership
A behavioural interview about how you work with others, handle ambiguity and learn.
Technical questions freshers are commonly asked
Google interviews for freshers lean on data structures and algorithms and problem solving: you are expected to reason out loud, reach an efficient solution, write working code and analyse its complexity. Expect deep questions on your projects too. Problems are often open-ended, so asking clarifying questions and testing your own code are part of the evaluation.
- Q1.
Explain your final-year (or best) project.
Cover the problem, your own part, the tech stack and why you chose it, one hard bug or decision, and what you would improve. Expect follow-ups on anything you name, so only list what you can defend.
- Q2.
What is the time and space complexity of your solution?
Expect this after every coding question. Count how the work grows with input size (nested loops over n are O(n²), halving is O(log n), sorting is O(n log n)), and include the extra memory your data structures and recursion use.
- Q3.
Two sum: find two numbers in an array that add up to a target.
Scan once with a hash map from value to index: for each x, check whether target - x is already in the map. That is O(n) time and O(n) space, versus O(n²) for checking every pair. If the array is sorted, two pointers work in O(1) space.
Hash maps & sets - Q4.
Find the length of the longest substring without repeating characters.
Use a sliding window with a map of each character's last index: extend the right end, and when a character repeats inside the window, move the left end past its previous position. O(n) time.
Sliding window - Q5.
Implement binary search. What is its complexity?
On a sorted array, compare the target with the middle element and discard the half that can't contain it: O(log n). Compute mid as low + (high - low) / 2 to avoid overflow, and be careful with the loop condition and boundaries.
Binary search - Q6.
Merge overlapping intervals.
Sort the intervals by start time, then walk through them: if the next interval starts before the current one ends, extend the current end; otherwise start a new interval. O(n log n) because of the sort.
Intervals - Q7.
Count the number of islands in a grid of 1s (land) and 0s (water).
Scan the grid; each time you find unvisited land, count an island and flood-fill all connected land with DFS or BFS, marking it visited. O(rows × columns).
Trees & graphs - Q8.
Detect a cycle in a linked list.
Use Floyd's fast and slow pointers: slow moves one step, fast moves two. If they ever meet there is a cycle; if fast reaches null there isn't. O(n) time, O(1) space.
Cycles & the middle node - Q9.
Find the maximum subarray sum.
Kadane's algorithm: keep the best sum ending at the current index, current = max(x, current + x), and track the overall maximum. O(n) time, O(1) space; check how it handles an array of all negative numbers.
Dynamic programming - Q10.
Find the k largest (or most frequent) elements.
Keep a min-heap of size k: push each element and pop the smallest whenever the heap grows past k. That is O(n log k). For the most frequent elements, count with a hash map first.
Heap / priority queue - Q11.
Reverse a singly linked list.
Walk the list with prev, curr and next pointers: save curr.next, point curr.next at prev, then move prev and curr one step forward. O(n) time, O(1) space; be ready to write the recursive version too.
Reversing a linked list - Q12.
Design an LRU (least recently used) cache.
Combine a hash map (key to node) with a doubly linked list ordered by use: get and put move the node to the front, and when the cache is full you evict from the back. Both operations are O(1).
Designing an LRU cache - Q13.
How does a hash map work internally?
A hash function maps each key to a bucket index. Collisions are handled by chaining (a list per bucket; Java 8+ turns long chains into balanced trees) or by open addressing. Lookups are O(1) on average and O(n) in the worst case; the table resizes as it fills up.
Hash maps & sets - Q14.
Count the ways to climb n stairs taking 1 or 2 steps at a time.
Ways(n) = Ways(n - 1) + Ways(n - 2), since the last step was either 1 or 2. Build it bottom-up with two variables: O(n) time, O(1) space. Explaining the recurrence matters more than the code.
Dynamic programming - Q15.
Print a binary tree level by level.
Breadth-first search with a queue: at each step note the queue's current size, pop that many nodes as one level and push their children. O(n) time.
Trees & graphs
Google HR interview questions
- 1.
Tell me about yourself.
60 to 90 seconds: your degree, one or two projects or skills that fit the role, and what you want next. Don't read out your resume.
Tell me about yourself - 2.
Why should we hire you?
Match two or three of your strengths to the role, each backed by proof such as a project, an internship or a result.
- 3.
What are your strengths and weaknesses?
Pick a real strength with an example, and a real but non-critical weakness along with what you are doing to improve it.
- 4.
Why Google?
Be genuine and specific: a product you use, a kind of problem you want to work on, or something you learned from Google's engineering work.
- 5.
Are you open to relocating?
Answer honestly; check the job description for the location. If you have a constraint, say so politely and early.
- 6.
Where do you see yourself in five years?
Talk about growing your skills and responsibility in a way that could plausibly happen at this company, not about leaving it.
- 7.
Tell me about a challenge you faced and how you handled it.
Use STAR: the situation, your task, the actions you took and the result, with the focus on what you did.
The STAR method - 8.
Tell me about a time you disagreed with a teammate.
Show that you listened, argued with facts and kept the team moving; end with what you learned.
Conflict & teamwork - 9.
Do you have any questions for us?
Always ask one or two, for example about training, the team you would join, or what a good first year looks like.
Questions to ask the interviewer
How to prepare for the Google interview
- 1.
Practise DSA steadily
Arrays and hashing, two pointers, sliding window, stacks, binary search, linked lists, trees and graphs, heaps and dynamic programming. Learn the patterns, not just individual problems.
Study notes - 2.
Think out loud
Clarify the problem, give a brute-force idea, improve it, state the complexity, then code and test with edge cases. Interviewers score your reasoning, not just the final code.
- 3.
Go deep on one or two projects
Be ready for why you made each design choice, what broke, how it would scale, and what you would change.
- 4.
Don't skip CS fundamentals
DBMS (indexes, transactions), OS (processes, threads, deadlocks) and networking still come up, especially in project discussions.
SQL notes - 5.
Keep aptitude sharp for online tests
Some online assessments include aptitude or reasoning alongside coding. The Daily Quiz keeps it warm in three minutes a day.
Daily Quiz - 6.
Prepare behavioural stories
Have three or four STAR stories ready: a challenge, a failure, a conflict and something you owned.
The STAR method - 7.
Check the official details
Roles, eligibility and the process differ by team and year. Read the job description and the official Google careers page.
Practise a Google-style mock interview with Sam
Sam, our AI interviewer, asks Google-style questions out loud, follows up on your answers and gives you an honest scorecard. Free to start.
Frequently asked questions
Does Google ask system design to freshers?
Fresher and intern interviews generally focus on data structures and algorithms plus a behavioural round, not full system design. Check the job description for your role.
What is the Googleyness interview?
A behavioural round about collaboration, handling ambiguity, learning and doing the right thing. Prepare specific stories from projects, internships or college.
Which programming language should I use in the Google interview?
Any mainstream language you are fluent in (C++, Java, Python, JavaScript or Go) is usually fine for coding rounds. Pick one and know its standard collections well.
Can I practise a Google-style mock interview?
Yes. On InterviewSam you can set Google as the target company and Sam, our AI interviewer, runs a mock interview by voice in that style, then gives you an honest scorecard. You need a free account; the study notes and aptitude practice need no login.
InterviewSam is not affiliated with Google. This page summarises commonly reported interview experiences to help you prepare; for eligibility, test patterns and dates, rely on Google's official careers page.