Google interview experience Real time questions & tips from candidates to crack your interview

SWE

Google
upvote
share-icon
2 rounds | 5 Coding problems

Interview preparation journey

expand-icon
Journey
My journey in tech began with a deep curiosity for problem-solving, which led me to pursue Computer Engineering at Delhi Technological University. Starting with the basics in my first year, I focused on building a strong foundation in data structures and algorithms, often spending late nights practicing on coding platforms. Over time, I complemented my coursework with hands-on projects — ranging from developing full-stack web apps to engineering multi-agent AI platforms — which helped me bridge theoretical knowledge with real-world applications. Interning at Adobe as a Product Intern was a transformative experience, where I worked on optimizing multimodal LLMs and collaborated with talented teams in a fast-paced environment. This not only honed my technical skills but also taught me the importance of teamwork and adaptability. Along the way, I actively participated in coding competitions and hackathons, securing top ranks and learning from both wins and setbacks. Mentoring students and taking on leadership roles in college festivals further enriched my journey, teaching me the value of giving back and effective communication. Looking back, the journey from grasping the basics to cracking challenging interviews has been filled with continuous learning, perseverance, and a passion for innovation. I hope my story inspires others to embrace challenges, stay curious, and keep pushing their limits.
Application story
Google visited our campus for the Software Engineer role, and I applied through my college’s Resume Management (RM) portal. After my application was shortlisted, I cleared the first technical round and then proceeded to the second technical interview, which was more challenging. Unfortunately, I was not selected to move forward after the second round and did not get the chance to attend the final HR round. Throughout the process, all communication and scheduling were handled by the college placement cell through the RM portal.
Why selected/rejected for the role?
I was rejected after the second technical round because I was unable to fully solve the follow-up question within the allotted time. While I managed to approach the problem and explain my thought process, I couldn’t optimize my solution under the time constraints. This experience taught me the importance of practicing time management during interviews and quickly adapting to new problem variations. It was a valuable learning experience that highlighted areas for improvement in both speed and depth of problem-solving.
Preparation
Duration: 3 months
Topics: Data Structures and Algorithms, Object-Oriented Programming (OOPs), System Design, Dynamic Programming, Trees, Graphs, Operating Systems, Computer Networks
Tip
Tip

Tip 1: Practice at least 300 coding questions across different platforms to build problem-solving speed and accuracy.

Tip 2: Work on 2–3 real-world projects to strengthen your understanding of core concepts and demonstrate practical skills.

Tip 3: Regularly revise core CS fundamentals such as OOPs, OS, and DBMS, and participate in mock interviews to improve communication and time management.

Application process
Where: Campus
Eligibility: B. Tech - COE, IT, SE, MAC, EP, ECE, EE (Salary Package: 37 LPA)
Resume Tip
Resume tip

Tip 1: Quantify your achievements and impact using clear metrics (e.g., improved latency by 45%, achieved 97% accuracy).

Tip 2: Highlight leadership roles, open-source contributions, and major projects relevant to the role you’re applying for.

Interview rounds

01
Round
Hard
Video Call
Duration45 minutes
Interview date6 Aug 2024
Coding problem2

The interview was conducted in the afternoon via Google Meet. The environment was professional yet relaxed. The interviewer was friendly and began by introducing themselves and explaining the interview structure. They briefly asked about my background and projects before moving on to the technical problems. Throughout the interview, they provided helpful hints when I got stuck and were patient as I thought through my approaches.

1. Festival Peak Stalls

Easy
0/40
Asked in company
Google

A city festival is hosting N food stalls along its main street. Each stall i has a scheduled operation period, defined by a start time and an end time. A stall is considered "operating" at any given moment t if starttime <= t < endtime.


Your task is to find the maximum number of food stalls that are operating simultaneously at any point during the festival.


Problem approach

Step 1: I recognized this as an interval overlap counting problem, which can be efficiently solved using the line sweep algorithm.

Step 2: I created two separate arrays — one for all start times and another for all end times — and sorted both in ascending order.

Step 3: I explained that we can merge these sorted arrays into a single event array, where each event has a time and a type (start = +1, end = -1), then sort the events by time. For events occurring at the same time, I placed start events before end events.

Step 4: I wrote code to iterate through these sorted events, maintaining a counter that increased by 1 for each start event and decreased by 1 for each end event. This counter represented the number of active stalls at any given time.

Step 5: During the sweep, I tracked the maximum value of this counter, which represented the maximum number of simultaneously operating stalls.

Step 6: When asked about the time complexity, I explained that it is O(N log N) due to the sorting step, followed by a linear scan through the events.

Try solving now

2. Festival Peak Vendors

Hard
0/120
Asked in company
Google

A city festival has N food stalls. Each stall is defined by a start time, an end time, and a vendor type ('local' or 'guest'). A stall is considered "operating" at any time t if starttime <= t < endtime.


The city planner needs to allocate resources by determining the peak demand for each vendor type. Your task is to find two values:


1) The maximum number of local vendor stalls operating at the same time.


2) The maximum number of guest vendor stalls operating at the same time.


