Education + Jobs Hiring Website - 2025
0 like 0 dislike
54,134 views
All interview experiences for Google  can be found using the tag "google_interview_experiences" in the search bar.

Here is the link :https://www.desiqna.in/tag/google_interview_experiences
in Interview-Experiences by
edited by | 54,134 views

94 Answers

0 like 0 dislike

Google | L4 | Hyderabad | Sep 2021 [Reject]

Status: Member Technical Staff in a product Based company, Chennai
Position: L4 at Google
Location: Hyderabad
Date: Sep 2021

 

Contacted by Google Recruiter via LinkedIn and gave the contact details. Recruiter contacted me via Phone and informed me of the recruitment process at google and sent a link to apply to. Recruiter also sent links for preparation and suggested coding platforms like leetcode(Medium to hard Level suggested). Recruiter gave me a month to prepare for the Phone Interview.

 

Phone Interview :

 

The problem was divided into 3 parts and the interviewer added complexity one by one till the end. It is an LC-Medium difficulty problem. (Didn't see any related problem on leetcode ). If you know basic traversals you could easily solve it.

 

Recruiter contacted me via phone and informed me that the last round went well and wanted to proceed to scheduling the next 3 rounds of Onsite interviews out of 5 rounds. If the next 3 rounds trends positive then they will schedule for Googliness and final technical Interview.

 

For the phone Interview I was mostly concentrated on solving medium difficulty problems from Google Tagged questions for the last 6 months.

 

Onsite Interview

 

Round 1 : Coding

 

LC - Medium problem with find and replace on a string. Was able to solve all the edge cases within time. Feedback was positive from the recruiter.

 

Round 2 : Coding

 

LC - Hard problem based on 2d Grid. Was not able to solve it completely and the feedback was bad from the recruiter.

 

Round 3 : Coding

 

LC - Medium problem based on run-length encoding. Solved it within time covering all the edge cases. But the response from the recruiter was bad because the interviewer had another followup in mind. Interviewer has felt that I took much time in solving the easy part. This shocked me.

 

Recruiter contacted me again via phone and wanted to schedule the next 2 rounds and stressed that I need to do Extremely Well in the upcoming rounds because I had two bad rounds.

 

Round 4 : Googliness & Leadership

 

Standard G&L questions.

 

  • Assume your manager gives you a task to design a system. How would you do it ? How would you resolve ambiguity ?
  • Have you ever stepped up for the team ?
  • How do you resolve conflicts with your team members ?
  • Have you ever been in a situation where another team and yours were creating a similar product ? What happened ?

 

The feedback from the recruiter was positive. I had prepared well for this round using the STAR framework so nailed this round.

 

Round 5 : Coding

 

LC - Hard problem with binary tree traversal. Need to solve this in constant space. Even though I did it, the interviewer felt that I didn't do well because I missed some edge cases.

 

Feedback from the recruiter was negative and as I didn't meet the bar, my results were not sent to the Hiring Committee. The main negative from my side was the comprehension ability to explain my coding in a short time. Need to improve my ability to convey my thoughts quickly.

 

I prepared for 6 Months rigorously for Google and failed. But I got an offer from Amazon and accepted it. 

by Expert (147,280 points)
0 like 0 dislike

 November 20, 2021

Google | Phone Screen | Reject

Hi All,

 

I was interviewed at Google 2 weeks back, question was similar to "https://leetcode.com/problems/number-of-islands/" but due to nervousness I completly messed it up.
I came up with the approach right away but while coading dont know what happend..(in my mind: OMG I know this question..OMG I am giving interview of Google)...and then I forgot to write the most basic code..

 

By the end of interview I completed the code but I was already out of time

 

So wanted to tell everyone from my experience, just dont get nervous, just think "Google will never ask anything which you dont know"

 

Important thing is that you need to be focused and should be able to manage time.
And during an interview dont think you are giving interview of Google!!
Feeling bit low coz I coudnt solve the easiest question but I messed up, its life!!

by Expert (147,280 points)
0 like 0 dislike

Google -L4 Rejected

September 30, 2021

1st round - Given big integer array | find highest , lowest and latest numbers at any point(index).
follow up - delete integer at any index, find highest , lowest and latest at any point now.

 

Example :

 

array is like - 1, 4 , 5 ,2, 4
At the end
highest - 5
lowest - 1
latest - 4
Now, say 5 at index 2, 4 at index 4 is deleted
At the end, value changed to
Highest - 4
lowest - 1
latest - 2

 

2nd Round - delete string A from another string B until no string A left in B

 

example : B - abcbcddfg , A - bcd output - afg

 

3rd round - given list of string strList with a integer value , In each query, suffix and prefix is given . find the string from strList which have suffix and prefix given and having highest value if more than one string matches.

by Expert (147,280 points)
0 like 0 dislike

 

Google India | Onsite | L4 | Offer

October 18, 2021 

yoe 4+
Language: Java

 

My Preparation
1 month prep
Leetcode 70 questions 20 general, 50 from google questions asked in last 6 months LC. almost all I practiced were medium and hard

 

Learnings

 

Questions

 

  • Some questions dont have a single correct answer. They are open ended. Interviewer would like to see how you think of the problem and explaining why a solution you think of wont work will also be helpful
  • When you hear question, try to brainstorm edge cases and extent of problem for some time (approx 5 min)
  • Write test cases in start so you are clear of problem
  • I was asked to prove why the provided solution is optimal, so be crisp in your explanation.
    • I used to take a min to formulate argument and then say it aloud
  • Practicing leetcode really helped me in two aspects, it gave confidence and almost similar questions were asked
  • Mock interviews really help. It helps you understand where you get stuck in the interview process.

 

Coding

 

  • Practice coding without editor and try to follow the google style guides whenever possible
  • Create structs instead of using arrays to keep code clean and readable
  • I was pointed out for using List instead of Collection, but could be one of case but better to keep in mind
  • One of the questions asked was related to bytes and messed up a bit in byte operations in java
  • The coding editor provided is simple but helps you with braces and indentation, rest is yours
  • I wasn't asked to run the code but prep in a way that your code runs without any errors, since interviewers are very fast to point out
  • Make it a practice to read code and find errors before you say you are done.
    • In leetcode, you can do same before running the code for first time to practice
  • Prep to solve questions in 30 min on leetcode

 

Overall Interview Discussion

 

  • I am generally more talkative, so i used to take breaks and ask if i am thinking in the right direction to the interviewer if interviewer doesn't speak for 5 min. Not sure if this is good or bad so use your own judgement
  • Sometimes interviewers can get stuck on a solution, Do not get hyper that your interview is screwed. One bad interview is not always a bad sign, they will account for it. Keep calm and try to do as good as possible. The game is to be flexible

 

My Rounds: (Not sharing question details due to NDA )
Screening round
It was a simple question related to a LC medium in google list. The follow up was a open ended discussion and I had to prove why a brute force O(n) solution will be needed and logn binary search wont work.
Overall good round.
Got postive feedback in all aspects and decided to move on for the onsite. All the 5 rounds were scheduled in span of 3 days almost 20 days later

 

Coding round 1
Slight variation of LC hard problem. But I missed asking about variations to the problem and hence feedback was that I "overlooked some parts of the problem", but it is normal if you can work through solution. There were two follow-ups solved both quickly and coded for them
https://leetcode.com/problems/russian-doll-envelopes/

 

Coding round 2
This started with a java vs python discussion and we did some library coding for Iterators (almost like LLD) in java. I didnt understand the question properly as I misheard it. wasted like 5 min in that. My solution was working but minor errors. The way of writing code was something that interviewer didnt like, He asked me to clean up the logic, though I didnt understand what to clean up and told him so. Overall average feedback due to errors pointed by interviewer

 

Coding round 3
This I messed up. But had to do some mathematical calculations to prove bound of solution. It was similar to finding smallest missing positive integer in array.
https://leetcode.com/problems/first-missing-positive

 

Coding round 4
This was a simple greedy LC medium. Followups were also simple.
Similar to https://leetcode.com/problems/task-scheduler/

 

Googlyness

 

  • Behavioural round
  • Prepare general incidents from your current work. Your recrutier will share ample resources usually that is enough.
  • I'd recommend to write (or atleast speak aloud) your answers so you are crisp and sound confident
by Expert (147,280 points)
0 like 0 dislike

September 10, 2021

Google SWE Phone Interview (Reject)

Location - Google Ireland
YOE - 5 years
Role - SWE

 

I had a Google phone interview on 7th Sept 2021. The question asked was how to get maximum mutual friend suggestion on a social media.
For example, you should see a friend suggestion with maximum mutual friends.

 

I implemented it using BFS, by using a frequency map.

 

Node getMutualFriend(Node root){
	if(root == null || root.getFriends() == null){
		return root; 
	}
	HashMap<Node, Integer> freqmap = new HashMap<>();
	Deque<Node> queue = new ArrayDeque<>();
	
	queue.offer(root);
	
	while(!queue.isEmpty()){
		Node node = queue.poll();
		freqmap.put(node, freqmap.getOrDefault(node, 0 ));
		
		for(Node friend : node.getFriends()){
			queue.offer(friend);
		}
	}
	// logic to get maximum count mutual friend
	return freqmap.get(maxfriend);
}
by Expert (147,280 points)
0 like 0 dislike

Google L4 India [Reject]

December 23, 2021

Recently interviewed with Google India for L4 position. Can't discuss the exact questions, but can share the process.

 

Reached out by the recruiter and he then scheduled the the first phone screen.

 

The question was very easy (It basically involved traversing a 2d binary array). While the approach was correct, I missed some edge cases in the code. While fixing those cases I introduced more bugs.
A follow-up was then asked to optimise in best case scenario(worst case time complexity was still same). I correctly gave the binary search approach, but with one bug.

 

The result of this interview was borderline hire. Because of this reason, recruiter decided to conduct only 2 onsite interviews instead of standard 4 onsite rounds. He mentioned if I repeat the same mistake of missing edge cases/bugs, the loop will be cut short here itself.

 

The first onsite was one of the hardest questions I encountered. I'm pretty sure even with months of prep, there was no way I could have solved it in 45 minutes. It involved traversing an HTML which was in the form of a tree. While I could complete this problem with struggle, the followup of the problem was really hard and almost impossible to complete in 45 minutes. Understanding the followup itself took about 10 minutes.

 

The second onsite I was asked only one problem regarding dependency resolution. I provided a DFS solution with so much struggle and multiple bugs (later on came to know that it is solved by topological sort).

 

As expected, the result was a no-hire with a cool-off period of 1 year :(

 

The mistake I made was not preparing and practicing before appearing for the interviews. My phone screen and 2nd onsite would have been much better in that case. However the first onsite would still be hard, but considering all feedback, I would have probably got a chance for full 4 interview onsite loop.

by Expert (147,280 points)
0 like 0 dislike

Google | Early Careers | CANADA | ONSITE | [REJECT]

 December 24, 2021

I am from India and I interviewed at Google, Canada (VIRTUAL) a month back and got rejected by the HC. I am trying to compile the resources and preparation strategy (I got rejected, but my preparation strategy, the learnings from my mistake would help someone). I won't be sharing any questions as I would like to honor the NDA but still make sure I can give something back to fellow leetcoders.

 

The Application
I applied through the careers website (after getting a referral). It is important to note that if you are getting a referral, wait before you get the referral email, else it won't be attached. I applied to Early Careers at Mountain View office and Canada office (honestly, it was random, I was totally fine working anywhere). Because of visa issues, my application at MTV got turned down and I was told to interview for Canada.

 

Phone interview
It was a 45 minute call through hangouts with a google custom made interview portal (supports syntax highlight, but no autocomplete).
The question can be said as Leetcode medium. It was based on priority queue and linked list.
I was able to solve and communicate effectively and moved forward to the onsite.

 

Onsite interviews
4 rounds --> 1 Googlyness, 3 technical.
My interviews were scheduled over 2 days since I was in India and my interviews were at late night.
Googlyness -> Just be the person you are, if you are not a jerk this round should not be a problem. Simple and leadership related questions. Follow Jeff H Sipe on Youtube for more insights about Google interviews in general.

 

Technical --> All rounds had two questions. A leetcode medium with a hard followup. All my questions were graph based. The last round had a more design + code approach to it (still uses DSA)

 

Interview verdict
I was scheduled for 2 more interviews since there were missing data points.
The first round had two questions. First one was Graph based the second one was Deque based This round went super good. I was able to solve with optimizations and fully code.
The second round had just question. This is the round I felt that dragged me down. It was a very implementation related question. (The logic was pretty easy, but there was a lot of corner cases which I should have handled).

 

Got rejected after 2 weeks :D

 

Learning from mistakes

 

  1. When you are applying for an internation offer, make sure you are comfortable with the time zones you are planning to interview at. Squeezing my brain at 1 am in the night did not work out very well for me during the interviews. I could have done much better. (Again the mistake is on me, I should have practised more at this time zone)
  2. Get leetcode premium or borrow it from a friend (It is worth it! It gives you a kickstart and sense of the actual questions) DISCLAIMER: You probably will not get direct LC questions, but it ll be a bit similar.
  3. CONCENTRATE MORE ON GRAPHS! I highly reccomend William Fiset's youtube channel for this.
  4. Be very well prepared before scheduling the interviews. Google will give you ample amount of time to prepare, don't make the mistake I did. When my interviewer asked me for dates to schedule the interviews, I gave the earliest possible dates which was available. This gave me only around 5 days to prepare. For some reason I was thinking if I would be judged if I take a lot of time. But this is not the case. Don't be so hard on yourself. Take your time and prepare

 

What went really good

 

  1. I was thinking out loud through all the interviews and made sure the interviewer understands my approach before hopping on to coding. (You should too. The last round, I got a bit dozed and did not do this as well and that could have been a reason that I got rejected)
  2. The Google interview process is long but it is filled with learnings and is a great experience. The only negative thing is I did not get any feedback.
  3. The great thing about the google process is, you learn a lot as an interviewer also. You can learn how to conduct great interviews at your organization. (I assume you are working)
  4. The recruiter is there to help from day one of the process till the end. Any doubts or questions, you should feel free to follow up.

 

Resources

 

  1. William Fiset's youtube channel for Graphs
  2. Jeff H Sipe's youtube channel for general google interviews
  3. NeetCode youtube channel (whenever I got stuck on Leetcode problems)
  4. LEETCODE DISCUSSIONS ! (UNDERRATED RESOURCE)

 

ALL THE BEST IF YOU HAVE YOUR INTERVIEWS COMING UP!

by Expert (147,280 points)
0 like 0 dislike

Google | Onsite | India | Dec 2021 | [Reject]  January 17, 2022

Work experience: 2.5 years at a semiconductor product based MNC as developer.
Screening Round Experience

 

Onsite round 1: 1 question -> 23/11/21 (45 mins)
Interviewer was from Google India.

 

Question: Given a 2D matrix of numbers, where rows are some card and columns are properties (value of properties ranges from 0-2), find whether given card combination form a valid set.
Valid set: They all have the same values or have all different values for each property.
Ex:

 

Example 1
Card 1: (0, 2, 0, 0)
Card 2: (1, 1, 1, 2)
Card 3: (2, 0, 2, 1)
Ans: Valid set

Example 2
Card 1: (1, 2, 0, 0)
Card 2: (1, 1, 1, 2)
Card 3: (0, 0, 2, 1)
Answer: Invalid set

 

Gave a solution of traversal of whole 2D array and keeping a hashmap for every properties column. Interviewer seemed satisfied.
Time: O(n.p) n=card num, p=no of properties
Space: O(n) , n=num of card

 

Followup question 1: Some values of properties were now replaced with wildcard star. Gave a similar solution by just adding one extra check statement.

 

Followup question 2: Pick a combination of 3 cards from the total set which are valid set. Gave a solution of firstly finding unique cards then checking for valid properties. Gave a O(n.p) solution. She seemed she was expecting a more optimised approach, and I was nearly blank by the end.

 

Time: O(n.p + n.3 * 3.p)
Space: O(n+3) , n=num of card
 

 

Onsite round 2: 1 question -> 23/11/21 (45 mins)
Interviewer was from Google India.

 

Question: Decision based DP question. Like House robber or Buy and Sell stock 4. Gave a recursion based memiozed approach. Ran it on his multiple test cases. Interviewer was impressed and didnt asked any further.
 

 

Onsite round 3: 1 question -> 24/11/21 (1 Hour)
Interviewer was from Google India.

 

Question: Given a n-array tree, for every query of type a b c d, give what will be the size of resulting trees if edge between a and b and between c and d are removed.
Note: Every removal of nodes is valid for only that query. Which means after a query is done, tree goes back to initial state.
Ex:

 

For tree
                       1
				2             3
			4  8    5      6      7
			
Query: 4 2 1 3
Result: [1, 4, 3]
Explain: On removing the edge between 4 and 2 two trees are formed of 1 and 7 size and on removing the edge between 1 and 3 final trees formed are of size 1 4 3

 

First gave a solution of tree traversal for every query which was O(n.q), n is tree nodes and q is no of queries. Later gave a solution of creating a data structure of parent child information (similar to union-set, though i didnt knew at that time), where this fetching of who is parent and who is child was done in O(1) and subtracted that size of child with parent to give the result. So for q queries it was O(q). Later found it was failing for a few test cases where a b c d of query was intermixing. Handled those cases separately. Interview has overshoot the time of 45 mins by 15 mins. Interviewer looked okay though not very happy. Maybe he was expecting some other method.

 

Time: O(q), q is no of queries
Space: O(n), n is no of nodes
 

 

Onsite round 4: Googliness round -> 24/11/21 (45 mins)
Interviewer was from Google India and the questions were senario based hr questions.
 

 

Update: Got the rejection call from recruiter. Got 2 positive review (round 2 & 4) and an avg (round 1) and negative review (round 3).

by Expert (147,280 points)
0 like 0 dislike

Google | Phone | SWE-India

 February 8, 2022

I had my telephonic round today.(45 Min)

Question's were:

  1. Given text and the width of a page, find how many lines the text would take on that page.
    I gave the Solution (Similar to Text Justification on Leetcode)

 

https://leetcode.com/problems/text-justification/description/)

 

  1. Given a text data that you’d like to put into a two-column table on a fixed-width page, find the best column size that minimizes the overall height of the table.

 

--> This was the follow up Question.(I gave the solution Using Binary Search)

by Expert (147,280 points)
0 like 0 dislike

Google| L4 | India | 2022 | Rejected 

February 25, 2022

Had the Intial Call with Recruiter In Jan-2022 , conducted small meeting to explain the process. The process is as follows-

 

Telephonic Screening (45 min technical)
Three Virtual Onsite Rounds (45 min technical)
Final Virtual Onsite Round (45 min) googlyness.

 

As i was having offers and already on notice period, recuriter skipped the Telephonic Screening.

 

1. First Virtual Onsite (Feb 2022)- It Started with introduction, then started with problem it was kinda of puzzle on equation. The problem was pretty vague, had hard time unserstanding what will be the input and output.For the first 10 min i was implementing a different part of the problem which was not required , interviwer stopped me in the mid way and told me you are solving a different problem which was not required. Then i asked claryfing Question, understood the problem, then started coding again. Was able to solve the problem at last. interviwer was satisfied, Then asked Time Complexity, and Test cases.
Problem is not available anywhere and was based on Real World Problem
Learning-> Don't start coding , until u have understood the problem very well. Keep Patience and Don't Rush.
FeedBack No Hire: Stuck half of the time solving problem which was not required to solve

 

2. Second Virtual Onsite (Feb 2022)- Started with Introduction. Problem was on Binary Seach.
When i was reading the problem Description , i almost had the idea how to solve this, as i have already solved similar type of questions on Leet Code.(I was 50 % sure)
But I this Time I did't rushed, asked claryfying Question, went to the depth of the Problem. Now i was 100% Sure this binary Search Template can be applied. Wrote the Code , stated the complexity.
There was still 20 mins Left, Then Follow up Question was asked on the same problem.
Problem is not available anywhere and was based on Real World Problem
FeedBack Hire

 

4. Fourth Virtual Onsite (Feb 2022) GooglyNess- : To be Honest, i was Really Scared for this round. But this was just a Cake Walk as Interviwer was really Friendly. I Talked with my heart open.
FeedBack Strong Hire

 

** [UPD]***3. Third Virtual Onsite (Feb 2022)- : Given a Set of Command in form a String , Needed to write a function to check of Command String is valid.
I was all over the palce, Pure Implementation Question. There were so many checks that need to be checked , Wasn't able to complete the question. Probably a No Hire In this Round.
FeedBack No Hire

by Expert (147,280 points)
0 like 0 dislike

GOOGLE | SWE NEW GRAD | [Rejected]

February 15, 2022

I am writing down the whole experience. As it might be useful for anyone aiming for google or any giant tech. I interviewed with them at the end of by 7th semester during undergraduation. (Currenlty I am in my 8th Semester)

 

A random evening, I recieved a call from a google recruiter. Firstly she apologied for calling up late evening. She said her team was impressed by my linkedin profile and wanted to reach out. Then she checked their database wherein I applied for an opening around 8 months back. So they got my contact details. She also said that for some candidates, they directly move to the onsite rounds rather than phone interview if the profile is impressive. And I was one of those!

 

I agree that I have a good prior project and internship experiences and have been contacted by many HRs through Linkedin. But GOOGLE was beyond by dreams. To be honest, at the first glance, I thought it was a prank call, so asked her to email me the job details for which they want to interview me. She did the same and schduled by interviews within next couple of days.

 

It was a long shot also, didn't had enough time for preparation. I tried to prepare mentally to face it though :)

 

All rounds are strictly of 45 mins. They hard stop there! Sharing all the rounds experience, won't share the exact questions as I have signed NOC.

 

Onsite ROUND -1
TECHNICAL ROUND

 

Interviewer was Senior SWE at Google. Didn't turn on his camera as he was having bandwidth issue. Started with his introduction followed by mine. Gave a question staight away. Based on doubly linked list. It was Easy to Medium level question.

 

I took some time to undersatnd it and then explained my approach. He asked about corner cases. After seemed satisfied, asked me to code it. I did it pretty fast, but then missed a corner case, he asked me to recheck, then I spotted it out.

 

Then he asked about my projects and had some discussion on prior internships. Interview ended with if I had any questions for him.

 

Onsite ROUND-2
Googlyness

 

Conducted by Senior Software Engineer at Google. Project Discussions and Behaviorial Questions to check if your values align with that of their's. Think and answer wisely.

 

Onsite ROUND-3
Technical Round

 

Interviewer was SWE at Google Cloud. She didn't introduced her nor asked for mine. She doesn't seemed friendly at all. I became a bit nervous. She jumped to DSA question. Just verbally gave a question something regarding git commits and asked my approach.

 

I tried to think and clearify the question. Then she wrote the question on the coding doc. I understood what she wanted to ask, I gave a binary search approach. She didn't interact much so I don't know if I was on right track. She said to code down whatever I explained. I did it. Then she asked me to explain my code, while I was doing, she doesn't reacted, so it was difficult for me to understand if I was able to make her understand what I wanted. She said, she got what I was doing and lets move to next question as only around 12 minutes to complete the 45 minutes session were remaining.

 

The next question was related to system streams of input. I clearified my doubts but since no sample test case was given, I was struggling to get what exactly is asked. I asked her if she can give me a sample test case. She did so. After looking at sample input I quickly thought of a dynamic programming solution. Explained it to her. She asked me to write the dp equation and complete the function as soon, because we didn't had enough time. She asked about complexity and what my dp vector does etc. The interview ended with any questions I had for her. I asked about her team,tech-stack and her post at Google as she didn't tell at beginning. Interview ended up with a thank you note.

 

I just had one more last round before making it to the hiring team.

 

I really had high hopes. But recieved an rejection mail. Was kinda dissappointed. I am losing my confidence now but anyway it was a long shot. People work for years to get a call from google. I consider making up to that far as my achievement.

 

Don't want to speak about it as it is dishearting to everyone. Rejections are difficult to digest but we all should take it in a positive way and work more harder.

 

LASTLY I WISH VERY BEST TO EVERYONE IN THEIR SEARCH!

by Expert (147,280 points)
0 like 0 dislike

Google | June 2021

Status: 11 YoE, Principal Engineer

 

This is just to give back to the community as I have enjoyed reading the interview experiences from others who have done the same.

 

Application Contacted via Linkedin

 

Preparation: 2 weeks. Mostly looking through medium and hard LC questions. Did some practice for some of the questions as they were interesting. I consider myself having strong base in atleast the basic algorithms and datastructures as I use them and also have prepared myself for past interviews (1.5 years before).

 

I don't like spending too much time on LC type questions TBH. I would rather learn something new or build something. I did this just because it is a Google interview and I really wanted to experience it regardless of the outcome.

 

I will not be posting the questions asked because of the NDA.

 

Rounds

 

  1. Talk to recruitor - Recruitor called me to setup a date for interview. Walked me through the preparation stuff and all. Nice and helpful person. All interviews were scheduled back to back. You do have an option to reschedule it.
  2. 1st coding round - A graph based question. Coded up the warm up question but was too slow for the second difficult question.
  3. 2nd coding round - A matrix based question. Coded it and found some edge cases and probbaly missed 1 another edge case.
  4. 3rd round googliness - It involved everything. Talking about past experience and challenges. Was given a system design question but not in too much detail. Team handling and what you would do in some situations etc. I enjoyed it.
  5. 4th round coding - A query based question. Coded it but it was not the most optimum solution.
  6. 5th round System Design - Networking related | filtering design. Went good, but I may have gone into too much detail at some point and did not communicate clearly or may have been too brief for some important points. Did not time well but it was a good time.

 

All in all, the feedback was:

 

  1. Good understanding of algorithms and DS.
  2. Slow coding. Because I had to think how the algorithm would work. This is probably because I did not practice a lot. Generally I like thinking while coding.
  3. Not "perfect" code. Made some mistakes.
  4. Good understanding of systems designing, but missed to communicate few important points well.

 

Leaning towards L4, so not going ahead with it.

 

From my point of view:

 

  1. For senior position, you have to write almost perfect code and code it fast. You need to practice similar questions a lot or rote learn to do it faster. My preference as I have mentioned before is to not spend too much time for it.
  2. Interviews were spread out to multiple days. It was very stressful for me. Should have helped if all rounds were scheduled 1 month apart ;)
  3. All interviewers and recruiter were very nice.
  4. Did not find the questions too hard to solve.
  5. Google is probably not for me. I can probably re-interview after 6 or 12 months but I may not. I wish I could get to work at their scale as those problems interest me, but I will have to look somewhere else in future.

 

If Google is where you want to be, grind LC and also really understand your programming language well. Pace your system design question well.

by Expert (147,280 points)
0 like 0 dislike

Google STEP Interview Experience(Intern)
I was in my third semester when got short listed for google step interview, it was a great interview experience. It was a two session interview with a gap of 5 minutes on google meet.
For first few minutes, the interviewer tried to kickout all the nervousness in me, after I got comfortable he started with his questioning. One question was asked per session and I need to complete it in 45 minutes.
The first question asked was of recursive dp, interviewer first asked me to tellhim the approach, if it seems correct to him, he will ask to proceed further. On my way to writing the code, he asked me about each step I code. I completed it easily in approx 30 minutes.
My next question was of scalability unfortunately very new to me, it also included strings and how wisely you choose the data structures and handle data efficiently. Interviewer was helpful for me to proceed further with my code.
Atlast I want to say it was of great learning experience and glad to have it as my first interview.

by Expert (147,280 points)
0 like 0 dislike

Google | L4 | Rejected

 March 11, 2020

YoE : 8
Time taken in prep: 3 months
Leetcode problems: 127

 

I have just botched a google onsite interview and I wanted to share why that happened and what I could've done better.

 

Tips

 

  1. Arrive early, I arrived late and it cost me about 10 valuable mins
  2. Find the quickest solution you can and START WRITING CODE! I took a lot of time trying to understand and optimise the problem on the boad before actually writing any code
  3. Problems are going to be purposely vague and seemingly hard, although with a bit of thought they could have a simple solution
  4. Ask if there will be a follow up, you can and you should
  5. Be quick I cannot stress this one enough, practice writing correct and bugless code as quickly as you can. To do that you either solve problems you have already solved or solve very easy ones, you are not learning an algorithm or how to solve a problem, you are merely learning how to write bugless and efficient code fast regardless of the problem, which is a different muscle entirely! (I am working on that one now as I lacked it massively and it cost me this interview).
  6. Hate to say this but you have to know basic algorithms and how to implement by heart! you need to know how to write them if you were blind folded, this is a HUGE time saver. (recursions, DFS, BFS, quick and merge sort, ...etc).
  7. Understand DP, I solved that one pretty quickly but because I lacked fast typing I couldn't write it in time

 

Questions
I can't remember all the questions as I didn't take notes, but here is what I can recall:

 

Questions 1
You are given an infinite number of dice and you want to represent numbers with them. A represented number is lining up dice faces to make up the number, so 11 is 2 dies of faces 1 and 1, 15 is one '1' facing die and one '5' facing die . A number can only be represented fully or be a sum of fully represented numbers.for example:
* 66 can be represented fully
* 82 cannot as we don't have a die face for '8' so we have to find a number that sums to 82 and is made up of representable number, so 82 can be 66 + 16 and that would be the correct representation

 

Given any number, you need to find the optimal way to represent it with the smalles number of representable numbers

 

Question 2
You need to find the path with the largest sum in a matrix, but you cannot go back or diagonally, also there are barriers of 0s along the way, the matrix also has no cycles, so you cannot go back to a number from another number
Example:

 

[1,2,3,4,5]
[0,2,0,0,9]
[1,6,7,0,0]
[0,8,0,0,10]

 

A DP problem

 

Question 3
I cannot remember the exact question but was similar to guess the word with different variables and we are looking for a set of numbers in a big range

 

Aced the SDI and the googlyness of course.

by Expert (147,280 points)
0 like 0 dislike

Google| Software | Onsite

February 10, 2022

I am not writing the exact questions (NDA prohibits that?)
I had two onsites.

 

Google L5

 

  1. algorithms1 : A graph algorithm question. The question was not hard. But it took me a while to understand it. I wrote the code and he asked for an improvement. When I was writing the code, he said it was enough. It seemed like we connected.
  2. algorithms2: I think this one was a leetcode type question (may not be exact). I had three solutions in mind. I was writing an optimized version, then switched to a more brute force. Then i was asked to do an optimized version. I was not totally done. It was an okay effort for me.
  3. Behavioral: Google behavioral interview goes well with me. I like what they define as googlyness and it was great.
  4. System design: I never had this type of system design. The interviewer asked a hard question and I did not follow the process of requirement-api design-blocks etc. and I did pretty bad.
  5. Algorithm3: I was asked a medium(may be a touch higher) question. I wrote the solution right away. The interviewer asked about a Trie solution. I wrote that as well. Then he asked me some optimization questions and I had no answer. I was disappointed on myself, but he was encouraging me.

 

Feedback: System design was pretty bad. Recruiter managed an L4 offer approval for me. I have not had much luck on the matching.

 

Followup: Recruiter asked me to do two additional interviews
6) Algorithm4: Not a hard question. The interviewer took an effort to make me understand the question. It was with c++ upper_bound lower_bound and I forgot the corner case checks. I struggled with cases where upper_bound or lower_bound does not exist (I forgot what happens to the iterator at that point). Should have abstracted it out. I surely missed one or two corner cases.
7) Algorithm5: It was a not-so-hard question. I did well. Interviewer was very helpful.

 

