cramming day and night studying algorithms and theory won't cut it. You need a strategy.
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...
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!
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, And Isn't
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.
Have a 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 Also Get Some Help From Mr. 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.