Problem approach

Step 1: I recognized this as a variation of the previous problem, requiring separate tracking for two different categories.

Step 2: I proposed separating the input data into two arrays — one for local vendors and one for guest vendors.

Step 3: For each category, I applied the same line sweep algorithm used in Problem 1: create event arrays with +1 for start events and -1 for end events, sort them, and perform the sweep.

Step 4: I maintained two separate counters — one for local vendors and one for guest vendors — and tracked the maximum value for each.

Step 5: I explained that this could also be solved with a single sweep by using a combined event array containing all events, while adding a type field to each event. This would allow us to increment the appropriate counter based on the vendor type.

Step 6: When asked about the time complexity, I explained that it remains O(N log N) due to the sorting step, even with the additional categorization.

Step 7: I also discussed how this approach could be generalized to handle any number of categories if needed.

Try solving now
02
Round
Hard
Video Call
Duration60 minutes
Interview date6 Aug 2024
Coding problem3

The interview was conducted in the afternoon via Google Meet. The environment was professional yet challenging. The interviewer began with a brief introduction and then moved directly to a complex dynamic programming problem. After the coding challenge, they asked two behavioral (“Googliness”) questions to assess cultural fit. The interviewer was thorough in their evaluation, asking follow-up questions to understand my thought process and challenging my assumptions at each step.

1. Sinbad's Journey

Easy
0/40
Asked in company
Google

Sinbad is traveling along a path of N points, numbered 0 to N-1. He starts at point 0 with an initial energy E and aims to reach the final point N-1.


Along the path, there are two factors that affect his journey:


1) Energy Stations: An array energy where energy[i] is the amount of energy Sinbad gains upon arriving at point i. He can only gain energy from a station once.


2) Wind: An array wind where wind[i] is the wind speed at point i. The wind affects the cost to travel from point i to i+1.
If wind[i] is positive (helpful wind), the cost to move is 0.


If wind[i] is negative (hindering wind), the cost to move is 1 + abs(wind[i]).


If wind[i] is zero, the base cost to move is 1.


On each day, Sinbad is at a point i and attempts to move to i+1.


1) If his current energy is greater than or equal to the travel cost, he pays the cost, moves to point i+1, and then immediately gains the energy energy[i+1] from the new point.


2) If his current energy is less than the travel cost, he is stuck and cannot move. The journey fails.


Your task is to find the maximum energy Sinbad can have upon arriving at point N-1. If he can never reach the final point, return -1.


Problem approach

Step 1: I recognized this as a dynamic programming problem, where we need to make optimal decisions at each point to maximize final energy.

Step 2: I defined a state DP[i][j] to represent the maximum energy Sinbad can have at point i on day j.

Step 3: For each day and each point, we have two choices: move forward (if enough energy) or stay at the current position.

Step 4: I formulated the recurrence relation:
If moving: DP[i+1][j+1] = max(DP[i+1][j+1], DP[i][j] - energy cost + energy[i+1])
If staying: DP[i][j+1] = max(DP[i][j+1], DP[i][j])

Step 5: I initialized DP = E (initial energy) and filled the DP table using bottom-up approach.

Step 6: I explained the time complexity as O(N²), where N is the number of points, and space complexity as O(N²).

Step 7: The interviewer asked me to optimize, and I suggested that we could reduce the state space by observing that Sinbad would never benefit from staying at a point for multiple consecutive days.

Try solving now

2. Team Management

How would you manage a situation where a team member is not supportive of the team’s goals and is creating obstacles for others? Provide specific strategies you would use to address this situation while maintaining team cohesion.

Problem approach

Tip 1: Use the STAR method (Situation, Task, Action, Result) to structure your response with a clear, concrete example.
Tip 2: Emphasize communication, empathy, and understanding the root cause before taking action.
Tip 3: Demonstrate both leadership skills and a willingness to collaborate in finding solutions.

3. Decision Making

Describe a situation where you had to make a difficult decision that affected multiple stakeholders with conflicting interests. How did you approach the decision-making process, and what factors did you take into consideration?

Problem approach

Tip 1: Focus on your analytical approach to balancing different stakeholder needs while keeping the company's goals in mind.
Tip 2: Highlight your ability to gather diverse perspectives and incorporate feedback before making decisions.
Tip 3: Demonstrate your skills in communicating difficult decisions effectively and managing the aftermath.

Here's your problem of the day

Solving this problem will increase your chance to get selected in this company

Skill covered: Programming

Which SQL clause is used to specify the conditions in a query?

Choose another skill to practice
Similar interview experiences
company logo
SDE - Intern
2 rounds | 4 problems
Interviewed by Google
1713 views
0 comments
0 upvotes
company logo
SDE - 1
4 rounds | 5 problems
Interviewed by Google
4290 views
0 comments
0 upvotes
company logo
SDE - 1
3 rounds | 5 problems
Interviewed by Google
1931 views
0 comments
0 upvotes
company logo
SDE - Intern
2 rounds | 3 problems
Interviewed by Google
10151 views
4 comments
0 upvotes