Not sure whether this will help me to find matches.

by Expert (147,280 points)
0 like 0 dislike

Google L4 - Rejected

September 27, 2021

A game of timing

Beginnings

  • I had applied to Google once 3 years ago and got rejected that time in the telephonic round because I couldn't implement the 2048 game's state change algorithm.
    • At that time, did not know about leetcode, was fresh out of college and could be easily described as a dumb egotistical ignorant idiot with just a little bit of brains. Actually 4 years on, I think that description is still valid :).
  • My process started in Jul-21.
  • Recruiter reached out over Linkedin.
  • We agreed to do the telephonic rounds in Aug-21 first week.
  • Took up the leet code subscription this time as I really really lack practice :| .

Telephonic round

  • Interviewer started with a question from my resume.
    • Answered that to his satisfaction in 5 mins.
  • Implementation of finding connected components in a Graph.
    • Implemented in 15 mins, 5 mins spent in complexity discussion, worse case analysis (I got confused here and interviewer had to hint the worst case ).
  • Then a situation based problem, which required the above implementation as a sub-routine. Had to do some preprocessing on the Graph which was O(n^2) so interviewer wanted to optimize that,
    • Couldn't fully get the answer to this one just gave the first guess that came to mind.

 

Result : Passed and on to Onsite rounds.

 

