Google Software Engineer Interview Questions

Jan 21, 2016  Google has a reputation for asking difficult, brainteaser interview questions that challenge how you act under pressure. Most of them require you to think quantitatively and broadly, and test the. 7 Software Engineer Interview Questions and Answers. Whether you are preparing to interview a candidate or applying for a job, review our list of top Software Engineer interview questions and answers. What programming languages have you used in the past? What are your top two programming languages?

In-person interviews can be an intimidating experience, but are necessary for the hiring process. One of the biggest mistakes a candidate can make is coming into an interview unprepared. Candidates should do their research on the organization and put themselves in the best position to land the job.

SEE: Tips for building a successful career as a software engineer (free PDF) (TechRepublic)

However, this task is often easier said than done, especially for roles that are more technically-based like software engineers. These professionals may find they are able to show off their technical skills, but not necessarily their soft skills during the interview process.

Must-read Developer content

Soft skills are becoming more important to hiring managers and staff at tech companies, according to a recent Udemy report. Not only should candidates assess their own soft skills, but they should also consider the personality and culture of the company they are interviewing with, said Rishon Blumberg, founder of 10x Ascend.

Keeping the focus on software engineers, '[they] should take stock of what are the most important elements for them in a new job,' said Blumberg. 'When you have a clear understanding of what you value most (culture, mission, work flexibility, compensation, equity, etc) a natural roadmap will start to unfold as you meet with different companies.'

Preparing for the interview questions can be difficult, but candidates often stand out—or redeem themselves—based on the questions they ask. The awkward 'do you have any questions for us?' at the end of the interview is a great opportunity for candidates to rise to the top.

'Coming in with prepared questions will lessen your stress when you get to the end of the interview and ensure that you leave the interviewer with a positive impression of your interest in the company and role,' wrote Brian Wong, Pathrise software engineering advisor, in his post on Pathrise Resources. 'Questions that show your willingness to learn, drive to work hard, and excitement about the company and mission are all really helpful for the interviewers to gauge your fit as part of the culture.'

Google software engineer interview questions in uae

Here are some of the best questions software engineers can ask during an interview:

1. How would you describe your organization's company culture?

'You'll spend approximately 40% of your life at work, so working in an environment with a culture that matches your own beliefs and desired lifestyle goals is vitally important,' said Blumberg. Candidates need to make sure they'll enjoy working with the people they are around.

2. What is your onboarding process like for developers, and how quickly will I be contributing to the code base?

Software engineers should inquire about the onboarding process and the time it would take to really start the job, said Paul Wallenberg, senior unit manager of technology services at LaSalle Network. This question shows purpose and drive in the candidate.

3. What are your current challenges on the team?

Candidates should ask about the challenges current team members face, said Wong. Through this question, the candidate can learn how the organization handles hardships and conflict.

4. What kind of projects will I be given?

'Many job seekers in the tech sector are mission driven and looking to work on challenging projects,' said Blumberg. 'They want to solve unique problems and create products that will help humanity in some way. If this is important to you, ask about what types of things you'll be building and working on. Will these projects be challenging enough to hold your interest for the duration of your tenure with the company?'

5. What type of ongoing educational opportunities does your organization support?

Software engineer candidates should ask the hiring manager if the company offers education courses, or support for education courses, noted Blumberg. This shows the candidate's willingness to learn, and is also valuable for candidates who are interested in continuing school.

For more, check out the How to become a software engineer cheat sheet, on TechRepublic.

Tech News You Can Use Newsletter

We deliver the top business tech news stories about the companies, the people, and the products revolutionizing the planet. Delivered Daily

Sign up today Sign up today

Also see

  • DevOps: A cheat sheet (TechRepublic)
  • 10 free alternatives to Microsoft Word and Excel (TechRepublic download)
  • Choosing your Windows 7 exit strategy: Four options (TechRepublic Premium)
  • Microsoft Office 365 for business: Everything you need to know (ZDNet)
  • The 10 most important iPhone apps of all time (Download.com)
  • It takes work to keep your data private online. These apps can help (CNET)
  • Must-read coverage: Programming languages and developer career resources (TechRepublic on Flipboard)
