Navigating the Coding Interview Process

Silicon Valley tech workers average $150,000 a year. Learn the process and what it takes to become one.

Want to get a software job at a tech company but have no idea how the whole recruiting process works? Good news — you’ve landed on the right place.

We’ll walk you through the typical coding interview process for most big tech companies step-by-step and give you some extra tips on what to expect in each stage.

At a high level, the complete process typically looks like this:

  1. Application/Resume screening
  2. Online coding test
  3. Technical phone interviews
  4. Onsite interviews (superday!)

Keep in mind that this is true for the typical junior engineer interview. Depending on the company and the level of experience you have, you can definitely skip certain rounds or have a completely different set of interviews altogether (Technical Managers will get different interviews, for example).

Let’s dive into each of those stages.

1. The Application/Resume Screening

The very first gate you have to pass is what I like to call the screening round. This usually starts with the candidate applying to a particular position online or getting referred by a friend or a recruiter.

What to expect:

  • Your recruiter will screen through your background, past experience, and decide whether you’re a good fit for this position.
  • Some companies might even have the recruiters do a follow-up 15-min behavioral call with you to determine if you’re the right cultural fit for the company.

How to prepare for this one:
There’s nothing technical about this round. A few suggestions to increase your chances of getting past this one:

  1. Have someone inside the company refer you. An internal referral significantly increases your chances of getting an interview and bypassing this round altogether.
  2. Prepare a relevant resume. Recruiters read hundreds of resumes each day. Make sure your resume stands out by adding tons of relevant work, side projects, and links to personal websites. Keyword: practical! Our industry is a very practical one — we care less about paper degrees and more about hands-on experience.
  3. Learn about the company culture and make sure it’s a good fit for you before even applying.

2. The Online Coding Test

Next in line is probably a round of online coding test. I use the word “probably” because many of the old recruiting pipelines won’t even have this round, so you might go straight to a technical phone screen in step 3. That will also be true if you’re an experienced candidate.

The purpose of the online round is to test basic coding skills and filter out candidates whom companies think likely won’t meet the bar.

What to expect:

  • The test usually lasts about 1–3 hours and comprises of a few coding problems on algorithm or programming exercises.
  • You will be given access to a portal to view the problems and write your code directly in the IDE provided.
  • Usually, the coding test has to be done in one sitting — once you start it, you have to complete it there and then.
  • Once you submit, your solution will be judged by either a scoring system, a human, or sometimes a combination of both.

How to prepare for this one:

  1. The problems are usually typical algorithm problems that you can find here on Codebasil (examples). Make sure to do lots of practice and review your data structures.
  2. Choose a quiet location where you won’t be disturbed for the duration of the test. Remember, once you start it, you have to go all the way through.
  3. If you’re used to your development environment, have your terminals and favorite code editors ready. You can code on your editor and copy-paste the solution to the portal (if allowed — certain companies have certain rules). I find that doing it this way speeds up your development.
  4. Don’t freak out! This is the round that simulates your natural coding habitat the most, so make sure you take advantage and be comfortable with it. Stay calm and code on like you usually do.

3. Technical Phone Screen

Once you hear back about your (fantastic) result from the online coding round, you will be passed along to the technical phone screen. Many companies will have 1 or 2 of these phone interviews, lasting around 45 mins each.

What to expect:

  • The technical phone interview will be conducted by an engineer and is technical in nature.
  • The type of questions, again, is algorithm questions you can find on Codebasil (examples). Usually you can expect technical phone screen questions to be not too complicated, and especially not questions that require long descriptions and extensive explanations.
  • Each phone screen might have just 1 question with a follow-up, or 1 easy warm-up and 1 harder question.
  • You will receive a phone or video call from the interviewer and a link to either a Google Doc (for Google interviews) or an online code editor to write your code in. You’ll be expected to talk to interviewers and write your code simultaneously. Weird, I know.

How to prepare for this one:

  1. The basics: did I mention you’ll need to talk and code at the same time? Yeah, I don’t like that either. But since you’ll have to, make sure to prepare a hands-free headset (or put your phone on speaker), so that you can write code while you speak.
  2. The disadvantage of a technical phone screen is you won’t see your interviewer and won’t have conversational cues to know if you’re going in the right direction, so make sure to communicate clearly. Clarify anything you have the slightest doubt about.
  3. The phone screen questions shouldn’t be hard and time-consuming questions, if your interview is nice enough. I would suggest practicing the Warm-up collection and Set 1–3 in the Codebasil Standard Collection.

4. The Onsite Interviews (or Superday!)

If you pass the technical phone screen with flying colors, you will get to visit the company (!)… for a whole day of more tests. This is basically the technical phone screens on repeat for 4–5 times, conducted in-person. Just a little harder.

What to expect:

  • Throughout the day, expect to have 4 or 5 interviews conducted by different engineers. Most, if not all, of the interviews will be technical in nature. If you’re a higher level candidate, you might get a behavior interview or a system design interview instead.
  • Each interview will last about 45 minutes and will, again, be algorithm-heavy. These are the same types of questions you could expect in a phone interview.
  • You will be writing code on a whiteboard. For some companies like Google, laptops may be available upon request, but you’ll likely have to code in their code editors.
  • Again, you’ll be expected to converse with the interviewer and explain your thoughts while you code.

How to prepare for this one:

  • Practice coding on the whiteboard! That’s right — no autocomplete, no syntax check, no indentation. Heck, not even spell check! Worst of all, no Google search when you forget the name of a function. Trust me, this takes some practice to get used to, so I strongly encourage you to try coding on a whiteboard or a piece of paper at home.
  • Do lots of practice problems. Aim for the harder standard sets on Codebasil.
  • Also pay attention to follow-up questions — this tends to happen during onsite interviews. Interviewers might start off with a simple problem, then ask follow-up questions with new constraints to see how you respond to them. Here is an example of this.

And…. that’s it! Once you finish your on-site interviews, all you have to do is sit back and wait for the verdict. Popular good advice is to send thank-you emails to recruiters and/or interviewers. In practice, I’d say it’s one of those things that usually won’t help but doesn’t hurt.

In normal circumstances, if you do well and pass the onsite, you’ll tend to hear back within 3 weeks. Once you get the offer, the ball is now in your court to decide if you want to join them! We will have an article on how the offer stage works and what can you do to get the most out of it.

Stay tuned!

Interview Practice — 50 Most Asked Problems

Still have questions on any of the steps above? Leave a comment below and we’ll be happy to answer them.

Originally published at https://codebasil.com.

--

--

codebasil.com — Interview Practice
Coding Interviews Prep

Solve our hand-picked collection of interview questions and win your dream job. Learn from our guided step-by-step solutions.