Onsites

 

Given my lack of practice, I asked onsites to be scheduled after 4 weeks in Aug-1st Week. Onsites happended virtually over 2 days (2 rounds of 45 mins each day).

 

Round 1

  • Another question on Graphs. This one required BFS.
  • Implemented in 25 mins, complexity discussion took another 10, again got confused with the worse case :I-really-should-practice-a-lot-more-sigh:
  • Then a complication in the question, required to remove the tracking of visited vertices and cleverly handling edge cases to avoid infinite loop.
    • Modified the code but missed to handle the edge cases correctly and ran out of time (:so-much-lack-of-practice-sigh: ). But verbally explained during the dry-run that this code has this issue.

Round 2

  • Yet another question on Graphs, question was similar to Most-stones-removed-with-same-row-or-column
  • Had solved this during my practice, but the way the question was given took me 15 mins to figure out how to do it in O(n).
  • Again worse case analysis got me confused ::I-really-need-to-practice-a-lot-sigh:. Wasted 10 mins and didn't arrive at the answer until interviewer hinted.
  • Implementation took another 15 mins.
  • With only 5 mins remaining interviewer asked a variation of Insert-Delete-GetRandom-O1
  • Had practices the above, but the variation asked was tricky to think through (:as-you-know-by-now-I-lack-practice-sigh:), so gave the simplest solution coming to mind.
  • Immediately, interviewer gave me a case which failed my solution (:man-this-guy-is-good:).
  • Interviewer knew 5 mins were up so he added another 5 just to see if I could correct it, but I didn;t get much far.

Round 3

  • Yet another question on Graphs
    • This one required topological sort on a DAG.
      • Interviewer did not give any starting function signature, so I assumed the data-type to be a Graph of strings and explained that it could be wrapped into a model if needed.
      • Implemented in 25 mins , dry-ran, and complexity analysis all done in another 5.
  • For the follow up, interviewer asked how to detect a cycle in the Graph by modifying the implementation above.
    • Used extra memory to solve it.
  • Interviewer was satisfied and we still had 2 mins so I asked him a few questions and we ended on time.

Round 4

 

This was Leadership and Googlyness round, a lot of situational questions / past project experiences nothing on Algo and DS. We finished on time.

 

The waiting game and its consequences

  • I had heard Google takes a while to come back with results. In my case the Onsite results came back 4 weeks later (1 Week of Sep ).
  • My packet went forward till HC but they rejected it for L4 with the explanation that I lacked quick-solutioning / coming up with the most optimal solution on my own.
  • They recommended L3, with an additional round to test something else.
  • But here's the catch, being the idiot that I am, I stopped practising completely after Round 3. So for a month I was just sitting around letting all my practice wash away and filling my brain with utter garbage in exchange.
    • On top of that, never even bothered to email the recruiter early on.
      • I sent the followup email in the 3rd Week of Aug and got the reply in the 4th Week.
  • I was dumb enough to commit to the additional round 2 weeks later and started cramming up again.
    • This time I did not even prepare well, just kept practising medium problems with a timer about 2 hrs a day, even wasted a few days in dejection and festivals.

Round 5

  • Question on Trees and Strings.
    • First interviewer asked to design the Tree Node to contain the information relevant to the problem.
      • Completed in 10mins. :I-wish-I-wasn't-so-nervous-to-go-so-slow:
    • Then the actual question to handle the deletion of data in the tree.
      • Being recursive, I thought I would straightaway dive into implementation, but interviewer suggested to try outlining the cases first.
      • As usual, lack of practice + nervousness = I took about 15 mins outlining cases.
      • Finally, started to implement, and wrote absolutely garbage recursion in 15 mins. First dry run and I knew this round was gone.
      • Tried to fix a few small things in the next 10 mins ( was again given a 5 mins grace ) but realized 15 mins after the interview was over that I was easily missing 4 cases still.

Epilouge

 

All's well that ends well.
As expected, in my case, it did not end well :D . Got the call from the recruiter a week later ( :today-the-day-I-am-writing-this: ) and got to know that the HC resulted in the no-hire decision.

 

I am not disheartened. In fact, I am surprised I made it this far. By my own judgement, I should have been rejected a long time ago. Also, I stopped preparing and hastily interviewed and practically wanted to be over with it by the end of the process, so I think I deserved to be rejected.

 

I will try again next year. Recruiter was kind enough to let me know to reach out when I am ready.

 

This time I will be ready. That's my promise to myself.

by Expert (147,280 points)
0 like 0 dislike

Google L4 Offer

May 12, 2021

Hey All,

 

I have received offer from Google for L4. It took 4+months to reach at this position from first recruiter call.

 

Telephonic Round ->

 

LC medium Consecutive number in a sorted array problem with some constraint. 
HashMap solution.

 

Got the feedback after 2 weeks and moved to onsite.

 