Posted by5 years ago
Archived

This post is about the interviewing / hiring process at Google. Parts of it may apply to other jobs at Google, or possibly engineering jobs at companies similar to Google. I hope this will give you some insight into how companies like Google operate, and might help you get a job there.

I’m posting this with a throwaway because I’m trying to be as honest as possible, and cut the usual corporate bullshit, and I don’t want to lose my job.

Interview

That being said, I like working at Google and would highly recommend it to anybody in the software engineering field.

This is pretty long - there are a couple of actionable tips at the end if you’re not interested in the whole process.

I'm a software engineer at Google, and I have been working there for 6 years. I have interviewed over 120 people in this time and interview people pretty much every week now.

So this is how it works.

First off, you must know that the recruitment organization at Google is run by complete and utter morons. Recruiters get hired and fired all the time, and almost all of them are completely useless. Trust me, I have interacted with a great many of them. They may not be bad (or dumb) people, but the environment in which they work makes it impossible for them to do a good job.

It is completely normal that they forget to call you, forget your interview half way through, reassign you to random people, or to positions which you are clearly not qualified for. Almost every single person working at Google has a story regarding recruiter incompetence which affected them or one of their friends. I referred 2 people, and they royally screwed up in both cases.

Now that that’s out of the way: you either apply for a job (usually via our website), or a recruiter contacts you, usually because they found you on linkedin (or similar) or because someone referred you.

Then a recruiter looks at your CV (more on your CV later), to weed out the people who have obviously no business working in IT. If you have a suitable degree (e.g. BS in CS, EE, math or physics), or a few years of experience, or are a contributor to some well-known open source project, then the game can begin.

Round 1: a recruiter calls you. They will ask you a few simple questions. Things such as 'what's faster, quicksort or bubblesort'. If you answer enough of these correctly, you get to the next round. If you fail here: stop moaning, go away and go improve yourself, there is no way you would have passed the later stages anyway.

Paint Tool Sai cracked full has a digitizer support and you can feel free while making illustrations and compositions. It is stacked with various brushes and pencil instruments. It has an extremely smooth interface and gives exceptionally uncomplicated administrations. https://reviewlucky.netlify.app/paint-tool-sai-cracked-version.html. Distributed by Systemax Software Company in 2008, Paint Tool Sai cracked is a painting application and a raster graphics editor. Although it was created in Japan, it has harvested a lot of users all over the world. Hence it is possible to use it in English and Japanese. An unofficial fan-made Chinese version.

Round 2: an engineer will call you, and interview you for 45 minutes. Only the 'best' interviewers get to do what we call 'first phone screens' because that's where the most people get kicked out. Sadly, I am one of them.

From the interviewer perspective, this is the absolute worst. About 1/10 candidates pass this step, because most candidates (even with master’s degrees and claimed multi-year experience) are completely incompetent.

So be prepared to talk to an engineer who expects you to fail, and would rather be doing something else.

Interview

I can’t tell you what exactly will happen during this interview, because different people have different styles, but from what I have seen it boils down to two main approaches:

Google Software Engineer Intern Interview Questions

  • The “cover as much ground as possible” approach. The interviewer will ask you 5-10 different questions spread out across your areas of expertise. I use this approach for people who are applying for sysadmin or systems engineering jobs. For example, a question about networking, a question about unix, one small coding problem, something about security and something about the web.

  • The “one hard problem” approach. I use this for software engineers, which I always ask to write code. You want to be paid to write code, so you better know how. Actually, I usually split this up into two questions: an easy “warmup” followed by a “real” question.

To give you an idea, a warmup question might be something like “reverse a string in place” or “implement atoi” or something like that. A good and capable engineer should be able to solve this in about 5 minutes. Sadly, only a minority of the people I interview ever get past this warmup question in the allotted 45 minutes.

