Do you need to prepare for technical interviews?

prepare for technical interviews

If you’re already working as a software engineer, you might think that you don’t need to do any preparation for your next technical interview. Maybe you write C++ that’s pure poetry, or perhaps your SQL queries are so efficient that they make grown men weep. So when you’re looking for a new job, it’s easy to fall into the trap of assuming that you’re ready for interviews right away – no prep needed. But are you?

Sidebar: If you’re not working as a software engineer yet, don’t stop reading! A lot of this applies to you too. And we’re going to be posting another article about preparing for coding interviews specifically for you very soon. Stay tuned! 

Think back to your last interview experience.

What kind of questions did you get asked? Some of the questions might have been pretty straightforward, aimed at evaluating how well you could do the task at hand. And if that task was something you were already pretty comfortable doing, you probably didn’t have too much trouble getting it done.

But chances are good that you also got some pretty esoteric or challenging questions. Questions that were more about testing whether you remembered how to implement certain algorithms or data structures… potentially ones that you hadn’t touched since you were in school.

Let’s face it: You’re good at your job, but that doesn’t necessarily mean you’re good at interviewing. Interviews are a completely different beast.

Bottom line: If you’re looking for a new job, you might not be as prepared as you think you are.

Tigran Sloyan, the founder of CodeSignal, puts it this way:

“The reality is that the interview questions you’ll face at most companies are miles away from what you do at your day job, so make sure to do some research and practice using real questions that the company uses in its interviews.”

You might think that traditional technical interviews don’t effectively measure how well you would actually perform on the job, and you’re not alone in that. But the fact is that for now, most companies rely on them to weed out people who can’t cut it. They also use them to gauge the aptitude, interest, and intelligence of those who can.

Technical interviews make me cry.

What should you practice?

A mainstay of the technical interview process is asking questions that help the interviewer determine how well a candidate understands computer science fundamentals like data structures and algorithms, whether they can implement them appropriately, and whether they take time and space complexity into account.

A great way for you to revisit these concepts and get those rusty skills back up to snuff is solving Interview Practice challenges on CodeSignal. All 100+ of these questions are pulled directly from actual interviews at top tech companies. You can filter by company and by question topic, which gives you a personalized experience that lets you focus on the topics you need to practice the most.

The list of topics you need to study will be largely informed by research that you’ve done on the companies you are interviewing at (or would like to interview at). If you know that a company is likely to ask you questions about tree traversal, you can start working on tree traversal interview questions to prepare! It’s really important to be honest with yourself about the current state of your skills and knowledge. For example, you might have been a dynamic programming expert in college. But if you’ve been a front-end developer working strictly in HTML, CSS, and JavaScript for the past few years, you probably need a refresher.

Finding time

One common issue that we hear from professionals who are starting to look for new programming jobs is that they don’t have time to practice technical interview questions. It’s true that adding yet another commitment on top of your job and your real life can be daunting. Once you’ve determined what it is that you need to study, you’ll need to carve time out to make that happen.

Create your timeline

This is going to look different for everyone. Do you actually have an interview in three weeks? Then that’s your timeline. If you’re just at the contemplation stage and don’t have any interviews lined up yet, then your timeline might be more in the month to two months range. In general, though, it’s best to keep your timeline fairly short. Having a longer timeline means that you risk losing focus and drive.

Create your routine

Now that you know your timeline and what you need to study, it’s time to set your routine. A routine benefits most people because it becomes a built-in framework to adhere to, which in turn creates accountability. There are countless different schools of thought about what constitutes an effective routine, but they all have one thing in common: consistency. You have to practice consistently in order to see the benefits from it. For most people, at least an hour a day is ideal. If your timeline is short, try to spend more time daily. You may have to scale back on some other commitments while you’re in interview preparation mode!

Stick to it!

Once you’ve got a routine that works for you, stick to it. This is the hard part, because it usually involves scaling back on other, more fun parts of your life. But stick to your guns and protect the time you’ve set aside for practice. Remember, this isn’t a forever commitment! Once you’ve gotten to your goal, you can lay off on the interview preparation and get back to whatever it was that you had to scale back on to find the time, whether it’s watching Friends reruns or running marathons.