Interview 1 -> Tree Problem more in line with Segment Tree (Coded optimal solution in time. Didn't have enough time for follow up question)

 

Interview2 -> Dynamic Programming (This round went really well. Optimal solution + coded follow up question as well)

 

Interview3 -> Grid Question + DFS + (backtracking) (Same as Interview 1, coded optimal soulution in time, but ran out of time for follow up question)

 

Interview4 -> A very weird question which took lot of time to understood the question and once i started exploring it thorugh example, the solution boiled down to Binary Search. I think the question was made very vague and ambiguous intentionally. One key learning from this is - Keep asking clarifying question untill things are very clear. Coded the solution and discussed the solution for follow up question as well. Couldn't get time for coding follow up.

 

Googlyness -> Drilled down on my project and behavioural question.

 

Currently SDE 2 (Amazon)

 

Had team fit call with 2 teams, I finally selected the second team as it was more in line with work I have done so far.

 

HC approved the packet for L4 and got offer letter. Not very happy with the compensation, I'm waiting for my Uber interview feedback. Feeling positive there as well.

by Expert (147,280 points)
0 like 0 dislike

April 13, 2021

Status: Employed (3 Months Experience)
Position: L3 At Google(New Grad)
Date: April 2021

 

Tech Interview 1: Was asked an easy/medium string question. Wrote the pseudo code, however took a long time to convert the pseudo code into bugless working code(but got it done at the end with support for edge cases). Interviewer seemed happy that I got support for the edge cases, however I took a long time.
My rating 3.5-4/5. Analyzed time complexity wrong on the first attempt
Tech Interview 2: 2 Very Easy Questions followed by 2 more complicated(involving trees, and dfs) follow ups that I had to briefly pseudocode. Interviewer seemed happy with my pseudo-code and was more focused on my communication.
My rating: 4-4.5/5
Tech Interview 3: String question again(started off easy), followed by 2 follow ups. I wasn't even sure if my code was right but I presume it was because the interviewer decided to immediately go to the next follow up.
My rating: 3-3.5/5
Tech Interview 4: Graph Question with lots of ambiguity. Solved at the very end. I was very close at the end but the interviewer gave me one small hint and I finished it.
My rating: 4-4.5/5

 

Behavioral: Basic behavioral questions
My rating: 4-4.5/5

 

What I realized: I think the case with Google is that they focus a lot on communication(fortunately one of my strong points), and the questions are very ambigious.

 

Hoping I move forward!

 

Note: None of the questions were off Leetcode

by Expert (147,280 points)
0 like 0 dislike
Current : L60 - Microsoft
YOE : 2
Interview : L3, Google India.

 

Leetcode : Around 500 (100 easy, 340 medium, 60 hard) including premium in 6 weeks, used to do CP in college days, so a bit easy to pickup.

 

Won't be able to share exact questions but will try to give a fair idea.
Difficulty level : Overall Leetcode Hard.
Phone Screen : Medium BFS / DFS question.
Onsite1 : Variation of LIS, initial questions was solved using DeQueue & Binary Search, solved the follow up with DP. : HARD Difficulty. Round went really well.
Onsite2 : Reverse of Coin Change, Difficulty: Hard. Solved the initial part using DP in O(N^2LogN), interviewer wanted O(N^2), couldn't do. I think round went well, since the question was really tricky, but I think it wasn't good enough for interviewer.
Onsite 3: DP with 2 pointer. Intially I thought it was medium, did the initial question within 15 minutes. Followup was really hard, modified question to take input as K, it became really tough, provided 3D dp approavh now. Difficulty : Higher band Hard. I think I did well.

 

Result : Received a call next day, rejected. 2 stong hires, 1 no hire. They asked me to improve on my Speed and DSA skills. I wrote 2 solutions in each round that too bug free. Not sure what are they expecting.

 

Will try again after 1 year for L4.
Advice to anyone appearing G interview : Prepare hard guys, you won't get selected just because they are hiring, need to prepare hard.
by Expert (147,280 points)
0 like 0 dislike

Recruiter contacted me in december 2021. I asked them 1 month for preparation. There were in total 5 rounds.
Screening round
Question is not present on leetcode. It was an easy level question and then a follow up question which I believe was medium (hard level medium). It invovled creating anagrams of string, so basically a string manipulation question.
1st Onsite
Questions were variation of
https://leetcode.com/problems/find-duplicate-subtrees/
https://leetcode.com/problems/maximal-rectangle/
2nd Onsite
1st question involved a simple travesal in binary tree and then some simple calculation. I would term it under easy and then a follow up for the same question in n-ary tree
2nd question was a variation of https://leetcode.com/problems/maximum-profit-in-job-scheduling/
and this was hard
3rd onsite
It was totally based on graphs. BFS algo had to applied in a 2d coordinate plane between points. 1st question had a follow up. I would rate both questions to be medium
4rth googlyness
Standard googlyness questions

 

Please add questions in the comments, I would love to answer them. I had used leetcode premium subscription and yes it did helped me (sort of). My result is not out yet although I have got positive feedback in every round with few negative comments.
I would like to answer 1 question that has been generally asked by people
How do you find time to prepare in the middle of your job because it cosumes most of the day.
I mean its something that I have seen like a pattern in my friends who all have cracked tier 1 companies and there are obviously other ways too but this something I would like to share-
If you start your prepartion today, then in 3-4 months you will be able to crack a good mid level company where after joining dependency on you is going to take atleast 6 months. So it basically means you will have enough time to prepare here (don't forget the notice period time also). I know its not being loyal to the company you have joined but this is something that has worked for many people.

 

Preparation Strategy:
First thing first, you need to have a healthy mind and body, then only you feel satisfied with your self otherwise your mind wont be able to sit and show consistency. Eat healthy food and do exercise to take care of this department.
Also share your life with few people coz humans are social animal, you can't live alone!
If you believe both of the above things are satisfied, then I believe you can concentrate very well.
I went through :
https://techiedelight.quora.com/500-Data-Structures-and-Algorithms-interview-questions-and-their-solutions
https://leetcode.com/discuss/interview-question/971009/List-of-2020-interview-question-for-Google
https://www.codechef.com/certification/data-structures-and-algorithms/prepare
Try to cover as many different pattern of questions as you can, if you get unlucky you can even be asked questions related to geometry or segment trees! Obviously there were other sources as well but this is quite good amount
I tried to complete as many google tagged questions as I could. I used to sort questions by frequency and do questions that had bar color of green and yellow. Maintain a notebook to note down question which you are not able to do on your own and try them again after 2-3 weeks.
Coding cleanly and in speed are also important. Write modular code otherwise that would be negatve comment for you! I would recommend to try written practise 10 days before the interview so that you have a good hands-on.

by Expert (147,280 points)
0 like 0 dislike

June 21, 2019 

Google | Front End engineer

  1. Take 2 strings return index of char where is not the same.
  2. Design jsbin.
  3. Given a function return a function that executed original function 1 second later.
  4. Given a timeline write the JavaScript to select all nodes within selection of timeline.
  5. Given a 2 dimensional array add the diagonals.
  6. How would you create google analytics script.
by Expert (147,280 points)
0 like 0 dislike

Google L6 2021

 May 15, 2021

Phone screening 1 :
Given a chess board an a knight and a starting position return true if Knight can visit all cell

 

  • a backtracking algorithm took 15-20 min to code

 

Followup 1 : How will you change the algorithm if a knight can only visit a cell once.

 

  • changed the code to keep the visited 2D array .

 

Followup 2 : What if some cells are marked blocked. Return true if all remaining cells can be visited.

 

Followup 3 : Return the minimum path to visit all all cell just once.

 

  • Backtracking but I did with BFS and returned the first solution.

 

Onsite

 

1 Coding  : https://leetcode.com/problems/remove-invalid-parentheses/

 

  • First asked to remove invalid brackets and return a solution with maximum length.
  • Followup : can we generate all the possible longest valid parentheses string

 

2 Coding : very similar to https://leetcode.com/problems/logger-rate-limiter/
 - Asked to design a class that will not print the log (an integer) if found in last x sec
 - Interviewer was looking for a good data structure that can print and store it in buffer
 - I did TreeMap but could have just used StringBuffer . I asked should we discard the most recent visited or already added in stream in x sec window - its up to me to decide.

 

3 : System Design -  Ads click optimization . Design a system that can be trained and evaluated to optimize on revenue as objective function. Drilled down on how will you evaluate the model on frequent basis.

 

  • Training objective function :  Imaging coke pays 0.1$ for ad click vs pepsi 0.001$ the optimization will be on total revenue and its possible model will prefer pepsi over coke as it drives heavy traffic.
    Interviewer asked
  • Evaluation sets
  • Data Handling
  • Talk about Read Write and Update scenario
  • Why choose one technology over other
  • Testability

 

4 System Design : Google Event booking system
System will work as part of Google Search

 

  • Able to list different cities in search
  • Filter by city
  • shows and event availability
  • The user should be able to choose a show at a particular cinema and book their tickets.
  • Users should be able to put a hold on the seats for x minutes
  • The user should be able to wait if there is a chance that the seats might become available, e.g., when holds by other users expire.
  • fair, first come . User can hold only upto 10 seats at a time

 

5 Googlenes / Behavior Round

 

  • biggest technical challenge
  • time when you failed
  • had a conflict
  • able to influence
  • cross-team impact situation
by Expert (147,280 points)
0 like 0 dislike

December 27, 2021

Recieved an offer within the last 6 months, I decided to post to LC as I found it very useful for prep.

 

YOE: 2 no well known companies

 

Come from a country where LC interview style questions aren't really a thing so It took a bit of time to ramp up however I did go to university and learn't DS/Algos from classes, decided to read/go through a couple interview prep books (IDK if im allowed to mention them but im sure you will find them) I found the book that starts with elements... and cracking... really useful and would reccomend (Questions weren't in there but topics are useful).

 

Spent around 2-3 months prepping, didn't interview with any other companies and I did around ~250 LC questions all up in LC mostly medium's with ~30 hards. I focused on a per subject basis untill I was confident in the subject then moved on to the next subject for the first ~180 questions then I focused on the google premium tab (Questions weren't in there but good all round practice).

 

I got interviewed from mostly american interviewers, Interviews weren't as hard as others have mentioned (maybe luck?) would reccomend looking into BST's, Tries, string questions, typical graph problems, ensure you learn your DS/Algo fundamentals. They really emphasize on communication and thinking outloud so make sure you can talk out loud and clearly communicate, and treat it like you're solving the problem with a co-worker (I know it can be hard). Also give time complexitys/Space complexitys before you code your problem and ensure that the interviewer is fine with your solution before you code it, dont just jump straight into it.

 

I went into HC with 5 Hires/Strong hires for onsite I believe from the feedback I was given. Won't provide question info because I think the questions were really fair and dont want them to be banned but difficulty would probably be medium's for the first phase then rolled into hard follow ups.

 

The biggest advce I'd give is to have fun and try your best, if not google then you will go to another great company.

by Expert (147,280 points)
0 like 0 dislike

February 28, 2022

I recently did an onsite with Google for an L3/L4 position.

https://leetcode.com/problems/paint-fence/

The questions I got from Google was very similar to this question. Thought I should give back to the community.

by Expert (147,280 points)
0 like 0 dislike
March 13, 2021
I interviewed with google starting last year in december.

Went through the Prelim round, the interviewer asked a medium problem that asked for Topological sorting. Coded the solution in 5 minutes and spent 15 minuites taking interviewer through the different test cases using the solution. After he was satified he gave me what if, I found the hint to be an improvement, not in terms of run-time but just simpler code. I made the improvements and he was satisfied.

Onsite:
1.) This round stated with a problem that asked for depth first search, i coded the solution and he added on the problem, for which i modified the approach to cover. He asked me for runtime complexity. I realised the runtime complexity was bad. he asked me for some what if, and i did the changes, they made the code readable but did nothing for runtime. Note: After the interview i thought of a perfect solution that could have improved the runtime complexity a lot, but it didn't come to me during the interview.
2.) In this round i was given a problem that required DFS or BFS, but i found that these solutions will less optimum so i went with Union find. Coded Union-Find and explained the algorithm to the interviewer.
3.) This problem too required DFS/BFS, but i applied Union-find to it, improving the runtime from DFS/BFS, this round went like a dream.
4.) System design problem, discussed capacity estimate, domain design, service design, cache and database sharding. Used the capacity estimate to answer some quatitative questions asked later.
5.) goolyness - Spoke from heart, and itterated real stories from my previous experiance.

Got the offer. I think the most important thing for me was time managment, i talked while i coded, explained away as i was writing the code. I wanted to give the most optimal solution, so i went with them, i discussed why the optimal solution is better then the other. After finishing would take one of the test cases and go through the code with that test case - line by line, to talk the interviewer through the solution again and check for any mistakes and corner cases.

I think the key was time managment.
by Expert (147,280 points)
0 like 0 dislike

Google | SWE STEP | Internship | 11 February 2022

Google India had released the applications for SWE Summer STEP Intern 2022 in November. There was a resume screening round initially. Once my resume was shortlisted, I received the mail for my interviews. Those who had applied through referral had to go through another telephonic screening round. I didn’t have that. I had 2 rounds of interviews and they were eliminatory. Meaning if we didn’t perform well in the first interview, we wouldn’t get a chance to take the second interview. Both my interviews were scheduled on the same day i.e. 11th February. We were asked to keep the questions confidential so I will not be giving out the questions. However, I will talk about the topics of my questions.