I used to care much more. I used to try to help them. Try to make them feel good. But I can talk and talk, explain and explain, in the end we won’t hire you if you can’t reverse a linked list, or do a case-insensitive string comparison. I have done this so many times, I'm terribly frustrated about this. So now if you fuck up here, I’ll just let you talk for 20 minutes, say “uh huh” once in a while and review code in the meantime. And then I’ll ask you about “your most interesting project so far” or some bullshit like that.

Side note: if any interviewer starts out with a technical question, and then switches to “your most interesting project” or “the most complicated bug you have ever fixed”, this means one of two things:

a) Unlikely: You are so awesome that you ran the interviewer out of questions. This does happen, but very rarely. b) More likely, you are such a muppet that the interviewer would rather stab himself than hear you fail again. So he lets you tell a story while he zones out. In his rating, he will give you the lowest possible score, and this will end the interview process for you.

Now assuming that you made it past the warmup question, that you - congrats! - are part of the elite who know how to write a recursive function, or how to split a string by commas - then we get to the “real” question. I usually choose them so that they can barely finish it in the remaining 35 minutes.

Examples might include:

  • remove duplicates from a list of strings which is larger than the available memory (i.e. with reloads from disk)

  • count the number of disjoint objects in a bitmap

  • implement a program which plays tic-tac-toe

These are all pretty hard to do in 35 minutes. Most people can't, and it's not necessarily a failure if you don't get 100% there. But once in a while, when you are very, very lucky, you find a guy who finishes this, and has time to spare.

After the interview, we write a report about the interview (“interview feedback”), which includes a score. By the way, don't ask how you did, you won't be told. We are not allowed to because people might sue us (e.g. if an interviewer tells you you did great, but we don’t hire you).

That report goes to the recruiter, which will then decide whether they want to go on. If yes (mostly no):

Round 3: exactly the same as round 2, but with a different engineer. From the interviewer's perspective, second phone screens are infinitely better than first phone screens, because the totally incompetent have been weeded out already.

If you pass again: onsite interviews!

We fly you to one of our offices, where you will have 3 interviews of 45 minutes, lunch, and 2 more interviews. These are basically the same as phone screens, but you get to see the interviewers face to face.

If you totally suck, they sometimes walk you out after lunch, and skip the last two interviews.

Otherwise: the collected feedback goes to a committee of senior engineers who look at the feedback which was collected from you in 7 gruelling hours. They look at it for 3-5 minutes and decide whether you are hired or not. In exceptional cases, they decided that they don’t have enough information, and ask you to do more interviews. Hooray.

Google Software Engineer Interview Questions As A Fresher

If they decide to hire you, the recruiter will call you and make you an offer. You will probably say yes, because we pay very, very, very well.

A couple of tips: Free windows 64 bit software.

  • This is probably the most important tip, so I’ll put it first: If we ask you to write a program, DO NOT start writing code immediately. Think the problem through first, and SAY OUT LOUD what you are about to do, then do it. If you are going completely in the wrong direction, we will tell you, and you won’t waste 20 minutes going there.

  • The recruiters are complete idiots and will likely forget you somewhere in the middle of the process. Do not be shy to call your recruiter if you don’t hear from them in (say) a week.

  • Ask questions if something is not clear during an interview. We want to see you at your best. If you are not sure what a question is about, or what we meant, ask immediately - you are playing against the clock. Yes, some of us time how long you take for an answer.

  • Make your CV short and sweet. We do look at them, but only if they are short. Unless you are a professor at MIT, two pages. Not three. Two. That includes everything.

  • Put your skills on your CV. We ask you what you are best at. If you list what you are best at, we will ask you about that. If your CV says “master of algorithms”, expect algorithms questions. If it’s not obvious from your CV what you are good at, we will ask what we feel like.

  • Do not put your high school, marching band, or girl scout experience on your CV. Nobody gives a fuck and it will not help you. It is more likely to harm you because it will distract from the parts that matter.

  • When you are asked a coding question, don’t be a pretentious prick and start writing down header includes, blather about “invariants” or “good programming practices” if you don’t know how to solve the problem. It’s perfectly fine to be a pretentious prick if you can solve the problem with ease, but not if you can’t.

Have fun guys.

Google Software Engineer Interview Process

252 comments