Google | 9 months Experience | Software Engineer

google logo
google
software engineer0.75 yearsRejected
July 17, 20221 reads

Summary

I interviewed for a Software Engineer position at Google, undergoing multiple coding rounds and a behavioral assessment. Despite performing well enough to receive 'Leaning hire' ratings in my technical rounds, I was ultimately rejected. Although offered reconsideration, I withdrew from the process after accepting an offer from another company.

Full Experience

Background

I graduated in 2021 and had 9 months of experience when a Google recruiter reached out to me in April 2022. Interestingly, I received this call on the same day I got a rejection email from another company. The recruiter gave me 3-4 weeks to prepare for the onsite rounds, which were scheduled for May 2022. All my interviewers were from Google's Zurich office in Switzerland, and sometimes I struggled to understand their questions due to their accent. However, it was a good experience because I could ask questions until I fully understood. The Google recruiter was incredibly helpful, discussing strategies with me and offering advice on coding practices and what to focus on during the interview.

First Onsite Round

I felt a lot of pressure during this round, which unfortunately prevented me from thinking optimally, and I ended up writing a lengthy, less efficient code. The optimal solution only occurred to me after the interview had concluded. The result for this round was 'Leaning hire'. After this round, I felt underprepared for Google and stopped preparing for a while.

Second Onsite Round (one week later)

This round also resulted in a 'Leaning hire'.

Third Onsite Round (two days later)

This round too resulted in a 'Leaning hire'.

Fourth Onsite Round (one week later)

This was a 'Googlyness' round, focusing on behavioral aspects.

Final Result

Ultimately, I received a rejection. However, the recruiter offered to schedule two more coding rounds for reconsideration. By then, I had already joined another firm, so I was unable to proceed with the additional rounds.

Overall, giving a Google interview was a unique experience, and I hope to clear it successfully next time.

Interview Questions (7)

Q1
Max Length Straight Line in 2D Array
Data Structures & Algorithms

Given a 2D array consisting of 0s and 1s, count the maximum length of a straight line formed by contiguous 1s. The line can be oriented diagonally, anti-diagonally, horizontally, or vertically.

Q2
Count Paths in 2D Array (Bottom-Left to Bottom-Right)
Data Structures & Algorithms

Given a 2D array, count the number of possible paths from the bottom-left corner to the bottom-right corner. Movement is allowed horizontally, diagonally, or anti-diagonally.

Q3
Count Paths with Obstacles in 2D Array
Data Structures & Algorithms

This is a follow-up to the previous question. Given a 2D array and a list of 'bad indices' (i,j) which should not be present in any path, find the total number of paths from the bottom-left corner to the bottom-right corner, allowing horizontal, diagonal, or anti-diagonal movement, while avoiding all 'bad indices'.

Q4
Count Pairs with Absolute Difference Equal to Index Difference
Data Structures & Algorithms

Given an array a of n elements, find the total count of pairs of indices (i, j) such that |a[i] - a[j]| = i - j.

Q5
Count Pairs with Absolute Differences Equal
Data Structures & Algorithms

This is a follow-up to the previous question. Given an array a of n elements, find the total count of pairs of indices (i, j) such that |a[i] - a[j]| = |i - j|.

Q6
Divide Two Integers without Division Operator
Data Structures & Algorithms

Implement integer division without using multiplication, division, or modulo operators.

Q7
Googlyness Round
Behavioral

This behavioral round assesses alignment with Google's culture and values, focusing on aspects like teamwork, leadership, problem-solving approach, and how one embodies 'Googly' principles.

Preparation Tips

Points to Remember for Preparing Coding Rounds:

  • I focused my preparation heavily on Data Structures and Algorithms.
  • I tried to solve problems as independently as possible.
  • I proactively considered optimizing my solutions.
  • Before coding, I thought about tradeoffs and overlapping replacements in algorithms.
  • It's crucial to be vocal and verbalize your thought process; never be silent.
  • I made sure to proactively think of a variety of test cases, rather than waiting for the interviewer to prompt me.
  • I kept a tab on my coding speed, considering the 45-minute slot for each round.

Before the Google Interview, some points I learned to keep in mind:

  • Always ensure you understand the question properly, without any lingering doubts.
  • If I had doubts, I made sure to ask for clarification.
  • Interviewers also check if you can identify missing parameters in a question; sometimes they intentionally omit details, expecting you to ask for them.
  • It's acceptable to ask for hints if you get stuck.
  • Never forget base cases (I made this mistake in one round).
  • Always dry run your code first before telling the interviewer you're done.
  • Always use an optimized data structure.
  • Have a clear understanding of which data structure is appropriate for the problem.
  • Discuss time and space complexity with your interviewer before writing any code.
  • Write production-level code, organizing it into short modules.
  • Aim for bug-free code.
Discussion (0)

Share your thoughts and ask questions

Join the Discussion

Sign in with Google to share your thoughts and ask questions

No comments yet

Be the first to share your thoughts and start the discussion!