Interview 1: I had my first interview at around 10 am. I was given a shared editor similar to Google Docs. I was super nervous as this was my first interview. The interview began with a brief exchange of introductions and then I was given the question. It was a question using maps. I took a while to understand the question and then I took a moment to think of the approach. I couldn’t come up with the approach immediately but I was continuously communicating with what was going on in my mind. The interviewer corrected a mistake in my thought process and then I was back on the right track. I coded a recursive approach and she was satisfied with my approach. Then she gave a follow to of the same question. I couldn’t think of the optimized approach right at the first go so I coded an O(n ^ 3) approach. She said my approach was correct but it needs to be optimized. By now we were almost at the end of the 45 min time slot for the interview. I told them the optimized approach which she said was correct but I didn’t have time to code it. The interview ended with a discussion on time complexities. I also asked her a few questions about Google as a company. Overall it was a pretty good interview. I would say both the questions were of medium level. The interviewer kept helping me out whenever I was stuck and she kept giving hints whenever I needed them.

 

Interview 2: My second interview was scheduled for the afternoon. We again started an exchange of introductions. Then the interviewer typed out the question in the shared editor. The question was on arrays and was an easy one. I made a mistake here and I started thinking immediately about the optimized approach. I started coding it as well but halfway through it, I realized that I was making a mistake. I then started coding the brute force approach. After I was done, the interviewer asked me to optimize it. I thought for a bit and with one hint from him, I optimized my code. Then the interviewer gave me a follow-up to the same question. I thought about it for quite some time but felt completely stuck. However, I kept telling the interviewer what I was thinking. He told me that I was thinking in the right direction so I tried to code what I was thinking. I reached the optimal solution eventually. We discussed a bit about the time complexity of my code and he also asked me about the range on INT_MAX and INT_MIN. After this, I asked him a few questions about Google and then I was done with my interview.

 

Results: Both my interviews went well but I wasn’t sure if I would get the offer or not. After a long wait of 17 days, I finally got a mail that I had received the Google SWE STEP Internship Offer. 

by Expert (4,460 points)
0 like 0 dislike

Google | SDE-1 | (Off-Campus) | 23 Feb 2022

  • Difficulty Level : Hard

 

Round 1 – Resume shortlisting

 

Round 2 – Recruiter call (15-20 mins phone conversation)

 

Round 3 – Phone interview (45 mins technical interview conducted on meet)

 

Question asked: https://leetcode.com/problems/time-needed-to-inform-all-employees/

A variation of this question was asked as the head node wasn’t given that is it wasn’t certain to which manager CEO will give the message and my task was to first find out which node should be the starting point and then find the total time taken to reach all employees. 

Also, input was not a simple integer it was a structure containing name, employee id, and an array of employees reporting to that employee. I went ahead with graphs for solving this question, first ran a DFS to find out the head node that is the employee to which if the CEO gives the message it reaches all employees and then ran a BFS to find out the total time taken for the message to reach all employees.

 

Round 4 – Onsite Interview (Conducted on meet – 15 mins GNL round, 45 mins technical)

 

GNL round – Googliness and Leadership round where behavior-based questions are asked to check if the candidate is the right fit for Google culture.

 

Questions asked:

  • How many binary numbers of length n are possible?

For ex. n=2, binary numbers possible are – 00,01,10,11 similarly for any length n total number of possibilities will be 2^n

 

Round 5 (Onsite interview) 

Conducted on meet – 15 mins GNL round, 45 mins technical

Question asked – Given input equations, output true or false

For ex. {a>b, b>c ,c>d, d>a} is this input true or false?

Here the input is contradicting so the output will be false. My approach was considering all variables as nodes of the graph and then drawing an edge from vertex u to v if u>v and output will be false if a cycle is present in the graph.

Topological sort of DFS can be used to detect cycles in directed graphs.

 

Round 6 (Onsite interview):

Conducted on Meet – 15 mins GNL round 45 mins technical

Questions asked

  • Given an input string s of characters, return index where s[i] < s[i-1]
For ex. - "De-Hi&yaR2"
Output - 7  

Explanation: Hyphen, ampersand and other characters which are not alphabets don’t have to be considered for alphabetical order of string and capital or small letters don’t matter as e>d and also e>D so my approach while solving the question was to convert all letters to smaller case and then compare them and ignore other characters if encountered.

  • An array is given where arr[i] holds the frequency of number present in arr[i+1] and we are supposed to implement next() and hasNext() method such that until the frequency of all numbers is 0 hasNext() returns true and next() returns the first number while traversing array which has non zero frequency.

For ex. [0,5,1,2,3,0,5,2]

Output – If next() is called it will return 2 as the frequency of 2 is 1 and the value before it which was 5 has frequency 0 so that’s not returned, now the frequency of 2 will become 0 as the next() pops the value out.

Now when next() is called again it will output 0 as the frequency of 0 is 3 and now it will become 2. The next() can be called multiple times so on till hasNext() doesn’t return false.

by Expert (4,460 points)
0 like 0 dislike

Google | L3 New Grad | Hyderabad, Bangalore | Feb 2022

 

Status: 2022 grad, Tier-3 college
Position: Software Engineer, 2022 Start
 

Phone Screening Round (45 mins): DSA

 

Interview started with a small introduction and the interviewer sraight away jumped to the problems.

 

1. String Replacements
Here is the link to the problem: https://leetcode.com/problems/find-and-replace-in-string/

 

Class Replacement{
	int start;
	string before;
	string after;
}

 

start: start index
before: substring that is present at the star index
after: Replace the before substring with after substring.

 

Given a string and replacement queries. Return a string after performing all the replacements.
Ex:
Input: num foo;
replacements: [
{start: 0, before: "num", after: "number"},
{start: 4, before: "foo", after: "bar"}
]

 

Output: "number bar;"

 

MyApproach:
I discussed different approached with the interviewer. Finally, I told the concantenation approach.
For every replacement query, we do
string ans = s.subtr(0, start) + after + s.substr(start+before.size());
swap(ans,s);

 

And finally return s. For this to work our queries need to be sorted in decreasing order of start index.
The interviewer was satisfied.

 

2. Cards

 

A card has 4 attributes (shape, size, color, shading). You have been given 3 such cards. A set of three cards is said to be valid if for each attribute either
a. All 3 cards have same value
b. All 3 cards have different value.
Write a funtions valid_set() that takes in a set of cards and returns if the set is valid.

 

Ex:
Input:
[
{1,1,2,3},
{1,2,2,3},
{1,3,2,3}
]

Output: True
Explanation:
Each card is represented as row and each attribute is represented as column. 
For the first attribute (0th column), all cards have same value. 
For second attribute(1st column), all attributes have different value. 
For third attribute (2nd column), all attributes have same value. 
For 4th attribute(3rd column), all attributes have same value.
For all the attributes, all cards either have same value or different value. So this set is valid.

 

As number of cards is 3 and number of attributes is 4, constant space and time solution was expected.

 

My Approach:
We cam simply take the input as a 3x4 matrix and traverse the matrix in column major format. We can use if-else statements to check the condition or we can also use set.

 

3. Cards Follow up
Given n number of cards, return 3 valid cards set if they exists. (Validity rules expained above)

 

As number of cards given is N, I was able to come up with a O(N*N) time and O(N) space solution. Please let me know if you come up with a better solution.

 

My Approach:
First I told the brute force approach with O(NNN) TC.
For optimizing it further, we can use two for loops for iterating over ever pair of card.
Using those two cards, try to construct the third card and check if it is present in the given arr.
We can use unordered_set to optimize the search.

 

Onsite Round- 1 (45 mins): DSA

 

The interviewer jumped directly to the problems without any introduction or any greetings.

 

1. Longest Arithmatic Sequence
Given a root of a binary tree and an integer, you need to find the length of the largest arithmatic sequence of nodes in the tree.
Constrain: Each subsequent node in the sequence should belong to a lower level that the previous node.

 

Note that the longest sequence need not start from root.
I discussed the approach and gave a correct solution. Interviewer as satisfied and he asked me to code it. I made some minor mistakes while coding.

 

2. Longest Arithmatic Sequence Follow up
After coding the solutions for previous problem, interviewer asked me what would be the solution if the constrain is removed.

 

Discussed the approach and he asked me to code it. Finished the code very close to the end time.

 

Onsite Round- 2 (60 mins): DSA + Googlyness

 

The interviewer seemed really off, dont know why. He gave his introduction very grumpily and asked me to give my introduction. Then he jumped into the coding question.

 

1. Find unpainted segments
Given a series of segments of length 1. Initially all of the segments are unpainted. Given queries of the form [left, right], return the number of unpainted segments in the range and then paint all the segments in that range.

 

I gave the brute force solution. Interviewer asked me to optimize it. I discussed a Segment Tree approach. he want convinced and kept telling me something is wrong. He seemed frustracted. Finally, as the time was running out, he asked me to code it. I could only write the segment tree code in the time.

 

2. Googlyness Round
a. Tell me about a situation when you went above and beyond od what was expected of you?
b. What would you do when you have to ship a feature tomorrow and it starts failing for certain group of users the day before?

 

Result / Feedback : Awaited......

Overall Experience:

 

I have read many interview experiences saying that Google interviewers are very friendly and helpful. Well, my experience was slightly on the opposite side. None of the interviewer seemed friendly and welcoming. But its always a nice experience to interview for such a big company. The process definitely takes care of the candidate and its need. A session is scheduled before the rounds to let you know what Google expects from you. You can also reshedule the interviews is there is some emergency.

 

Tips:

 

Have a good hold on Data Structure and algorithms. I have realised that Google asks questions that fall in a sweet spot above the level of normal DSA questions and below the level of hard Competitive Programming questions. So having a bit of CP experience is always a plus.

by Expert (4,460 points)
0 like 0 dislike

Google | SDE | 21 Sep, 2021

  • Difficulty Level : Easy

A google interview consists of 1 Phone screening(15 mins), 1 Technical screening(45 mins), 4/5 onsite rounds(45 mins) mine was held 4(3 technical and 1 behavioral)

Tips for technical interviews :

  1. Make a time schedule(Time is restricted in most interviews from 45 mins to 1 hour, at Google really strict)
  2. My time was: 10 mins(intro and understand the question), 5-10 mins (discuss approach), 10 mins (write down code) 5 mins (dry run the code with example), Other time complexity and bug fixing discussion
  3. Go for brute force if you find your time is > 25 mins optimize later (always look for hints from the interviewer)
  4. Do not lose until an interview is over, You have got this.
  5. Write clean code, if you compromise always inform the interviewer. (Also do not waste time on this)
  6. Dry run with an actual case with output side by side
  7. While practicing do some competition that will help you to get the clear question because often a question comes with a story and not a very good input or output format, I used Leetcode competitions.

Round 1: Technical

  • Write a shuffle for a music player with k iteration of cooldown. Given a list of songs.

Round 2: Technical

  • given a string encoding: a1b2c2 (lower case alphabets followed with their count)= abbcc
  • Write an iterator for the same with functions next()(should return the next character) and hasnext()(should tell if the next character exists).
  • given parent-child relations. given 2 nodes find if they are genetically related(have the same parent using the data)
for e.g. given relation parent->child : a->b, c->b, d->a
isRelated(b,d) = true, isRelated(d,c) = false

Round 3 : Technical

  • For both, these question nodes are related horizontally and vertically
  • given a matrix of water(0) and land(1). return island with the maximum area
  • given matrix of water(0) and land(1). Consider Ocean(water touching surrounding edges of the matrix), lake(water surrounded by land), continent(land area): Return Area of the continent with the greatest lake. (this area should also contain the area of all inside lakes inside that continent)

This is one of the hardest questions I was able to solve. I was grateful that I practiced really well.

Round 4: Behavioral (Googlyeness)

This round is a little tricky because it seems like they assess how well did you manage your work in the past and how well you will be fit for the team. It was taken by the team manager I was going to join. They discussed quite a lot about the backend technologies I was working on and how did I contribute to my current organization.

I did quite well. I prepared for the behavior interview in advance so it was a little smooth for me. For behavior questions, I have prepared these questions beforehand that helped me greatly.

  1. How did you resolve any conflicts between your team?
  2. Tell me about one time you worked on a project/task and it failed?
  3. What is the most challenging project you have worked on?
  4. What is the project that you enjoyed most?
  5. What is your greatest strength/Weakness?
  6. What is the hardest bug that you solved?
  7. Why should we hire you?
  8. I was asked if you are tech lead and get to know that there is exactly the same project that is done in your organization how would you handle this situation?
  9. I told her I will try to merge. There is no wrong or write here, but you need to justify and clear out all the steps you are doing and the basis of what you are taking the decisions along the way. If you have exact experience tell me how did you handle that.

Also prepared well your intro I was giving multiple interviews in many startups and I curate different intros according to the roles that I am interviewing for !!

Hope this helps!! All the best!

