Coding interviews can be nightmarish, especially if you decide to wing it and go in without a plan. It only takes a weekend to sharpen your skills, and these jobs are worth it.
It’s true: you’re probably not going to write bubble sort for your day job and yes, having to solve this algorithm in an interview can be frustrating. It’s why so many programmers settle for jobs that suck and don’t pay well: they’re not willing to deal with the seemingly random questions asked by interviewers.
Here’s the thing: these questions are designed to frustrate you. If your ego is blocking you from trying to tackle bubble sort then the question has done its job of weeding you and your ego out.
Live coding a complex problem in front of someone is nerve wracking and if you let your nerves get the better of you, you will bomb!
There are ways to get yourself unstuck and out of a jam! Sure you might be a great coder, but all it takes is the wrong question and boom - game over!
We often think arrogance is a toxic personality trait - but that's not entirely true. Shy people who don't say much are often thought of as arrogant. People who are nervous or anxious will often act in ways construed as arrogant too! And then, yes, some people think way too much of themselves.
But that's not the point! These companies need someone who can solve problems in a rigorous, pragmatic way and they just want to see how you go about it. Some companies (such as GitHub) will send you home with a coding problem, others just want to spend an hour or so with you and see what you can do.
Do yourself (and your career) a favor and prepare for both. I used to hate silly algorithmic questions but once I started thinking of them as fun puzzlers (like Wordle) things became much more interesting. I searched for patterns and ways to game the system - I actually enjoyed it! You can too.
I've been creating videos since 2007, producing content that is laser-focused, briskly-paced and tightly edited. You won't get any "hey guys what's up" YouTube-y crap here - these videos are all about you, and moving you through a grueling process with ease.
Prepare and study so you can know your timing, recognize strategies and what questions to ask. This will help you remain calm and focused, which every interviewer loves to see.
Study, study, study. You’ll run problems along with me, hopefully practicing in real time. You’ll think out loud so your interviewer knows what you’re thinking, which means you can also get them to help you along when you need it.
Understand the core programming concepts you need to pass a coding interview. This means no more guessing when it comes to knowing the type of problem you’re facing but also common solutions.
More practice, but with Jon Skeet. We’ll be joined by my friend Jon who works at Google and interviews people regularly. You’ll see how he solves 4 commonly asked questions and what he would expect as an answer.
I bought your first book in 2016 or 2017. Loved it because of the videos back then. Bought the interview prep videos on your website recently as well. Your books over the years, videos, and a little bit of leetcode... plus my 10 years of experience got me a job at AWS the first time through.
I’m Rob Conery and I have failed interviews repeatedly. I've also succeeded repeatedly! You might say the process has become an obsession for me, one that some friends of mine argue isn't exactly healthy.
There's a saying in the tech industry: always be interviewing, which is true. It's a form of networking and you never know if a killer job will come your way. At the very least, you keep your skills sharp and come to an interview with nothing to lose, which puts you on equal footing.
Over the years I've applied to Google (3 total times) making it through the technical interview twice. I've interviewed with Amazon and Microsoft (getting hired there twice) and numerous smaller companies. I've come to enjoy the game, as messy as it can be, and see each interview as a time where I get to solve a fun puzzle with a peer.
Interviewing can be frustrating, but believe me, it can also be fun if you approach it with the right mindset. The first trick is: don't wait until you need a job! That's not always an option, of course, so the best thing you can do is educate yourself - which is why this course exists!
There are 17 videos in all, clocking in at just under 4 and a half hours. You'll go through concept review, practice and then watch as Jon Skeet handles some very tough questions.
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.
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.
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.
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.
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.
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.
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.
This is a real interview question that comes straight from Amazon. You'll be writing this one by hand so remember your strategies.
A straightforward problem that, at first, seems daunting - until you break it down and apply the strategies you know.
This is a tough one and you might struggle with it some. If you do, practice speaking aloud to get help from the interviewer.
Another traditional question: create a linter for X language. This is more about parsing a string and remembering where you are within it.
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...
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.
This is another very popular question from larger companies, and requires you to be familiar with linked lists, arrays and stacks.
Let's end things with one that's a bit simpler - creating a string walking function that evaluates anagrams.
You've got this - good luck! Study, remember your strategies and be your best you.
You learn the art of coding every day, whether it's React, Vue, Svelte, ASP.NET, Java or Flutter. All you need to do is divert some of that massive brainpower over the weekend and study up on a few core concepts and that rad job is yours.