This video is free to watch - hope you enjoy it! If you like what you see, there's a ton more where that came from...
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...
This is premium content - you can own it in just 30 seconds!
It’s time for the dreaded logic puzzle. You’ll likely get one of these if you’re interviewing at a larger tech company like Google, Microsoft, Amazon or Facebook. Other companies might throw one of these at you too, just for kicks.
The idea here is to dig deep into your logical thinking process, not to actually solve the problem. As you’re about to see, thinking about the problem can often be much more fun than solving it.
This video is a long one because the question is designed to take you the entire time to answer - usually around 45 minutes to an hour. If you figure it out, good work!
Here’s the question:
You’re Jon Skeet… Chuck Norris of programming. You’ve decided to move on from your career as a Stack Overflow freak show so you can star in movies, just like Chuck - but you think you might be able to up his game! You want to see just how high you can jump from a building because YOU are going to be a STUNT MAN.
You’ve decided to come to the US - to Chicago to be specific - to see which floor of the John Hancock building (which is 100 stories high) will be the highest possible floor you can jump from. You’ve been given two crash-test dummy Skeets that will simulate your superhero frame - so if they are destroyed… so will you be destroyed.
Unlike you, these dummies don’t have much resilience - if you drop them too many times and they will also be destroyed! So we need to make sure we drop them the fewest possible times. How many drops will it take to find the highest possible floor…
This is a logic question designed to take as long as you’ve got. There’s no code for this one.
Download
The Code
Code for this video (and for the entire series) can be found in the production GitHub repo.
-
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.
-
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.
-
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.
-
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.
-
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.
-
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.
-
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.
-
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.
-
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.
-
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...
-
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.
-
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.
-
Jon Skeet: Anagram Checker
Let's end things with one that's a bit simpler - creating a string walking function that evaluates anagrams.