by Expert (4,460 points)
0 like 0 dislike

Google | L4 | Bangalore | Jan2022 

Experience: 3.5years

Position: SDE2 

Location: India

 

Due to NDA I won't be sharing specific questions but surely the topics and difficulty level. If you are looking for change and Google is on the list, start with Google as the process will take 45 days even if HR says 15 days!

 

Screening round (1 hour)

  • Algorithmic Questions
  • Topics: Heap, Map
  • Difficulty: Medium

 

The question was an implementation of a prediction problem based on some data. The language was a little vague but really easy to solve! Interviewer was very helpful!

 

Round 1

Very vague questions and poor examples, I was very nervous and was unable to understand and I tried to ask questions to make sense of it but was not able too. Mistake I did, I took the last example as the base case and asked some questions and jumped to solving. It was a tree question and I don't know why I didn't created trees on the doc to ask him question I wanted to open a miro to create diagrams and show him but I was shying away. As I begin solving he realized I got it all wrong, so he quickly came up with a tree and shared his screen after that it was clicked me but I was too late!

  • Topics: BFS, DFS
  • Difficulty: Medium
  • Result: No hire (1)

 

Round 2

We chatted about my projects. He was a full stack too, so we had a nice chit chat. He seemed to be really impressed by my answer. Question was really easy but tricky (It's on leetcode premium, No promotions!)

  • Topics: Tree traversal
  • Difficulty: Medium
  • Result: Hire (3)

 

Round 3

The interviewer was from outside India and very helpful throughout the interview. Question was related to strings. I came up with a silly solution 2^n then optimized using cache(memo) top bottom DP. He was happy but then he said what if 1 string is too big? Can you optimize it somehow, I was not able to come up with anything so he gave me an example and voila it clicked me. No coding for this follow up. To be honest thank god no coding, because though I was able to come up with a solution it was really hard.

  • Topics: DP, String
  • Difficulty: Hard
  • Result: Strong Hire (4)

 

Round 4

Matrix problem (similar is on leetcode), As I knew this problem I skipped a very important point in the question so for brute force method I came up with wrong complexity but he corrected me, then I took a visited matrix (to avoid loop) but it was not needed, he asked me it is needed? It clicked, I explained why not and removed then solved the problem and follow up!

This was the deciding round for me, L4 or L3. Due to that missed point, I missed the L4 and also he forgot about the visited array removal explanation. (My HR asked me if you removed some code without any explanation on pointing, so it's a guess.)

  • Topics: DP, Matrix, DFS
  • Difficulty: Hard
  • Result: Leaning No Hire (2)

 

Round 5

Behavioral round. 

 

Team Match

Happened with one team, aligns with my work and said yes.

 

Result

Offer L3

 

Final Note

Please Do MOCK INTERVIEWS! 

by Expert (4,460 points)
0 like 0 dislike

Google | L3 | Onsite | Jan2022

 

Round 1: Googliness

Asked some scenario based questions and- Tell me about a time...

Was able to communicate well. In my opinion, I didn't use any bad examples or any bad words. Could answer nicely on scenario based questions. But in some answers communication wasn’t too good. :p

 

Round 2: [ 1 easy, 1 hard problem ]

For the first problem, provided solution too quick. 1 in (n^2), another in NlogN. Interviewer didn’t want me to code. Said it was a warmup. Then gave a harder version of that question on a matrix. Took time to find a soln. Then provided a bad soln of n^3. Then gave another n^2logN soln which was good. But only 15 mins was left. He wanted me to code. But coding was long. I coded 70% perfectly and talked while coding. Told that if we had time what I'd do. Asked if he understood everything. He understood and said there was no need to worry about another method implementation. Asked questions from the code, and suggested an improvement.

He was happy.

 

Round 3: [1 easy, 1 medium problem]

Interviewer gave me an easy problem. Gave him a quick solution quickly. Asked me to code. Coded that nicely. He asked questions about the implementation. I improved the solution and answered everything he asked. He asked if I knew how to do a part in a particular way. Also Said It's okay if I don’t remember. I coded that too.

Then he gave me another version of the problem. I coded that too. Found some bugs myself, took a little time to fix that and then fixed it. Showed how it works in different test cases. He then changed some constraints and I answered his questions and said how would I change my code for that.

One thing is- that was an nlogn solution. He didn’t ask about improving. I had O(N) soln in mind. Forgot to talk about that :p

Couldn’t answer some small questions regarding a C++ built-in function. But I still guess that was okay with the interview.

  • After the interview I found out I missed 2 corner cases on the solution. :(

 

Round 4: [ 1 Medium ]

That was my best interview. Although the interviewer's communication wasn’t so clear and he was slow. He asked me a dfs/bfs type question where dfs/bfs wasn't even needed. I first explained how to do that using dfs/bfs. Then started coding in bfs. Then found bfs is not even needed. Explained it. He was happy. Coded that nicely. Asked if he had any other questions or if I should take the test now.

Went through testing, Found out an error myself. Explained why It's happening and then fixed the code. Again tested and explained. Asked several times if he understood everything. He was clear. He asked some other questions about code. The whole thing was done in 30 mins.

I guess he was very happy.

 

Round 5: [1 medium to hard and lot's of follow up]

The last interview was pretty challenging. He gave me a medium to hard level binary search problem. The coding part was done in 25 mins.

He then talked about CPU optimization. Asked how I would use the previous code if I had M CPU's? What would be the final time complexity. I couldn’t answer that much. But he cleared his questions differently. It was similar to a system design discussion and I wasn’t prepared for SD. I think I didn't do very well on that part, but also wasn’t too bad. He Wanted to know what I'm thinking. Whole discussion lasted till 55mins.

I guess the interviewer was also happy as he answered all my questions pretty nicely. (But not sure though as the last part didn’t go well)

So, that was everything.

Conclusion:

  1. I found 2 problems same from LC
  2. Other 2 were not in LC but if someone knows DS and Algos well, he can solve it.
  3. Try learning about the library function we regularly use.

 

Result: Received offer

by Expert (4,460 points)
0 like 0 dislike

Google | On-site | New grad SWE

 January 14, 2021

Q1. Given a table of rules, write a function to check if it contains conflicting rules. Two rules are conflicting if their conditions match but values do not. Conditions can contain don't cares denoted by '-'. Has to be done in O(n) time.

 

e.g
Rule Conditions Value
R1 C1,C2,C3 40
R2 BCD1,BC5 40
R3 BCD1,BC5 80
Here, R2 and R3 conflict.
e.g
R1 C1,C2,C3 40
R2 BCD1,BC5 50
R3 BCD1,- 50
R6 -,-,C3 40
No conflicts.

 

Q2. same as Round 4: https://leetcode.com/discuss/interview-question/930843/google-l3-onsite

 

Q3. Don't remember the exact question but it boiled down to Employee Importance

 

Q4. Given an n-ary tree, a monkey starts from the top of the tree and can climb to any of its children or stay at the same position (cannot jump more than one step). Write a function to find the probability of finding the monkey at a particular node at a time 't'.

by Expert (4,460 points)
0 like 0 dislike

GOOGLE | SWE NEW GRAD | [Rejected]

February 15, 2022 

I am writing down the whole experience. As it might be useful for anyone aiming for google or any giant tech. I interviewed with them at the end of by 7th semester during undergraduation. (Currenlty I am in my 8th Semester)

 

A random evening, I recieved a call from a google recruiter. Firstly she apologied for calling up late evening. She said her team was impressed by my linkedin profile and wanted to reach out. Then she checked their database wherein I applied for an opening around 8 months back. So they got my contact details. She also said that for some candidates, they directly move to the onsite rounds rather than phone interview if the profile is impressive. And I was one of those!

 

I agree that I have a good prior project and internship experiences and have been contacted by many HRs through Linkedin. But GOOGLE was beyond by dreams. To be honest, at the first glance, I thought it was a prank call, so asked her to email me the job details for which they want to interview me. She did the same and schduled by interviews within next couple of days.

 

It was a long shot also, didn't had enough time for preparation. I tried to prepare mentally to face it though :)

 

All rounds are strictly of 45 mins. They hard stop there! Sharing all the rounds experience, won't share the exact questions as I have signed NOC.

 

Onsite ROUND -1
TECHNICAL ROUND

 

Interviewer was Senior SWE at Google. Didn't turn on his camera as he was having bandwidth issue. Started with his introduction followed by mine. Gave a question staight away. Based on doubly linked list. It was Easy to Medium level question.

 

I took some time to undersatnd it and then explained my approach. He asked about corner cases. After seemed satisfied, asked me to code it. I did it pretty fast, but then missed a corner case, he asked me to recheck, then I spotted it out.

 

Then he asked about my projects and had some discussion on prior internships. Interview ended with if I had any questions for him.

 

Onsite ROUND-2
Googlyness

 

Conducted by Senior Software Engineer at Google. Project Discussions and Behaviorial Questions to check if your values align with that of their's. Think and answer wisely.

 

Onsite ROUND-3
Technical Round

 

Interviewer was SWE at Google Cloud. She didn't introduced her nor asked for mine. She doesn't seemed friendly at all. I became a bit nervous. She jumped to DSA question. Just verbally gave a question something regarding git commits and asked my approach.

 

I tried to think and clearify the question. Then she wrote the question on the coding doc. I understood what she wanted to ask, I gave a binary search approach. She didn't interact much so I don't know if I was on right track. She said to code down whatever I explained. I did it. Then she asked me to explain my code, while I was doing, she doesn't reacted, so it was difficult for me to understand if I was able to make her understand what I wanted. She said, she got what I was doing and lets move to next question as only around 12 minutes to complete the 45 minutes session were remaining.

 

The next question was related to system streams of input. I clearified my doubts but since no sample test case was given, I was struggling to get what exactly is asked. I asked her if she can give me a sample test case. She did so. After looking at sample input I quickly thought of a dynamic programming solution. Explained it to her. She asked me to write the dp equation and complete the function as soon, because we didn't had enough time. She asked about complexity and what my dp vector does etc. The interview ended with any questions I had for her. I asked about her team,tech-stack and her post at Google as she didn't tell at beginning. Interview ended up with a thank you note.

 

I just had one more last round before making it to the hiring team.

 

I really had high hopes. But recieved an rejection mail. Was kinda dissappointed. I am losing my confidence now but anyway it was a long shot. People work for years to get a call from google. I consider making up to that far as my achievement.

 

Don't want to speak about it as it is dishearting to everyone. Rejections are difficult to digest but we all should take it in a positive way and work more harder.

 

LASTLY I WISH VERY BEST TO EVERYONE IN THEIR SEARCH!

by Expert (4,460 points)
0 like 0 dislike

Google | New Grad SWE | April 2021 | Virtual Onsite

 April 20, 2021

Status: New Grad, BS CS
YoE: <1 Year (Previous Big N internship)
Location: MTV

 

Cannot disclose specific questions due to NDA.

 

Beharioral Round: Standard behavioral questions, taked about previous experience and project. We has a good time.

 

Grade: 4/5. I could have done better communicating my past internship, but he seemed impressed.

 

Round 1: Math related question. Felt like if I knew the math ahead of time, I would have been able to code this up in 5 minutes. Instead, I spent 35 mins trying to derive the math needed and the last 10 coding when I finally got it.

 

Grade: 3/5. Interviewer was not enthusiastic. Could have practiced more math questions, it was either a "you got it or you don't" with this one.

 

Round 2: Q1: Simple string question (easy), check whether a string is good or not. Did this in 10 mins.
Q2: Determine the number of good strings of a certain length, used backtracking along with my answer to Q1 to solve this.

 

Grade: 4/5. Could have done this quicker, but got through everything. Interviewer was rolling along with the solution but was reserved at the same time.

 

Round 3: Q1: DFS related question. What made this difficult was there were so many conditions to check. Code was sloppy at first, but simplified it remembering what I learned from LC. Interviewer explained bugs to me and I quickly corrected.

 

Grade: 3.5/5. Would have been a 4 if I simplified from the get. Interviewer was enthusiatic and thought I did well in thinking out loud, which helped me relax enough to perservere through this one.

 

Round 3: Q1: easy array question (randomize placement of numbers in square array)
Q2: return an randomized array such that all numbers are grouped with each other, first I thought of graph traversal used backtracking to generate the combination (placements once again had to be random). Didn't have time to finish this one, so interviewer told me pusedocode was fine.

 

Grade: 4/5 Felt like I had the fundamentals down. Hard to talk about big-O when dealing with random stuff, so we just thought of the average case or "in expectation".

 

Thoughts: Very math and graph heavy with some recrusion mixed in, could have done more math related problems. I don't think I'm getting this job, but who knows.

by Expert (4,460 points)
0 like 0 dislike

Google | India | New Grad [Offer]

March 23, 2021

Recently had my Google India interviews for new grad role.
I received a mail from a recruiter around June 2020 asking if I'd be interested in interviewing with them. Initially was asked if I would like to go directly to the onsites in the last week of September. Declined this as I wasn't very prepared. They said if I wanted to interview later, they'd have to have a phone screen as well. I didn't mind this I just wanted to be prepared through the whole process instead of rushing into it.
Had my phone interviews in October 2020. Scheduled onsites in the first week of February 2021.
Here's how it all went -
Telephonic Rounds

 

  1. Telephonic Round I :
    It was a simple question which was overcomplicated in the language. Took me too long to understand but I ended up giving a sub-optimal solution.
    The round went okay, wasn't very sure of what to expect.
  2. Telephonic Round II :
    A second round was scheduled and this time I had 2-3 questions related to each other on arrays. Overall the round went far better than the last one and I was feeling confident about this.

 

Received positive feedback from recruiter and was moved onto the onsites.
Onsites

 

  1. Onsite I :
    Got 2 medium questions revolving around BFS and Dijikstra's. For the second question I was initially thinking DFS but my interviewer asked me to optimize the solution. Finally finished both of those questions and the codes. Had a little chat about further subtler optimizations if possible. Overall, this round went very well according to me.
  2. Onsite II :
    Got 1 hard question. Initially stated a few points but started drawing blanks in the middle so there was a gap in communication. Asked the interviewer for a hint or two and he pointed me in the right direction. It was related to topological sort and I finished coding it. I wasn't very sure of what I was doing but the interviewer seemed to be happy with my code.
  3. Onsite III :
    Probably the best round I had so far. I was asked 4 questions of easy/medium difficulty and coded all of them. The questions were related to stacks, sliding window, dp, topological sort/dfs. Felt really good after this round.

 

About half an hour later, received a call from my recruiter saying that I did very well on 2 rounds and okay in 1 round and that they were happy with my performance and wanted to schedule the remaining two rounds the very next day.

 

  1. Onsite IV :
    This was the HR/Googleyness round. A lot of situational/leadership questions were asked. I believe it went well wasn't able to make out much from the Interviewer's tone.
  2. Onsite V :
    This was the final technical round, probably the worst onsite. I was asked 1 medium question. I said we could do a dfs and my interviewer asked me to go ahead and code it but I wasn't very convinced about the optimality of the solution. So I asked him if there was a better method possible and he asked me to store states in a dp. I started coding it but I wasn't very convinced with what I was doing and somehow the dp solution wasn't working well. So I suggested a BFS + dp(basically a dijikstra) solution and coded it. He didn't fully understand my approach even after explaining it to him numerous times and since we were almost done with the time, he said he'll read the code and evaluate it after the interview. I was very confident about the accuracy of my code, but I wasn't sure as to how this interview went. Also since they expect you to solve 2 medium questions in 45 minutes, I think that maybe it didn't go very well.

 

Received a call from the recruiter 2 hours later saying that overall feedback is positive and that they'd be sending my packet to the HC for approval. Does anyone know how long it takes to hear back from here?

 

Fingers crossed!

 

Update : The recruiter reached out after 10 days saying that I needed an additional round as the HC was a bit conflicted.
Additional Virtual Onsite I :
LC medium question slightly modified. I arrived at the solution pretty quickly and spent the rest of the time in implementation. Was a bit slow in coding so I wasn't sure about this round. Lost all hope after the interview.

 

A week after, received a confirmation from the recruiter saying that HC has approved my application and they are moving on to the team matching and offer review process. She said that I was overthinking about the last round and the interview went fairly well.
Received an offer, super elated! YAYYYYY :)

by Expert (4,460 points)
0 like 0 dislike

Google | New Grad | India | Onsite [Rejected]

May 2, 2020

Date: January 2020 - March 2020

 

Phone screen 1: (Mid November 2019)
Straight forward Word ladder, but with bits instead of letters. Took a few hints and some time to answer the follow-up question, which was to also print the path. Hence, had to go through another round.

 

Phone screen 2: (End November)
Simple tree based question. Had to find a number in a tree with some special properties. Don't remember the exact details. Solved it.

 

Onsite: (End January: Long gap due to Christmas)
My onsite was in Bangalore.

 

Round 1 : Medium level DP question. Fairly straightforward and I quickly identified it as DP. Had to maximize the profit given some costs. Had around 15 minutes left and was asked World ladder again! Went very well.

 

Round 2: Had to model the given question as a tree and then find the max cost to reach any node from the root node. DFS. Follow up was to model it as a graph, for which I had to use Dijkstra. Coded the Dijkstra version. Went very well.

 

Round 3: A string problem. Had to find the shortest string which doesn't occur in the given boolean string. This was pretty interesting because I had to optimize for memory and not for time. Each followup had a stricter memory constraint and some additional requirements. I was given input and memory limitations in mega bytes. Took a few hints.

 

Round 4: Array based question related to taking snapshots of the array. Had to implement few methods. Found out later that this question was added to Leetcode recently. Took a few hints. Next, I was asked a simple tree question, no coding was required.

 

Round 5: Pretty tired at this point. Had to find a path in a maze. Started off as a Medium level question and then progressed to a Hard level question. Hard one is on LC. Just managed to give sub-optimal solution after taking hints and could not even answer the Hard question.

 

HR: (Mid February)
Apparently there was a mistake in scheduling the rounds and I still had to give the HR round. Typical HR questions.

 

At this point, I felt I had a decent chance if they considered the first 4 tech rounds. But, a month later, I got a call saying I will have 2 more virtual onsite rounds since they still had to test my problem solving skills.

 

Virtual onsite: (End March)
Apparently, I needed to take 2 more rounds to further test my problem solving skills. It had been months since I prepared and I have a terrible memory, hence had forgotten almost everything. Had just a week to prepare for this. I had no motivation at all to prepare from scratch yet again and was feeling frustrated.

 

Round 1: Given a lot of intervals, had to find the number of intervals present in a given range. This was not direct. Took some time to figure out this was what they were asking for.
It had been a very long time since I had done an interval-related problem and hence screwed this up completely. Also, the lack of a white board for this question was a huge drawback. Anyway, I managed to give an oral solution to a part of the question but couldn't code it well. The solution is to use binary search. Wasn't allowed to use libraries for searching though, which further added to the problem. Completely bombed the round.

 

Round 2: This was more of a discussion on how I would design searching and ranking of documents and optimizing it. No coding involved. Went very well.

 

Round1 of the second onsite was obviously the reason I was rejected. I felt bad that the result was kind of determined by just one weeks preparation. In total I solved around 200 LC questions. Also, the process lasted for around 6 months due to Holidays etc which was just bad luck. I burnt out mid way and got tired of Leetcode.

 

My advice:

 

  • Get premium and go through the latest questions in LC tagged with the company you are interested in. I probably would have got the offer after the first onsite itself if I had done this.
  • Practice explaining your solution on a Google doc. Especially for trees, intervals etc. I had plenty of practice coding on a Doc.

 

Anyway, the recruiters and co-ordinators were very professional and helpful at every step. It was an amazing experience overall.

 

Journey before destination.

 

by Expert (4,460 points)
0 like 0 dislike

Google | New Grad 2022 | India [OFFER]

January 25, 2022 

I recently gave Interviews for 2022 graduate Software Engineer position in Google India. I can't reveal the exact problems because it's not allowed but can share some ideas.

 

My process started in Oct 2021. There was no OA. Recruiter directly contacted me via mail.
I was asked to share-
1)Updated Resume
2)Preferred Coding Language:
3)My availability for interviews

 

