How to Prepare for a Coding Interview

If you're applying for a job as a programmer, you should spend some time getting ready for your coding interview. This is a pretty important part of the application process, so it's worth your while to prepare as much as you can for this...

Method 1 of 3:

Building Your Knowledge Base

  1. Picture 1 of How to Prepare for a Coding Interview
    Ask if you need to use a particular coding language in the interview. Most companies will allow you to conduct your interview in whatever programming language you want. However, some companies will require you to code in a specific language, so make sure you're fluent in that language before you conduct an interview at that company.[1]
    1. For example, Google requires candidates pick either Java, C++, JavaScript, or Python during their programming interviews.
    2. If the company doesn't have any specific language requirements, just choose to conduct the interview in whatever language you're most familiar with.
    EXPERT TIP
    Picture 2 of How to Prepare for a Coding Interview

    Ken Koster, MS

    Master's Degree, Computer Science, Stanford University
    Ken Koster is the Co-founder and CTO of Ceevra, a medical technology company. He has over 15 years of experience programming and leading software teams at Silicon Valley companies. Ken holds a BS and MS in Computer Science from Stanford University.
    Picture 3 of How to Prepare for a Coding Interview
    Ken Koster, MS
    Master's Degree, Computer Science, Stanford University

    Ask about the general interview format. Ken Koster, software engineer, tells us: "Most companies will tell you what the interview format is, that for example, you'll interview with three people, and two of them will give you coding questions in this language and the third one will give you algorithmic questions. You can do some degree of prep work around those parameters."

  2. Picture 4 of How to Prepare for a Coding Interview
    Familiarize yourself with your preferred language's style guide. Having a firm grasp of a particular programming style will make you less likely to have errors in your codes, making you a much stronger interviewee. Pointing out the common pitfalls in your particular language may also make you more impressive during the interview.[2]
    1. For example, if your preferred coding language is Python, read through the PEP 8 Style Guide to improve your mastery of the language.
  3. Picture 5 of How to Prepare for a Coding Interview
    Focus on studying algorithms and data structures the most. These Computer Science fundamentals make up the vast majority of the questions and problems you'll be presented with during your interview, so spend most of your time studying these. If you took any classes in Computer Science, review your notes and textbooks as well to refresh your memory.[3]
    1. For example, you might be given a problem during your interview and be asked to develop an algorithm that solves it. Having a broad familiarity with algorithms will make this type of question less difficult in the moment.
    2. There are a wide variety of algorithms, such as sorting algorithms, searching algorithms, and recursive algorithms. Try to be familiar with as many different types as possible.
  4. Picture 6 of How to Prepare for a Coding Interview
    Research the company to see how your skills align with their interests. Find out what sort of technologies and software frameworks the company utilizes the most and make a note to reference your experience with these frameworks during the interview. Remember, part of your goal is to show that you'd be a good fit for the company you're interviewing at.[4]
    1. If you know who will be conducting your interview, do some research on that person as well. Look them up on LinkedIn and see what their past projects or experiences have been.
Method 2 of 3:

Practicing Ahead of Time

  1. Picture 7 of How to Prepare for a Coding Interview
    Get as much coding experience under your belt as you can. If your interview isn't in the near future, spend a few months contributing to open source projects. If you don't have that time, just spend as much time between now and the interview practicing coding.[5]
    1. If you can, do this coding practice in an environment where you can get good feedback on your code.
    2. The more experience with coding you have, the less you're likely to struggle with the coding component of your interview.
  2. Picture 8 of How to Prepare for a Coding Interview
    Practice coding algorithms in a limited amount of time. Even if you have a lot of coding experience, this isn't the same as writing code under stress. Set a timer for 45 minutes and try to create a working algorithm in that much time.[6]
    1. You'll probably have 30-45 minutes in the actual interview to write your code, so you should try to get used to writing code within this kind of short timeframe.
  3. Picture 9 of How to Prepare for a Coding Interview
    Be sure to practice discussing system design as well. While the bulk of your interview questions will probably be about algorithms and data structures, you might also get some questions about how to design software or systems for a given product. Be prepared to discuss the different elements of system design, such as load balancers, databases, and user interface.[7]
  4. Picture 10 of How to Prepare for a Coding Interview
    Have somebody with interview experience do a mock interview with you. There's no better way to get better at answering interview questions than by practicing as much as possible. If you don't have someone with interview experience to practice with, have a friend ask you some common interview questions.[8]
    1. These can be questions like 'What type of algorithm would you use to solve this particular problem?' or something as broad as 'What is your biggest weakness?'
    2. If you're stressed out during the mock interview, try practicing as the interviewer instead of the interviewee. This might help you to see the interview process differently and feel less nervous about being interviewed.
Method 3 of 3:

Making a Good Impression

  1. Picture 11 of How to Prepare for a Coding Interview
    Be enthusiastic about the topic and your experience. Allow your positive emotions to shine through when talking about your past projects or your future goals. This kind of enthusiasm tends to inspire similar enthusiasm among interviewers, which makes them more likely to have a positive image of you by the end of the interview.[9]
    1. Note that this only applies to genuine enthusiasm. If you try to fake your enthusiasm about the topic, the interviewers may detect this and see you as artificial instead of genuine.
  2. Picture 12 of How to Prepare for a Coding Interview
    Avoid pretending to know something if you don't know it. You may feel that you need to look like you know everything about the topic to give a good impression. However, if you pretend to know something that you don't actually know and you get called out on it, you'll just come across as mendacious.[10]
    EXPERT TIP
    Picture 13 of How to Prepare for a Coding Interview

    Ken Koster, MS

    Master's Degree, Computer Science, Stanford University
    Ken Koster is the Co-founder and CTO of Ceevra, a medical technology company. He has over 15 years of experience programming and leading software teams at Silicon Valley companies. Ken holds a BS and MS in Computer Science from Stanford University.
    Picture 14 of How to Prepare for a Coding Interview
    Ken Koster, MS
    Master's Degree, Computer Science, Stanford University

    Make sure you're applying for a job at the appropriate level. Ken Koster, software engineer, advises: "If the job is a good fit — you have the right sort of technical skills and you're coming in at the right level —you shouldn't have to do a ton of prep work, because you should already know most of what is expected."

  3. Picture 15 of How to Prepare for a Coding Interview
    Talk about your projects using the correct terminology and jargon. The ability to use technical terms and describe a project in minute detail will help demonstrate your deep understanding of programming. However, be sure that your project descriptions are also understandable for whoever's interviewing you.[11]
    1. For example, if your interviewer doesn't have a deep understanding of a type of app that you worked on, be sure to explain the specific components of the software so that they understand what you're talking about.
Update 05 March 2020
Category

System

Mac OS X

Hardware

Game

Tech info

Technology

Science

Life

Application

Electric

Program

Mobile