1. Learn coding interview strategy
The key to being able to solve tricky coding interview questions is using a specific process and sticking to it:
- Brainstorm and design your algorithm by manipulating sample inputs by hand on the whiteboard. Don't start writing code until you know how your algorithm will work.
- Once you have an answer, code it up as quickly as possible. Don't get caught up in details like, "should this be a '<' or a '<='?" Just leave a mark in the margin to come back later, and move on. Don't start debugging it until it's all written out.
- Walk through your solution by hand, out loud, with an example input. Fix any bugs you find along the way.
The important lesson here is to never skip ahead. Only move on to the next step after finishing the last step. This keeps your thinking more organized, makes it easier for your interviewer to follow what you're doing, helps you avoid mistakes, and ultimately makes you move faster.
More coding interview strategy:
-
Coding interview tips
Make it feel like you're on a team, solve a simpler version of the problem first, and other tips. -
Tricks for getting unstuck during a coding interview
Getting stuck is stressful. But with the right strategies you can get unstuck quickly. -
Why you hit dead ends, and why that's okay
The coding interview is like a maze. A maze with several dead ends...
2. Get comfortable with data structures and algorithms
This is something coding boot camp students really struggle with. They try to sidestep the issue entirely, hoping it won't come up. But it inevitably does.
The good news is you can pick this stuff up pretty quickly. Yes, it's new. And yes, some of it involves a little math. But it comes together more quickly than you think it will. With a few hours of reading, you can give yourself a solid foundation.
Some stuff you should know:
-
Big O notation
This is the language we use for comparing the efficiency of different approaches to a problem. -
Data structures, from the ground up
Build the main data structures from the ground up. Learn when to use an array vs. a linked list vs. a hash map. -
Logarithms
Review how they work and learn the situations where they come up in algorithms. -
Coding interview glossary
All the data structures and algorithms you should be comfortable with before your interviews.
3. Conquer your impostor syndrome
This is a common issue for coding bootcamp graduates. They worry that they're not "real engineers."
Would it surprise you to learn that new graduates from four-year computer science programs feel the same way? It's true!
In the same way that you feel like you're not a real engineer because you're weak on the theoretical and mathy stuff, computer science majors feel like they're not real engineers because they're weak on modern software development practices, tools, and frameworks. Many of them don't know the first thing about making a webpage.
The point is, we all have weak points and gaps in our knowledge.
Read more:
4. Run a bunch of practice questions
Your first 7 or 8 practice questions will involve lots of, "Whaaaat, how do you even come up with something like that?" But after like 15 or 20 questions, seemingly all at once you'll start getting a lot of, "Oh wait, I can do something kinda like what I did for that other question!"
You should probably practice more than you currently think you should. Most candidates don't practice enough. Don't be one of them.
It's like exercise—you're not going to do it unless you make an explicit plan.
So pick a specific time each day for coding interview practice and put it on your calendar. Try to do at least one practice question each day. Focus on not skipping a single day.
Check out:
-
Interview Cake's practice coding interview questions
These interactive practice questions mimic the dialogue of a real coding interview, offering hints when you get stuck or when you have an answer but there's a more efficient answer still to figure out. -
Get a free practice problem by email each week
This is a great habit to keep up even when you're not interviewing. -
How to get the most out of your coding interview practice
Useful methods like tracking your weak spots, thinking out loud, and using a timer.
Get the 7-day crash course!
In this free email course, you'll learn the right way of thinking for breaking down tricky algorithmic coding questions. No CS degree necessary.
You're in!