After resume screening, recruiter conducted small meeting to explain the process. The process is as follows-

 

  1. Telephonic Screening (45 min technical)
  2. Two Virtual Onsite Rounds (1st Round- 45 min technical; 2nd Round- 45 min tech + 15 min GNL)
  3. Final Virtual Onsite Round (45 min tech + 15 min GNL)

 

All the above rounds were conducted on Google Meet and shared coding doc was used. It wasn't Google Docs but their internal coding doc specifically for interviews. It had no auto-completion but had slight color highlighting and proper indentation.

 

1. Telephonic Round (Oct 2021)- It was pretty much same as Onsite rounds. Just the name is different. I was asked a Geometry Problem. Told him a brute force solution first verbally because that's the first thing that came in my mind. He wanted me to optimize it. After thinking for some time, I gave him an optimized solution and he was satisfied with it. He asked me to code it. I wrote the code. He read my code and was satisfied with it. He then asked me to improve runtime (not the time complexity) if the points are uniformly and randomly generated. I gave him some ideas and he was satisfied with that. I changed my code accordingly. In the end, he asked me if I had any questions for him.

 

After 1 week, I was told that feedback for telephonic round is positive and then next 2 rounds were scheduled.

 

2. First Virtual Onsite (Nov 2021)- This round was cakewalk for me. Interviewer directly started with the first problem. It was Leetcode easy level I think. It was just basic implementation. I explained him and wrote code. He told me to dry run the code on test case given by him. While dry running, I found 1 error and fixed it. He moved onto the follow up. The input of the follow up was output of the first problem. The problem would be Leetcode med level. In fact a similar problem already exists on Leetcode. It was application of multi source bfs. I wrote the code pretty quickly. He told me to check for some errors. I checked and there were some typos. I corrected them and then he asked me if I could not extra vis array and reduce space. I did that. He looked satisfied. This interview ended in only 25 min out of given 45 min.

 

3. Second Virtual Onsite (Nov 2021)- This was the hardest round I guess. There were 2 problems and both were based on playing cards. First one was pretty easy- just simple implementation. Then he gave the follow up. I gave him brute force solution and then asked me to optimize it. I didn't have any good ideas for some time. I gave him 2-3 approaches but some of them were either wrong or not optimal. I felt a bit nervous and I didn't get any idea. He also didn't give me any hint :frowning: After that an optimal solution came in my mind and I told him. It was different from what he wanted. So, he changed the constraints of one term to make my solution exponential. He then gave me a hint. Then, I told him another solution. He was satisfied with it. But then he again changed constraints of one more term. I felt like dying. I told him the solution for final constraints. He asked me to code it. The input format was difficult to parse. So, I asked him if I could assume input as array of array of integers for simplicity. He said ok. First, I had some issues with implementation but was finally able to implement it. He asked me to check for some error. I immediately realized a logical error. I fixed it. I wrote the final complexity. Then he bombarded me with 5-6 GNL questions. Overall, this was the hardest of all and went for complete 1 hr.

 

After a little more than 2 weeks, I was told that feedback for onsites is positive and then the last round was scheduled.

 

4. Third (last) Virtual Onsite (Dec 2021)- This was a different kind of round. I had to implement 5-6 functions that took object of entity as parameter. The entity could be a file or directory with some properties. Some of the functions were pretty easy and some were medium. I was able to write codes for all functions fluently except for one. For that one, he told me to dry run code for given test case and then I understood the logical error. I fixed the error. Overall, this round was quite interactive and I quite liked it. Regarding the concepts, this round tested- oops, trees, lazy caching/dp, updating the cached values etc. Then there was 10-15 min GNL round. It went well.

 

I haven't got the final results yet. I am very nervous. What do you think guys? Will I be able to make it?

 

UPD: I did make it :)

by Expert (4,460 points)
0 like 0 dislike

Google | New Grad | Phone Screen

 February 14, 2020 

I was given about a month to prepare for technical phone screen.

 

Technical phone screen.

 

The interviewer was running late on time, and my interview started 20 minutes late. First he gave me a warm up question, and I made some mistakes on incrementing counter. About 10-15 minutes later, we proceeded to another very simple question. I gave him two approaches, and discussed their pros and cons. Then we coded one of them. Then he asked me a simple algorithmic concept in detail. After doing that, we moved to a backtracking question, which I started coding, but could not complete, as he said we are out of time. Just asked me complexity of the question.

 

I though that I messed up beause of the very simple warmup question, and not being able to code the last. Surprisingly I got a mail saying feedback was positive.

 

Preparation: Phone Screens, I believe are pretty easy. They overlook a lot of points. Just making sure that you are able to come up with something resembling a good solution. I did abut 60 LeetCode questions for phone screen, and a few questions from some other sites.

by Expert (4,460 points)
0 like 0 dislike

Google New Grad phone screen (rejected)

 April 23, 2020

You are given a list of salaries on coseciutive days and integer K. Find two coseciutive not overlapping invervals of salaries that sum up to K and cover smalles possible amout of days. Return how much days they cover.

 

Example:
[1, 2, 2, 3, 2, 6, 7, 2, 1, 4, 8], K = 5
Ans: 4, (2, 3 and 1, 4 are smallest inverals and they cover 4 days, day 3 and 4 and day 9 and 10 . Note that 2, 3 and 3, 2 would not be valid anwser because it overlaps)

 

I wasn't given full information or examples at first, interviwer wanted that I understand the question and i am able to give him some examples with results before he gives me his examples.

 

