Like so many developers, I loathe coding interviews. They're tedious, annoying and the questions they ask have very little to do with the job you're applying for. So why do they ask these questions?
Believe it or not: for a very good reason. All they want to know is if you can code. Can you break a problem into smaller parts and use basic data structures, algorithms and logic to solve it? This is what we do every day!
I made the video that I wished I had years ago, when applying at Microsoft, Avanade, Google and others. The video that would show me what I needed to review, the strategies involved and that, YES, it's doable.
I also wanted to see how an expert would solve these tough problems so I asked Jon Skeet to join me for a 5-question interview session, just like you would find at Google, where Jon works. He interviews people all the time - now he gets a taste of his own medicine!
The video comes in four editions: basic (just the videos), with review material (120 page PDF excerpt from The Imposter's Handbook), with the full version of The Imposter's Handbook and finally the Premium Edition, with The Imposter's Handbook and Video set.
You need a job and I refuse to waste your time - so we get right to it with a quick review of data structures, algorithms and the strategies you need to know. We then dive into some practice problems on our own and then with Jon Skeet.
As with all of our video productions, you get a downloadable site that you can run directly from your hard drive. Each video is streamable, so you can watch it right away, or downloadable for viewing offline.
There are 13 videos in all, each between 10 and 40 minutes long. Each video page has a quick summary so you know what's going on and it also has the code you'll need to get started.
In addition, all the links you need are provided with the downloadable site. Have some feedback? The link is right at the top, which takes you to our Github repo where you can let us know what you think.
Coding interviews are designed to dig into you - to see what you know and how you break problems down. They can frustrate you easily...
Unless you practice. Which is what we do with many different kinds of problems. Can't finish? It's normal. Don't know the solution - it's fine! We'll discuss a number of ways you can turn a tough interview to your advantage.
Can't remember how to reverse a linked list or traverse a binary tree? No problem! We'll build these things from scratch and use them all the way through our review process.
You'll start by building simple linked lists, then move on to stacks, queues, trees and binary trees.
We'll then use what we've built to implement algorithms that you'll need to know, like in-order depth first search, loading a binary tree with a sorted array and building a queue with two stacks.
Look: I want you to have your best shot at getting in at the company of your dreams. Give the video a shot for 6 months and if it doesn't work for you, just let me know and I'll refund you immediately.