How to prepare for your technical interview like they do at Google

Like in almost everything else in life, in order to succeed in a technical interview, you need practice, practice, practice (and a dash of good luck).
We at Startuplifers want you to be as well equipped for your technical interview as possible. That’s why we are handing out hard copies of the most famous tech interview prep book in Silicon Valley, Cracking the Coding interview 6th edition, to candidates who have applied to the Startuplifers talent pool during May 2018.
The book is written by Gayle L. McDowell, a software engineer, who has vast first-hand experience in interviewing candidates at Silicon Valley’s top tech companies. To succeed in an interview, you must practice with real interview questions and solve real interview problems. This is why the book is filled with real algorithm, coding and design questions (189 of them!) used in interviews at Microsoft, Google, Amazon, Yahoo and Apple. Many of the same practices are also used at tech startups in the Valley.
This blog post includes some learnings from the book and tips from our Startuplifers candidates’ startup interviews. 
 

The interviews aren’t supposed to be easy

When taking up on an interview, remember, that the interviewer wants you to succeed just as much as you do. Companies are struggling to find good tech talent that would match their team’s needs, be reliable and ultimately make their jobs easier. That’s why they ask you tricky questions to see how you can handle the pressure in real projects as well.
Startups want to know that you can hit the ground running and they will most likely want you to test you with specific programming languages. Be prepared to show off your analytical, and basic Computer Science knowledge with languages listed in the job description. But don’t freak out if you can’t solve the problem, more important is to show that your reasoning is smart, which leads us to the next part – communication.

“Receiving an offer isn’t about solving questions flawlessly (very few candidates do!), but rather, it is about answering questions better than other candidates.” –Cracking the Coding Interview
 

 

Communication is the key

Companies want to hire people, who can communicate clearly and work well in a team. If you can’t interact with the interviewer, how can you be expected to communicate with your future team members relying on you?
It’s important to remember, that you should speak out loud when solving an algorithm or coding question. Even, if you’re struggling to find the solution, explaining your thought process can get you far. Coding and talking at the same time is something you should practice since it doesn’t come naturally to most of us.
 

“Keep explaining your thought process as you code (you have to code and speak at the same time so practice this)” -Lifer candidate 2018

 
Clear communication is also important when talking about your previous projects and experience. Don’t ramble on about unnecessary information, but also, don’t expect the interviewer to be a mind reader. Startups especially are interested in your previous experience, so be prepared to tell about your past projects. You can practice this by preparing to explain your resume and giving out a quick summary about any project you’ve done. A good and effective formula is “Accomplished X by implementing Y which led to Z”.
 

“Let the interviewer see how you’re tackling the problem, and they just might guide you as well.”
–Cracking the Coding Interview

 
In addition to explaining the tech side, be prepared to give good answers to questions about previous team dynamics, or the classics like weaknesses and strengths.
 

“Would I have a beer with this guy?”

Is – according to the book – the most important question the interviewers ask in their heads.
Cultural fit is crucial for startups since they can’t afford a single bad team member. One misfit can drain out the whole team, even if the technical abilities would be there because, at a small startup, no one has time for unnecessary distractions.
If you’re arrogant, don’t seem to be interested in the company or if any other way comes across as a possible disturbance rather than an asset, it’s most likely a no. Be active, friendly and engage in interesting conversations.
Also, be prepared to ask the company good questions. The questions can vary from how many meetings you have a week to more specific questions about the tech the company uses. Cracking the Coding Interview will also guide you through behavioral questions.
 

 

Practice, practice, practice

According to our own Startuplifers data, approximately 75% of the candidates fail the first technical screening, because “they weren’t expecting that many/hard algorithm questions”.
So, this should be a good enough reason to start practicing. Cracking the Coding interview has 189 interview questions that will prepare you for the problems you need to solve in the interview. And don’t just skim through the exercises or try to memorise them, but actually do them, so you can develop a fresh algorithm in the interview. Try to practice without using any code editors and write plain text or even on paper, since you will most likely be doing your live coding in a shared document editor (like Google Docs). 
Also, a good way to practice both the algorithms and interview situations is to do mock interviews. Mock interviews can be done online at different sites like HackerRank and even a friend can act as a interview simulator.
But the best way to get practice is to do actual tech interviews. So, think about every offered interview as a possibility to practice!

Tips from the Startuplifers candidates

We also asked our interviewed candidates more tips and details to help the future Startuplifers and here are their insights.
On average the candidates had 3 interview rounds. Two technical interviews and a chat company culture. The technical interviews included technical questions, live coding, home assignments and mini projects. The chat was usually with the team lead or company’s CEO, and salaries, benefits etc. were discussed. 
The candidates prepared by practicing problem solving, algorithms, going through old course material, researched the company, thought about possible questions to ask, did exercises on codewars and read Cracking the Coding Interview.
This is what the candidates would have done differently in the interview or spent more time practicing:

  • Practice coding questions on basic algorithms, Big-O notation, runtime/complexity
  • Be more active in the interview
  • Ask clarification about the interview process
  • Go to actual tech interviews to prepare and get used to it “practice interviews”
  • Practice more live coding on some basic CS problems to be better prepared
  • Do HackerRank exercises
  • Practice to speak out loud (when coding)
  • Prepare explaining anything you’ve ever developed just to show you know how to design some feature
  • Put any code you have ever written to github
  • Get to know what the company does and be prepared to ask them any questions (like what are the biggest challenges you will face in the next 6 months)
  • Know your CS basics, and prepare to be calm and collected

Other tips:

  • Don’t give up! Use failure as an opportunity to practice
  • Ask for help! Interviews can be different out there than in Finland

 
When applying to the Startuplifers talent pool, we will give you access to our interview guides and other helpful resources, like our alumni network and the team’s support. And if you apply in May, you will get a chance of getting the newest edition of Cracking the Coding interview that will without a doubt prepare you for your next interview.
So don’t hesitate to apply, it only takes you few minutes! 
Good luck!
 

 
psst. here’s an old blog post about tackling the startup interview.

Author of this post