Interviewing for a software developer role is different from interviewing for other jobs. There's a particular interview process, involving technical phone screens and onsite whiteboard coding interviews.
You'll be asked to write code on the spot. Code that not only gets the correct answer, but also runs efficiently.
This may sound daunting, but the coding interview is a learnable skill. Just follow this guide.
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:
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:
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.
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.