Tips To Crack The Google Software Engineer Interview
Hereâs a list of tips you can use while preparing for the Google software engineer interview.
- Learn the fundamentals – Get good with Data Structures and Algorithms. Also brush-up on the fundamentals of systems design.
- Practice solving coding problems using pencil and blank paper or a whiteboard and markers. You could be asked to write code on a whiteboard at the Google on-site interview.
- Create a study list of technical topics to cover. IKâs Tech Interview Checklist will help you with that.
- Begin your prep at least 8 weeks before your interview. This will give you adequate time to cover the important concepts in coding and design.
Prepare Answers To Some Common Questions:
Furnishing yourself with answers to the questions that they regularly ask is always a good idea. Do not assume that just because you are familiar with the principle things, you will be able to get through the interview successfully.
Often though we are familiar with answers, we find it tough to coherently get our words and thoughts across and end up using extremely unprofessional statements like you know what I mean or you get the point. The interview questions might cover anything that is on your CV. Thorough knowledge on the fundamentals of Computer Science is a must for any engineering job that you might apply for at Google.
The questions will test your knowledge on topics like-logical problems, hash tables, stacks, system design and arrays. If you answer the questions well and confidently then you have nothing to worry about.
Top 15 Google Coding Interview Questions
Find the kth largest element in a number stream
Problem Statement: Design a class to efficiently find the Kth largest element in a stream of numbers. The class should have the following two things:
The constructor of the class should accept an integer array containing initial numbers from the stream and an integer K.
The class should expose a function add which will store the given number and return the Kth largest number.
Find k closest numbers
Problem Statement: Given a sorted number array and two integers K and X, find K closest numbers to X in the array. Return the numbers in the sorted order. X is not necessarily present in the array.
Delete node with given key
Problem statement: You are given the head of a linked list and a key. You have to delete the node that contains this given key.
Copy linked list with arbitrary pointer
Problem statement: You are given a linked list where the node has two pointers. The first is the regular next pointer. The second pointer is called arbitrary_pointer and it can point to any node in the linked list.
Your job is to write code to make a deep copy of the given linked list. Here, deep copy means that any operations on the original list should not affect the copied list.
Mirror binary trees
Problem statement: Given the root node of a binary tree, swap the left and right children for each node.
Find all paths for a sum
Longest substring with no more than k distinct characters
Equal subset sum partition
Also Check: Interview With Cfo
The Four Key Attributes Google Is Looking For
To best prepare, you need to understand the structured interviewing process that Google uses and the 4 attributes that they are looking for. Framing your preparation around these 4 attributes is a good strategy.
I. General cognitive ability
Google wants smart people who can learn and quickly adapt to new situations. This doesnât mean they give you an IQ test, but rather they are seeing your approach to problem solving. Google explains how they test this on their career site. The key is having a framework, or multiple frameworks, to answer questions . For example, a GCA question could be âHow would you convince a Google Cloud Platform customer to expand their cloud services?â To answer this skillfully, Google wants to see that you have a structured and logical approach. This could mean you need to consider and expand on all of the following: Historical Data, Budget, Timeline, Resources , Risk â Mitigation, Scoring, Dependencies, Scope/Scale, and Stakeholders and Shared Vision.
Google looks for a particular type of leadership called âemergent leadership.â Emergent leadership occurs when a group member is not appointed or elected as leader, but rather that person steps up as the leader over time within group interactions. Check out Laszlo Bockâs video on emergent leadership here.
IV. Role-related knowledge
What I Needed To Prepare For
After a call with another Google recruiter , I was given all the details regarding the interview, interview prep, and answers to any other questions I had.
Here was the rough plan of the onsite interview:
- The first interview starts at 9:45 – 10:00 AM. Come in 15 minutes early for buffer time.
- There will be 3 interviews in the morning, followed by a lunch with a Googler. The lunch is not an interview. Its simply an opportunity to meet and talk with a Googler about anything that I am curious about.
- There will be one last interview in the afternoon after lunch.
- All the questions will be algorithm questions system design question is not asked for University grads.
The recruiter gave me two follow-ups – a guide on how to prepare, as well as an appointment for a Google Technical Interview Coaching session. The guide was not too much different from the prep materials that I posted in my second post. The coaching session was a 1-hour long Google Hangouts session where a Google Software Engineer would share his way of acing the Technical interview. It was a group session taken with a bunch of other interview candidates.
Also Check: Interview Attire Women
Dispelling Myths About The Google Interview Process
Myth #1 âYou need to have a perfect GPA and/or have attended an Ivy League school.â
When Google was growing rapidly, hiring for high GPAs, top universities, and big name companies made it easy to quickly select and screen candidates. This screening method is a common hiring technique for many tech companies that are scaling. This is no longer the case.
Since the company has grown to over 100,00 employees, itâs simply not possible to capture the talent they need by limiting their hiring to these criteria. Another reason theyâre no longer focused on academics comes from research conducted by the Google hiring analytics team. They found that a personâs grades only predict performance for the first two years on the job â but not afterwards.
Today, Google hires people from all backgrounds and takes into consideration your overall work experience and achievements. Whatâs more important is whether you are a fit for the culture, are a natural problem solver, and have experience in the role.
Myth #2 âYou will be asked brain teaser questions that are meant to trip you up.â
Myth #3 âGoogleâs interview process is a black box and different from its competitors.â
The interview structure, in other words, is pretty similar to Facebook, Amazon, Netflix and other leading tech companies. There is an initial call with a recruiter, then hiring manager, and then a structured loop interview of 3-5 people that test you on various parts of the culture and role.
How To Get Noticed By Google Recruiter
Get an internal referral. One of the best ways to get Google recruiters attention is to get an internal reference.
Internal referrals get more attention. Do you have any Google connections in your extended network?
E.g. friends of friends? Professors who have had students that went to Google? If so ask them to submit your resume.
On-campus events. Google often has on-campus recruiting events. Having a face-to-face with a real recruiter may help them remember you.
You may even be given the opportunity to interview on campus.
Contact a Recruiter via Linkedin . One of the easiest ways is to search for Google recruiters on Linkedin.
Try to follow them for some time and send them a private message with details about you along with your CV.
Recruiters at Googles does not mind being contacted by good candidates.
Show off your work. This is one of the most important tactic to get immediate attention from Google recruiters. But unfortunately it is not for everyone.
Have you contributed to some well known open source project? Or are you a creator of some fancy framework, library or even an extension etc. Then this is the best strategy for you.
All you have to do is to contact a Google recruiter by using one of the above methods and show them your work. If it is important enough, you will get interview invitation.
Recommended Reading: Best Interview Clothes For A Woman
Google Interview Program: Get Interview Coaching From Ex
Weâve developed a hands-on career coaching program proven to dramatically increase your chance of landing your dream job at Google.
Take the guesswork out of interview preparation with the help of former Google hiring managers.
Over multiple hires and thousands of interviews, weâve developed a program that has been shown to be effective in preparing you for interviews and increasing your chances of getting a job atGoogle. The content weâve created gives you a huge advantage over other interviewees, but the real power comes from coaching. You are paired with a trained coach who has a background working directly with Google, and who can tailor the program to you and maximize your chances of success.The bulk of the program is structured around helping you create, clarify and practice articulating your past experiences from that will help you to demonstrate your fit at Google and your suitability for the role based on the 4 hiring attributes: General cognitive ability,Leadership, Googleyness and Role-related knowledge.
How I Got Here
I started programming in middle school, but when it came time for college I pursued a degree in Economics. My rationale was that there would be too many programmers looking for jobs by the time I graduated. Boy, I was wrong.
Later, I joined the Army to become a programmer, but the recruiter talked me into a military intelligence position, and I spent the next two years studying the Korean language. I served in South Korea for 2 years afterward.
Before I left the Army, I attempted to get back into programming and was surprised at the difficulty. I had learned BASIC in middle school and kept programming it through high school. But I restarted my programming studies with C++, and the leap was too large. I just couldnt grasp it.
I did enjoy making websites, however, but I used software with a Word-like interface that I used to publish my websites. I didnt know how to make websites from scratch.
After a year of intense study, I landed a job in the Seattle area, and Ive been here ever since.
Ive been a web developer now for 15 years. Ive started 3 companies, 2 of which are still running and generating revenue. Ive worked at large and small companies, helped startups launch and grow, and recruited and managed teams. Ive been a product manager, a CEO, a designer, and a marketer.
You May Like: Questions To Ask Cfo In Interview
Google Engineering Manager Interview
The is challenging because the role of the Engineering Manager, or EM, is challenging. Its also one of the most important roles at Google. Technical chops are required, but so are sound management and communication skills. Engineering Managers must have technical know-how to provide leadership for major projects while also motivating and leading the people doing the work. You can expect 4 types of interviews for the EM role: technical phone interview, leadership, coding, and system design.
The technical phone interview will cover coding questions. Youll have to actually write code in your strongest language after explaining how to think about an open-ended question via an algorithm. The leadership interview will be more behavioral in nature. Youll be asked about leadership experience, working with teams, and what the firm refers to as Googleyness. Googleyness refers to your comfort with ambiguity, action bias, and collaboration. Remember to draw on concrete examples to demonstrate your leadership skills.
You could encounter the following math and/or coding questions in an EM interview:
Dont Miss: Best Interview Clothes For A Woman
Seeking A Career Change
Remember the part where I didnt get a computer science degree? It has made a difference.
A few years ago, I thought I could get hired anywhere. I thought I was hot stuff: the elusive full-stack web developer. But during my job search in 2013, I realized my skills were lacking. I had spent so much time chasing dollars by running startups in my spare time, that I had let my skills atrophy. I hadnt kept up with technology.
For years, I had learned just enough to get by. I had a wide skill set but wasnt an expert in anything.
Dont get me wrong, I could still get hired, but not in the technologies or areas I wanted to work in. I could get hired for areas where the tech stack was somewhat outdated, like me. Theres big money in there, but I didnt see exciting prospects.
The realization reached its peak last year at a career fair. I was interested in perhaps working for one of the local companies that were startup labs run by venture capital firms. However, the fact that I lacked a computer science degree, and the skills and knowledge that accompany such a degree, meant I didnt have a chance.
I was working full-time on my businesses at the time, and still am today.
At the beginning of 2016, I decided it was time to make a career change from web developer to software engineer. I would need to study hard and practice in order to compress a computer science degree into a few months, but once I did, I could start a new career.
Don’t Miss: System Design Interview Preparation
What Is An Interview
You should consider an interview as the time to shine and to sell yourself in an efficient yet warm manner.
A job interview is essentially a meeting organised by a recruiter that is used to evaluate a potential employee for prospective employment. However, consider this meeting as a two-way process between the candidate and the interviewer. The interviewer wants to find out how well the candidate could do the job and fit in with their organisation and team and the candidate aims to show that they are the best person for the job and for the organisation but they also should aim to find out more about the work environment.
Job interviews are usually face-to-face meetings however, in recent years, telephone interviews and Skype interviews have become more commonplace. Interviews last approximately 45-60 mins, although telephone interviews may be slightly shorter.
Depending on the type of job you have applied for and seniority of the role, the interview panel may vary between three and 12 members. Usually, the more senior the job, the wider the composition of the panel.
Learn The Types Of Interview Questions
At this point, its time to start figuring out how to work in relevant details into interview answers. One of the best ways to start is to learn about the different kinds of interview questions.
If you need to say no, youll need a different approach. Pivot by discussing how you intend to acquire the skill or by focusing on your willingness to learn and excitement about professional development. Many hiring managers will consider a candidate who doesnt have every hard skill if they are enthusiastic and have potential, so this method can work.
Don’t Miss: Questions To Ask A Cfo
Best Questions To Ask At The End Of An Interview
At the end of your interview with Google, the interviewer might ask you if you have any questions for them. The worst thing you can do here is say no. Show your interest, commitment, and engagement by presenting them with some thoughtful questions.
Here are a few examples:
- What does an average day look like for someone in my role?
- How would you measure success in the position Im interviewing for?
- Whats your favorite part about working for Google?
- What’s the most challenging part about this position?
Bonus Google Interview Tips
Gauge your Plans:
- Google is a deeply diverse company that deals with several different technologies.
- Understanding how things work on the inside can help produce the right answers during the interviews.
Focus on specifics:
- From how you have solved certain problems in a previous project to answering how you deal with working in a team.
- This gives the interviewers a closer view into who you are as a person.
Know beyond google:
- While it is a good idea to know what is happening inside Google.
- Having a good understanding of newer areas with potential.
Hoping this information covers all your doubts and questions about Google Interview, we are closing up the content here. Make sure to check out the video if you need to understand better. All the best for your interview! Happy Learning!
You May Like: Top 10 Behavioral Questions
How To Prepare For Google Software Engineer Interview
Knowing what concepts to cover for the Google software engineering interview and dedicated practice are key to preparing for Googleâs software engineering interview. Hereâs what you must cover:
- Be familiar with at least one programming language and object-oriented programming concepts.
- Understand how different algorithms work and their complexities.
- Solve popular problems on hashmap, stack, queues, linked list, etc.
- Learn simple and discrete math problems like probability and statistics.
- Understand the concurrency, processes, and threads related to operating systems.
- System design questions that help you to showcase your problem-solving skills in real-world problems