Practice pays off

We know you’re a good engineer. You know you’re a good engineer! But technical interviews require different skills – and like any other skill, you have to work to get better. Actually writing code that solves the actual technical interview questions makes you more comfortable with the process. We can’t emphasize this enough: The absolute best way to ensure that you’re good at interviewing is to practice solving coding interview problems!

Now go get ’em, tiger. You’re going to knock that interviewer’s socks off!

On the job hunt? Read these articles too:

Resumes. Not fun, right? But in a lot of cases, they’re a necessary part of the job search process. Read Make Your Engineering Resume Stand Out to find out how to write a resume that really highlights your programming skills and experiences and makes you stand out from the crowd of applicants.

Once you’re on a company’s radar, there’s still a few steps before you make it to the in-person technical interview! First, you have to get past the recruiter phone screen. Read Ace Your Phone Screen By Telling Your Story, Pt. 1  to learn how to create a personal elevator pitch that resonates with recruiters. Then check out Ace Your Phone Screen By Telling Your Story, Pt. 2 for tips on how to wow the recruiter during the phone screen itself.

Tell us…

What’s your take on preparing for interviews? If you do prepare (and we hope you do), what does your process look like? Let us know over on the CodeSignal forum!

CodeSignal’ Top 5 Interview Tips for Developers

Finding a new job can be a long process that takes weeks… or even months. This tedious process becomes amplified for software engineers. Since software engineering is a hard skill, most companies try to devise various ways of assessing that skill during the interview. This adds more time, layers of complexity, and obstacles to the job seeking process.

At CodeSignal, we help software engineers practice and improve their skills through our gamified educational platform. We also connect them to hundreds of top companies when they’re ready for their next adventure. This means that we get to see what technical interviews are like across many different companies and what developers can do to increase their chances of success.

Top 5 tips for technical interviews

We’ve taken what we’ve learned and distilled it into 5 cardinal rules for engineers who want to make the interview process less painful and score their dream job:

  1. Practice using real interview questions! Great developers often think “This is what I do for a living and I’m good at it”. This makes it tempting to walk into an interview without having practiced much. But the reality is that the interview questions you’ll face at most companies are miles away from what you do at your day job. Doing some research and practicing using real questions that the company uses in its interviews will pay off big-time during the actual interview. There aren’t many high-quality free resources available for this, so we’ve tapped into the knowledge base of our large community to create Interview Practice. Interview Practice is a collection of real interview questions asked at top tech companies, categorized by company and by topic.
  2. Ask a lot of questions during the interview. Some engineers think that asking questions is a sign of poor skill or a lack of understanding, but in reality it’s the opposite. Most questions that you’ll be asked during technical interviews are intentionally vague. The interviewer’s goal is to see if you can ask the right questions before diving in. The worst thing you can do during a technical interview is solve something that you weren’t asked to solve! So ask questions until you are absolutely sure you have all the details.
  3. Use the collective knowledge of your own network and information from sites like Glassdoor to find out what the interview process at the company is like. At some companies (like Google), you interview with 4-5 people onsite and they all have to say “yes” for you to be hired. At others (like Oracle), you still interview with 4-5 people, but they are all on different teams. As long as one says “yes”, then you’re in. Knowing what you are dealing with and what the thinking process behind the scenes is will dramatically improve your chances of doing well in the interview.
  4. Apply to as many companies as you can. Some candidates make the mistake of only talking to a few select companies. They’re basically trying to hit a bullseye with only a few shots! This only works in theory. In practice, it’s very hard for you as an outsider to understand what a company is like and what they work on. So interviews are also a way for you to interview the company and see if it’s something you are ready to commit to. On top of that, doing more interviews provides you with much-needed practice. And when you finally get to the offer stage, having several offers helps you negotiate the best compensation package.
  5. Be mentally prepared for a negative outcome. Interviews are run by human beings, and human beings tend to be quite subjective. So no matter how good you are and how much you prepare, most of your interviews are going to have a negative outcome. You have to be mentally prepared for this. Many candidates take it very personally when a company comes back to them with a “no”. By setting realistic expectations at the outset and treating each interview as an experience to learn from, every “no” you receive – and you will get some! – won’t feel like the end of the world.

