Google Interview Experience for SDE
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 :
- Make a time schedule(Time is restricted in most interviews from 45 mins to 1 hour, at Google really strict)
- 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
- Go for brute force if you find your time is > 25 mins optimize later (always look for hints from the interviewer)
- Do not lose until an interview is over, You have got this.
- Write clean code, if you compromise always inform the interviewer. (Also do not waste time on this)
- Dry run with an actual case with output side by side
- 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.
- How did you resolve any conflicts between your team?
- Tell me about one time you worked on a project/task and it failed?
- What is the most challenging project you have worked on?
- What is the project that you enjoyed most?
- What is your greatest strength/Weakness?
- What is the hardest bug that you solved?
- Why should we hire you?
- 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?
- 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!