My approach was dynamic programming, creating two DP arrays. One with best result (found by sliding window) coming from left and the other one with best result coming from right. Then just iterate once over those two arrays to find best result sum. Interviewer was very happy with that approach but I ran out of time while my code still had some bugs (that i see now :) ).

 

After that i was invited to a second phone interview.

 

The question started easily, I was given a interface of a serivice for logging how much time a request took. There were two methods, both taking String requestId as parameter - startRequest() and endRequest(). I have implemented it using a HashMap, added some edge case checks (like handling scenario if endRequest is executed before startRequest). After that i was asked how would i unit test such a service. Had a good converserion with interwiewer about few approaches like tracking map size or using mocked object to printing logs and verifing method invocation parameter. It was awsome till this point. Then he asked me follow up: what if we want to print requests in order they were receieved? I needed to ask few clarification questions and is should work like this:

 

When request A comes at time 10 and request B comes at time 20, then if request B is ended at time 30 we cannot print it because there is still not printed request before it. We should wait for A to be ended and then print both A and B (B after A ofcourse). It can get complicated if you think about more requests. Due to time pressure I kept confiusing myself and trying overcomplicated aproaches like graph / tree. At the end i came up with solition using HasMap for tracking request time, Queue for keeping order of printing and HashSet for keeping what requests have already been ended but are still waiting to be printed. The idea is: When request comes in, record it in a Map and add to Queue. When it ends update a map with time that it took and add it to Set of waiting to be printed. Then while waiting to be printed contains(Queue.peek()) keep on printing and poping / removing elements. Unfotunatly my time ended before i could finish it. Got rejected.

 

I have solved 294 questions on LeetCode - 176 medium, 92 easy, 26 hard and around 50 questions on hackerrank. I was also doing mock interview section on LeetCode for Google (got premium) and random question sets, finished 47 mocked interviews (mostly phone screens) with avg score 7.66 at the end. Before my interviews in about 2 weeks period i have solved around 100 questions. It was my first time doing this kind of interviews, stress and time presure is a really big factor. I feel like the second phone interview was really easy and i could ace it with no problems, but on the call my head was empty and i just kept confusing myself. Anyway i'm not losing hope, I will keep prepearing and try next time :). Best of luck to everyone.

 

by Expert (4,460 points)
0 like 0 dislike

Google SWE New Grad..

January 28, 2019

5 Rounds of Interview..

  1. Simple question involving pushing and popping elements off a queue.
  2. Given array, check if there's an arithmetic sequence of length 3. Follow up: given an array, return the length of the longest arithmetic sequence. Similar leet code question (https://leetcode.com/problems/arithmetic-slices/). I gave an N^2 solution for part 1, and gave an N^3 solution for part 2. Optimal solution for part 2 ended up being a N^2 dynamic programming solution.

LUNCH BREAK - walked around with a googler to tour office

  1. Given an array of pairs of floating point numbers, which represent points that lie on a unit circle, sort them in counterclockwise order. You can choose an arbitrary start point as the 'smallest'. At the end, I had like 6 minuites left, and the interviewer said 'we don't have time for another coding problem,' and asked me some theoretical questions on sorting instead. He gave 5 run times in Big theta notation and asked me to rank them from worst to best. And then asked me for comparison based sorting algorithms, what is the best possible runtime, and why.
  2. Graph problem similar to this: https://leetcode.com/problems/robot-room-cleaner/. The problem was somewhat cryptically phrased, but it went something like: Given a m by n grid, fill the grid with random paths. Return the result as a tree.
  3. Graph problem similar to this: https://leetcode.com/problems/evaluate-division/

Applied online. Took over a month to first hear back. After that, took 3.5 weeks to get an offer. Onsite interviewers seem not to have coordinated with each other about what problem they were going to give, as I was asked multiple times to tell them if another person already gave the question.

by Expert (4,460 points)
0 like 0 dislike

Google L6 

Date : May 15, 2021

Phone screening 1 :
Given a chess board an a knight and a starting position return true if Knight can visit all cell

 

  • a backtracking algorithm took 15-20 min to code

 

Followup 1 : How will you change the algorithm if a knight can only visit a cell once.

 

  • changed the code to keep the visited 2D array .

 

Followup 2 : What if some cells are marked blocked. Return true if all remaining cells can be visited.

 

Followup 3 : Return the minimum path to visit all all cell just once.

 

  • Backtracking but I did with BFS and returned the first solution.

 

Onsite

 

1 Coding  : https://leetcode.com/problems/remove-invalid-parentheses/

 

  • First asked to remove invalid brackets and return a solution with maximum length.
  • Followup : can we generate all the possible longest valid parentheses string

 

2 Coding : very similar to https://leetcode.com/problems/logger-rate-limiter/
 - Asked to design a class that will not print the log (an integer) if found in last x sec
 - Interviewer was looking for a good data structure that can print and store it in buffer
 - I did TreeMap but could have just used StringBuffer . I asked should we discard the most recent visited or already added in stream in x sec window - its up to me to decide.

 

3 : System Design -  Ads click optimization . Design a system that can be trained and evaluated to optimize on revenue as objective function. Drilled down on how will you evaluate the model on frequent basis.

 

  • Training objective function :  Imaging coke pays 0.1$ for ad click vs pepsi 0.001$ the optimization will be on total revenue and its possible model will prefer pepsi over coke as it drives heavy traffic.
    Interviewer asked
  • Evaluation sets
  • Data Handling
  • Talk about Read Write and Update scenario
  • Why choose one technology over other
  • Testability

 

4 System Design : Google Event booking system
System will work as part of Google Search

 

  • Able to list different cities in search
  • Filter by city
  • shows and event availability
  • The user should be able to choose a show at a particular cinema and book their tickets.
  • Users should be able to put a hold on the seats for x minutes
  • The user should be able to wait if there is a chance that the seats might become available, e.g., when holds by other users expire.
  • fair, first come . User can hold only upto 10 seats at a time

 

5 Googlenes / Behavior Round

 

  • biggest technical challenge
  • time when you failed
  • had a conflict
  • able to influence
  • cross-team impact situation
by Expert (4,460 points)
0 like 0 dislike
Date : December 27,2021.

Recieved an offer within the last 6 months, I decided to post to LC as I found it very useful for prep.

 

YOE: 2 no well known companies

 

Come from a country where LC interview style questions aren't really a thing so It took a bit of time to ramp up however I did go to university and learn't DS/Algos from classes, decided to read/go through a couple interview prep books (IDK if im allowed to mention them but im sure you will find them) I found the book that starts with elements... and cracking... really useful and would reccomend (Questions weren't in there but topics are useful).

 

Spent around 2-3 months prepping, didn't interview with any other companies and I did around ~250 LC questions all up in LC mostly medium's with ~30 hards. I focused on a per subject basis untill I was confident in the subject then moved on to the next subject for the first ~180 questions then I focused on the google premium tab (Questions weren't in there but good all round practice).

 

I got interviewed from mostly american interviewers, Interviews weren't as hard as others have mentioned (maybe luck?) would reccomend looking into BST's, Tries, string questions, typical graph problems, ensure you learn your DS/Algo fundamentals. They really emphasize on communication and thinking outloud so make sure you can talk out loud and clearly communicate, and treat it like you're solving the problem with a co-worker (I know it can be hard). Also give time complexitys/Space complexitys before you code your problem and ensure that the interviewer is fine with your solution before you code it, dont just jump straight into it.

 

I went into HC with 5 Hires/Strong hires for onsite I believe from the feedback I was given. Won't provide question info because I think the questions were really fair and dont want them to be banned but difficulty would probably be medium's for the first phase then rolled into hard follow ups.

 

The biggest advce I'd give is to have fun and try your best, if not google then you will go to another great company.
by Expert (4,460 points)
0 like 0 dislike

Date : March 31,2021.

Went through the Prelim round, the interviewer asked a medium problem that asked for Topological sorting. Coded the solution in 5 minutes and spent 15 minuites taking interviewer through the different test cases using the solution. After he was satified he gave me what if, I found the hint to be an improvement, not in terms of run-time but just simpler code. I made the improvements and he was satisfied.

 

Onsite:
1.) This round stated with a problem that asked for depth first search, i coded the solution and he added on the problem, for which i modified the approach to cover. He asked me for runtime complexity. I realised the runtime complexity was bad. he asked me for some what if, and i did the changes, they made the code readable but did nothing for runtime. Note: After the interview i thought of a perfect solution that could have improved the runtime complexity a lot, but it didn't come to me during the interview.
2.) In this round i was given a problem that required DFS or BFS, but i found that these solutions will less optimum so i went with Union find. Coded Union-Find and explained the algorithm to the interviewer.
3.) This problem too required DFS/BFS, but i applied Union-find to it, improving the runtime from DFS/BFS, this round went like a dream.
4.) System design problem, discussed capacity estimate, domain design, service design, cache and database sharding. Used the capacity estimate to answer some quatitative questions asked later.
5.) goolyness - Spoke from heart, and itterated real stories from my previous experiance.

 

Got the offer. I think the most important thing for me was time managment, i talked while i coded, explained away as i was writing the code. I wanted to give the most optimal solution, so i went with them, i discussed why the optimal solution is better then the other. After finishing would take one of the test cases and go through the code with that test case - line by line, to talk the interviewer through the solution again and check for any mistakes and corner cases.

 

I think the key was time managment.

by Expert (4,460 points)
0 like 0 dislike

Date : 15th Februrary , 2022 .

I am writing down the whole experience. As it might be useful for anyone aiming for google or any giant tech. I interviewed with them at the end of by 7th semester during undergraduation. (Currenlty I am in my 8th Semester)

 

A random evening, I recieved a call from a google recruiter. Firstly she apologied for calling up late evening. She said her team was impressed by my linkedin profile and wanted to reach out. Then she checked their database wherein I applied for an opening around 8 months back. So they got my contact details. She also said that for some candidates, they directly move to the onsite rounds rather than phone interview if the profile is impressive. And I was one of those!

 

I agree that I have a good prior project and internship experiences and have been contacted by many HRs through Linkedin. But GOOGLE was beyond by dreams. To be honest, at the first glance, I thought it was a prank call, so asked her to email me the job details for which they want to interview me. She did the same and schduled by interviews within next couple of days.

 

It was a long shot also, didn't had enough time for preparation. I tried to prepare mentally to face it though :)

 

All rounds are strictly of 45 mins. They hard stop there! Sharing all the rounds experience, won't share the exact questions as I have signed NOC.

 

Onsite ROUND -1
TECHNICAL ROUND

 

Interviewer was Senior SWE at Google. Didn't turn on his camera as he was having bandwidth issue. Started with his introduction followed by mine. Gave a question staight away. Based on doubly linked list. It was Easy to Medium level question.

 

I took some time to undersatnd it and then explained my approach. He asked about corner cases. After seemed satisfied, asked me to code it. I did it pretty fast, but then missed a corner case, he asked me to recheck, then I spotted it out.

 

Then he asked about my projects and had some discussion on prior internships. Interview ended with if I had any questions for him.

 

Onsite ROUND-2
Googlyness

 

Conducted by Senior Software Engineer at Google. Project Discussions and Behaviorial Questions to check if your values align with that of their's. Think and answer wisely.

 

Onsite ROUND-3
Technical Round

 

Interviewer was SWE at Google Cloud. She didn't introduced her nor asked for mine. She doesn't seemed friendly at all. I became a bit nervous. She jumped to DSA question. Just verbally gave a question something regarding git commits and asked my approach.

 

I tried to think and clearify the question. Then she wrote the question on the coding doc. I understood what she wanted to ask, I gave a binary search approach. She didn't interact much so I don't know if I was on right track. She said to code down whatever I explained. I did it. Then she asked me to explain my code, while I was doing, she doesn't reacted, so it was difficult for me to understand if I was able to make her understand what I wanted. She said, she got what I was doing and lets move to next question as only around 12 minutes to complete the 45 minutes session were remaining.

 

The next question was related to system streams of input. I clearified my doubts but since no sample test case was given, I was struggling to get what exactly is asked. I asked her if she can give me a sample test case. She did so. After looking at sample input I quickly thought of a dynamic programming solution. Explained it to her. She asked me to write the dp equation and complete the function as soon, because we didn't had enough time. She asked about complexity and what my dp vector does etc. The interview ended with any questions I had for her. I asked about her team,tech-stack and her post at Google as she didn't tell at beginning. Interview ended up with a thank you note.

 

I just had one more last round before making it to the hiring team.

 

I really had high hopes. But recieved an rejection mail. Was kinda dissappointed. I am losing my confidence now but anyway it was a long shot. People work for years to get a call from google. I consider making up to that far as my achievement.

 

Don't want to speak about it as it is dishearting to everyone. Rejections are difficult to digest but we all should take it in a positive way and work more harder.

 

LASTLY I WISH VERY BEST TO EVERYONE IN THEIR SEARCH!

by Expert (4,460 points)