Learn the skills and techniques to survive the most grueling interviews in the world. The questions are annoying, but the jobs are worth it.

Buy Now $49


I've been there. In the middle of a fun conversation about the job I'm hoping to get, when all of a sudden... "so I'd like to ask you some coding questions now..." Here we go...

Tech companies - especially the bigger ones - offer some of the best jobs in the world, unfortunately their hiring practices absolutely suck.

You're expected to write code on a white board or a shared document, sometimes in a language you never use describing an algorithm you'll never implement! And it's supposed to compile!

This isn't fun, but the jobs are worth it!

These companies want people willing to tackle any problem with joy and to check themselves when the going gets tough. You don't always get to choose the problems you'll face.

I made the video that I wished I had years ago, when applying at Microsoft, Avanade, Google and others - and now it's yours. You'll have a solid strategy to get you through this process and in the door at some of the best jobs in the world.

Memorization alone won't cut it. Let's come up with a solid plan.

Over 5.5 hours of conceptual review, strategy and practice to get you through the most difficult job interviews on the planet. Learn how to spot the patterns that are common in all of these questions and see how you can quickly answer the question and then expand on that answer if needed.

You could do what everyone else does and study the problems straight out of Cracking the Coding Interview and other books/sites. But here's a tip - Google (and AWS, Microsoft, etc) will not ask you questions that they find posted online. You'll never see these questions in an interview!

People fail these interviews because they don't have a plan and get frustrated.

That won't be you. In this production you're going to...

Review Your Data Structures

Arrays, maps, queues, trees and stacks – you will likely have to solve a problem that forces you to choose the most efficient data structure and then to explain how it works. There are always tradeoffs, do you know what they are?

Dig into Basic Algorithms

Sorting, traversing, structuring and destructuring – you'll need to be able to apply various algorithms to a given situation. You'll also need to be able to discuss their complexity in both space and time using Big-O notation.

Know what a Good Answer is

As developers we like to solve problems. As seasoned programmers, however, we plan first, code second, so we ask a lot of questions. This is critical in an interview - a good answer starts with a lot of questions.

Practice problems out loud

This video set can only take you so far, but we'll take a look at some outstanding resources you can use to practice what you've learned. We'll also show you how to speak about what you're doing, which is critical if you want the interviewer to know what you know.

Plan for when you lock up

That's what they want, and it's not because your interviewers are evil, they just want to see how you work under pressure when you might not know the answer. It's a high-pressure situation, but there are some very simple tricks you can use, besides "take a deep breath".

Write code by hand

Most people object to this, and it's understandable - who writes code on a whiteboard? You do if you want this job. You'll follow along with me as I crack into our practice questions, answering them by hand with a timer. As I go I'll show you the tricks I've learned along the way to get out of jams when I freeze up, which I have ohhhh so many times.


You'll get some help from an expert: Jon Skeet

Jon Skeet, if you don't know, is the #1 user on Stack Overflow with 1,000,000 points in reputation. He also works at Google and interviews people often.

I wanted to see how an expert would solve these tough problems so I asked Jon to join me for a 5-question interview session, just like you would find at Google.

The Video List

There are a lot of videos to go through in this production - here's what you'll be working on.


Let's Get Started!

This is a quick introduction to what this production is all about and what (I hope) you'll learn. Please watch it. There are some supplies you'll need to get and some mental space you'll need to clear if you're to get the most out of this production.
11 minutes


Review: Big-O Notation

It's a thing you'll need to know if you plan to get through any interview. It's actually quite useful and in this post I'll hopefully make the case that's it's simple as well.


Review: Data Structures

Let’s review data structures! It’s fun and exciting! In this section you’ll review and then build your very own data structures along with me! I’ll be using JavaScript to code mine, but feel free to use whatever language you like.
19 minutes


Review: Algorithms and Strategies

Now the fun starts! We have our data structures and now we need to focus on the algorithms we’re likely to be asked about in an interview. But that’s not enough! What you really need to do is to be able to tease out the strategy that you’ll need to use in combination with your data structures and algorithms. That will help you answer almost any interview question.
17 minutes


Your Interview Mindset

You're not going to make it through this section unless you have the right frame of mind. Simply wanting a job isn't enough - you need to calm yourself and focus.
6 minutes


Getting Past the Screener

Before you get to the white board you'll likely have to pass an introductory screening interview - a short call (or in person meeting) to suss out what you know.


Databases: How Would You Implement...?

Screener questions tend to have a bit more broad and, typically, based on your experience... sometimes not. Think about how you would answer this one about databases.


JavaScript: What Time Is It?

Sometimes a potential interviewer will 'cosplay' with you - pretending that you work at the company and seeing how you might solve one of their realworld problems.


Understanding the Mechanics of The Interview Question

Don't hate me... and PLEASE don't skip this video. Let's walk through Fibonacci together as a way of understanding how interviewers will flex and extend a single question to dig into your brain.
12 minutes


Practice: Stock Price Calculation

This is a real interview question that comes straight from Amazon. You'll be writing this one by hand so remember your strategies.
20 minutes


Practice Question: Product of All Numbers But This

A straightforward problem that, at first, seems daunting - until you break it down and apply the strategies you know.
22 minutes


Practice Question: Smallest Range of K Lists

This is a tough one and you might struggle with it some. If you do, practice speaking aloud to get help from the interviewer.
22 minutes


Jon Skeet: Creating a C# Linter

Another traditional question: create a linter for X language. This is more about parsing a string and remembering where you are within it.
19 minutes


Jon Skeet: Falling From Great Heights

Not all interview questions have to do with code - some are purely logical, designed to see how you would try and solve a really, really hard problem. Skeet couldn't figure this one out...
37 minutes


Jon Skeet: Binary Tree Troubles

It's a rule of interviews: 'ask a binary tree question' and that's exactly what I do in this video with Jon. Traversing in different ways, trying to balance along the way.
38 minutes


Jon Skeet: Creating a Queue from Scratch

This is another very popular question from larger companies, and requires you to be familiar with linked lists, arrays and stacks.
34 minutes


Jon Skeet: Anagram Checker

Let's end things with one that's a bit simpler - creating a string walking function that evaluates anagrams.
18 minutes

Frequently Asked Questions

How long is the access for?

If you own this production, you will always have access to it. If you're a subscriber you can watch it until your sub is up.

Do I really need to study this stuff?

Only if you want the job. Remember: it's not about you being able to traverse a tree, it's about how you solve problems and communicate. The weird questions are only there as a way to test that out.

Do I have access to the code?

Yep - it's all up on GitHub.

Can I download these videos?

Yes you can download right on the production page.

Can I share this with a friend?

Here's the thing: I wouldn't knock on your door and ask you to write software for me for free, so I ask you nicely to please not give my hard work away. That said - if you have a friend that sorely needs work and can't afford this... go ahead. I'll trust you.

Where did you get these questions?

Some came from sources online, others came from my own experience. Quite a few came from Interview Cake