Job interviews are inevitably stressful. Engineering interviews are even more so because they try to directly evaluate your skills. It’s natural to be nervous, but the more you prepare, the better equipped you will be to ace whatever the interviewer throws your way.

Join us!

At CodeSignal, we try our best to keep our interview process interesting and fun, and we’re actively growing our team. Are you passionate about changing the future of education and talent discovery? Check out our jobs page and apply!

Tell us…

What are your sure-fire interviewing secrets? Let us know what you think on the CodeSignal forum!

CodeFights’ Top 5 Interview Tips for Developers

Developer Interview Tips

Finding a new job can be a long process that takes weeks… or even months. This tedious process becomes amplified for software engineers. Since software engineering is a hard skill, most companies try to devise various ways of assessing that skill during the interview. This adds more time, layers of complexity, and obstacles to the job seeking process.

At CodeFights, we help software engineers practice and improve their skills through our gamified educational platform. We also connect them to hundreds of top companies when they’re ready for their next adventure. This means that we get to see what technical interviews are like across many different companies and what developers can do to increase their chances of success.

Top 5 tips for technical interviews

We’ve taken what we’ve learned and distilled it into 5 cardinal rules for engineers who want to make the interview process less painful and score their dream job:

  1. Practice using real interview questions! Great developers often think “This is what I do for a living and I’m good at it”. This makes it tempting to walk into an interview without having practiced much. But the reality is that the interview questions you’ll face at most companies are miles away from what you do at your day job. Doing some research and practicing using real questions that the company uses in its interviews will pay off big-time during the actual interview. There aren’t many high-quality free resources available for this, so we’ve tapped into the knowledge base of our large community to create Interview Practice. Interview Practice is a collection of real interview questions asked at top tech companies, categorized by company and by topic.
  2. Ask a lot of questions during the interview. Some engineers think that asking questions is a sign of poor skill or a lack of understanding, but in reality it’s the opposite. Most questions that you’ll be asked during technical interviews are intentionally vague. The interviewer’s goal is to see if you can ask the right questions before diving in. The worst thing you can do during a technical interview is solve something that you weren’t asked to solve! So ask questions until you are absolutely sure you have all the details.
  3. Use the collective knowledge of your own network and information from sites like Glassdoor to find out what the interview process at the company is like. At some companies (like Google), you interview with 4-5 people onsite and they all have to say “yes” for you to be hired. At others (like Oracle), you still interview with 4-5 people, but they are all on different teams. As long as one says “yes”, then you’re in. Knowing what you are dealing with and what the thinking process behind the scenes is will dramatically improve your chances of doing well in the interview.
  4. Apply to as many companies as you can. Some candidates make the mistake of only talking to a few select companies. They’re basically trying to hit a bullseye with only a few shots! This only works in theory. In practice, it’s very hard for you as an outsider to understand what a company is like and what they work on. So interviews are also a way for you to interview the company and see if it’s something you are ready to commit to. On top of that, doing more interviews provides you with much-needed practice. And when you finally get to the offer stage, having several offers helps you negotiate the best compensation package.
  5. Be mentally prepared for a negative outcome. Interviews are run by human beings, and human beings tend to be quite subjective. So no matter how good you are and how much you prepare, most of your interviews are going to have a negative outcome. You have to be mentally prepared for this. Many candidates take it very personally when a company comes back to them with a “no”. By setting realistic expectations at the outset and treating each interview as an experience to learn from, every “no” you receive – and you will get some! – won’t feel like the end of the world.

Job interviews are inevitably stressful. Engineering interviews are even more so because they try to directly evaluate your skills. It’s natural to be nervous, but the more you prepare, the better equipped you will be to ace whatever the interviewer throws your way.

Join us!

At CodeFights, we try our best to keep our interview process interesting and fun, and we’re actively growing our team. Are you passionate about changing the future of education and talent discovery? Check out our jobs page and apply!

Tell us…

What are your sure-fire interviewing secrets? Let us know what you think on the CodeFights forum!