The technical interview is unlike any other job interview: it’s a specialized, rigorous process that tests your coding skills, problem-solving abilities, and personality.
But even though interviewing for a tech job is intimidating (with whiteboard challenges, remote coding challenges, and even full days of onsite interviews sometimes), it’s a lot easier when you know what to expect and are well-prepared.
That's why I wanted to create an epic, comprehensive guide to technical interviews for tech newbies!
In the guide, you'll learn how to ace a technical interview even if it’s your first one!
We’ll start by covering what a technical interview entails. Then, we’ll get into what you can expect during a technical interview in each stage of the process as well as what you can do to stand out. And we’ll wrap up with tips on preparing for a technical interview (plus what not to do).
Inside, you’ll also find coding interview tips and advice from technical interview experts who have gone through the process themselves AND conducted tech interviews from the other end of the table. Their first-hand knowledge will teach you how to prepare for a technical interview with real-world considerations in mind.
Table of Contents
- Phone Screen
- Remote Coding Challenge
- Onsite Interview and Whiteboard Challenge
- After the Tech Interview
Disclosure: I’m a proud affiliate for some of the resources mentioned in this article. If you buy a product through my links on this page, I may get a small commission for referring you. Thanks!
What Is a Technical Interview?
Unlike other types of interviews, tech interviews involve challenges and assignments. They're more like an exam than a typical question-and-answer interview.
Like the phrase “Show, don't tell,” you have to prove that you have the skills required to do the job, rather than just tell the interviewer that you have them.
Contrary to popular belief, the purpose of the technical interview is not to trick you with riddles, brain teasers, or impossible questions. Instead, it’s to see how you tackle real-world problems–like the ones you might be facing once you have the job!
Tech Interview Basics
So, what happens in a technical interview? Every company is different, but let's take a look at the average situations you might face.
The Stages of a Technical Interview
Often, tech interviews will come in three basic stages:
- 1st stage: the technical phone screen. Good news! The company liked your resume and wants to talk to you more. This stage is designed to see if you are qualified/enthusiastic enough to proceed to the next stage.
- 2nd stage: remote coding interview/assignment. Some companies will want to test your coding skills with a preliminary test before having you actually come in. It may be conducted over the phone, via Skype, or homework-type assignment.
- 3rd and final stage: onsite interview/whiteboarding challenge. This is the stage that most people call the actual “technical interview.” It involves an in-person interview with coding challenges you have to complete on a whiteboard in front of the interviewer(s).
As I said before, though, every company’s tech interview process is different. Here are a few examples of how some popular tech companies organize their interview stages:
- Google: initial phone or Google Hangout interview (30-60 min); onsite interview (~4 hours made up of 4 separate interviews)
- Facebook: Initial technical screen (30-50 min); onsite interview (1 full day)
- Uber: initial phone screen (30-60 min); in-person interview (1 full day made up of 6 back-to-back interviews)
For even more example interview processes, see this article from Business Insider.
Who you’ll be talking to
Of course, this is another factor that will differ from company to company, but you'll usually be looking at one of two situations based on company size:
- At a startup: member(s) of the engineering team, a senior developer, or even the CTO. All interviewers typically have technical experience and may be your future bosses or coworkers.
- At a larger company: recruiter, HR staff, or a member of the engineering team. Some interviewers might have little tech knowledge, and it might not be people you directly work with if hired.
You may even have multiple interviews with different people–perhaps a whiteboarding interview with the tech team, a culture interview with HR, an executive interview with the CTO, and so on.
Whatever the case, try to research your interviewers first by looking them up on LinkedIn. It can ease your interview anxiety to put a face to a name, plus you might find something you can connect over (you went to the same university, you have similar interests, or similar).
For more on using LinkedIn to get a foot in the door, check out this guide to getting job referrals even as a tech newbie.
What to wear
Although most tech companies have a relaxed, casual workplace, it’s still important to dress smartly. The general rule of thumb is to dress one level above the company’s dress code (e.g. if the company allows jeans and T-shirts, you should dress in business casual).
To find the dress code, search for the company on social media platforms like Facebook/Instagram, look at their careers page, or consider asking the recruiter/HR staff.
What to bring with you
You don't really have to bring anything special to a technical interview beyond what you'd bring to a normal one. You'll probably want to have basics like these:
- Printed copies of your resume
Don’t worry about bringing a laptop or coding samples (unless the interviewers specifically request those items).
What to Expect When You’re Interviewing
Let's break down each stage of the typical tech interview process, with quick tips for doing your best in each one.
Congrats, you've already made it past one of the hardest stages: your tech resume caught the eye of the recruiter/company! The phone screen is your chance to make a good first impression.
You can showcase your tech experience to a degree here, but some technical phone interviews will be less tech-focused than others. More importantly, focus on conveying your soft skills (enthusiasm, communication, teamwork, etc.).
During the technical phone interview
Here are a few more tips on how to prepare for a technical phone interview:
- Be excited about the company or project, and that positivity will come across in the interview.
- Know your audience. If you’re interviewing with a recruiter (with no programming knowledge), play up your soft skills and don’t get too technical. If you’re interviewing with a software developer, show off that tech knowledge!
- Be honest: tell the interviewer what most interests you in a job and what kinds of projects you’d like to work on.
- Answer behavioral questions by showing, not telling. Use specific, memorable details and tell a story.
What interviewers are looking for in the phone screen
Beyond just pure tech skills, which they've already read about on your resume, interviewers in a phone screen want to see:
- Passion for tech/coding
- Communication skills
How to stand out over the phone
Even if you've applied to hundreds of jobs, tailor your answers to the exact one you're interviewing for. “When a candidate answers the interview questions in a way that is specific to the company and the position, it shows that they have done their research,” says Refael Zikavashvili, co-founder and CEO of Pramp. “It makes me believe them when they say they want the job. Not just any job, but THIS position that they are interviewing for.”
Also, look for opportunities to show your value alignment. “When they make it clear that they support the big picture and the mission of the organization, it’s a great sign that they will be a good fit,” says Refael.
Download the LinkedIn profile checklist
Created with aspiring techies in mind.
Remote Coding Challenge
“The coding challenge is typically a lot less rigorous than the whiteboard,” says Chris Lee of Launch School. However, that doesn't mean you can brush it off or apply less effort, as you'll often be asked to justify your choices.
This stage has some flexibility in how companies handle it. So first, let's go over some of the common types of remote programming interview questions or challenges.
- Some companies will give you a real-time monitored challenge to see how you code. Often this is done via a video interview + a web-based code editor like CoderPad, Collabedit, or even a Google Doc.
- Other companies (usually startups) may simply require you to complete an at-home assignment instead within a set time limit–usually 48 hours.
- Really small startups may not include a remote coding challenge at all–instead bringing you in for an onsite interview immediately after the phone interview–but bigger companies often do. (General rule: the bigger the company, the more structured the hiring process is.)
Technical interview tips for the remote coding challenge
- During a real-time coding challenge:
- Communicate with your interviewer and think out loud.
- Make it a collaborative process (use “we” instead of “I”); interviewers want to know that you’re a team player.
- Slow down; these real-time challenges are not usually timed so take your time, think it through, and give the interviewer a chance to give you hints.
- During a take-home coding assignment:
- Take time to plan out your code before writing it out.
- Make sure you fully understand the instructions and requirements. Re-read them several times before starting and once more after you’re finished with the challenge to make sure you've ticked every box.
- Check out this comprehensive article focused on acing the take-home challenge for other awesome tips.
What interviewers are looking for in the coding challenge
- Coding skills
- Testing code as you write it
- Problem-solving skills
- Collaboration skills
How to stand out in a remote coding challenge
- Go above and beyond. Sometimes remote coding challenges will come with optional “bonus” requirements. Complete those requirements to stand out.
- Don't cheat/get help from others to make yourself look better. “During follow-up live interviews, it's common for employers to probe the candidate to explain why certain choices were made,” says Chris (Launch School). “This is why it's imperative that you don't get help on the code challenge; if you do, you will be exposed during the follow-up conversation.”
Onsite Interview and Whiteboard Challenge
Now we've arrived at the most intimidating part of the entire tech interview process. At tiny startups, onsite technical interviews might be a lot less formal than at bigger companies. Heck, there may not even be a whiteboard to do a coding exercise on! Still, whatever the company size, it never hurts to be prepared and ready for any situation that may arise. (More on how to prepare for technical interviews further down!)
What to do during the onsite technical interview + whiteboard challenge
1. Ask clarifying questions before you even start writing code.
By doing this, you might get hints from the interviewer, plus you want to make sure you fully understand the challenge/question before diving in)
“I appreciate it when someone takes the time to evaluate the question he faces in the interview,” says Refael (Pramp). “It shows me that this person is calculated and rather than just writing code, he sees the whole picture.”
“Ask questions around [your initial] assumptions of the question, and try to reason about the question from a bottom-up perspective,” adds Chris.
2. Talk through your code (think out loud) to give the interviewer a window into your thoughts.
What happens in a technical interview is as much about the journey as the destination. “It’s designed to test a candidate’s communication and problem-solving skills,” says Refael. “More important than the solution is how they work at getting the solution. Can they articulate their thoughts while writing out the code on the whiteboard? Are they putting together a clear response to the question?”
Certain types of programming interview questions aren't even supposed to have easy answers, making them even more about the thought process. “Is it an algorithm design problem? If so, sometimes you're not supposed to know the answer right away,” says Parker Phinney, founder of Interview Cake. “You're supposed to have to try a couple ideas and think creatively and maybe even take some ideas your interviewer feeds you and run with them. Just relax and keep thinking out loud and trying new ideas.”
3. Speak clearly and precisely.
Being in a high-pressure situation like a programming interview might have you a little flustered, but work through it. Being as clear and specific as possible can help you keep yourself collected. “Since programmers work with abstract concepts, speaking clearly and precisely is paramount,” says Chris (Launch School). “Though it may not seem like it at first, the vast majority of programming roles are, at the core, social roles.”
A few of Chris's specific tips:
- “Pay attention to vocabulary, even on seemingly simple concepts.
- Refer to a concept by its formal name. For example, instead of saying ‘it calls that function and the result is 5,' say ‘the add_numbers function call returns 5, which is assigned to the variable sum.'
- Avoid pronouns and ambiguous words like ‘result' (usually, there is not a ‘result' but some output, side effect, or return value). The second example demonstrates clarity of thought and precision of language, leaving the reader with an unambiguous account of what the code is doing.”
4. If you’re stuck, stay calm, think out loud, and try new ideas
Not sure of the answer to some coding interview questions? Start with what you do know. “Coding interviews are a lot like math exams in high school and university: often, you’ll get ‘partial credit’ for showing your work and putting in some effort to find a solution,” says Refael (Pramp). “If you can demonstrate your thought process, the interviewer will understand that you’re doing your best to find a solution.”
Honesty is key here, because good interviewers can spot when you're bluffing. “Don’t panic or try to fib your way through it,” Refael continues. “Be honest that you don't know, but explain where you would look to solve the issue if you faced it in your daily work.”
What interviewers are looking for in the onsite technical interview
- Coding skills
- Problem-solving ability
- Ability to think creatively
- Communication skills
- Analytical thinking skills
- Culture fit
- How you handle feedback
- Ability to solve problems in a structured and systematic way. “Along the way, interviewers will also expect candidates to demonstrate knowledge of performance and optimization tradeoffs between space and time complexity,” says Chris (Launch School). “This will require applying algorithms and data structures to the current problem.”
- Understanding of the bigger picture. “Candidates may be asked to zoom out of application code and think about how data may flow between systems and the larger infrastructure impact,” explains Chris. “The goal is not to see if the candidate knows a specific piece of knowledge, but if they understand how systems interact and consequences of infrastructure decisions.”
For further details, check out this post by a Google software engineer, explaining exactly what interviewers are looking for during the technical interview.
How to stand out in the whiteboard interview
Keep it simple and clear! “Designing efficient algorithms is sort of table stakes. Here's something that really stands out: writing particularly easy-to-read code,” says Parker (Interview Cake). “And like 80% of that is just picking really great variable names. Don't use shorthand names like ‘x’ and ‘y’ to try to move faster–you'll just confuse yourself and your interviewer and you'll look reckless. Take an extra second to pick a variable name that really makes it clear what the variable holds, what type it is, etc.”
Start coding now
Stop waiting and start learning! Get my 10 tips on teaching yourself how to code.
After the Tech Interview
When the technical interview is over, take a breath: you made it through! There are a few things you can do to follow up, but for the most part, it's just a waiting game now.
Tips for after the interview
- Keep some emotional distance from the process. “Expect to get rejected a lot, and it's important to not view it as personal judgement,” advises Chris.
- Even if you don’t get the job, have the perspective that the interview was great practice for the future. If it was your first one, now you know what to expect from a technical interview! Glean insights from the experience and use them to propel yourself forward.
How to stand out
- Send a short and sweet thank you email to the recruiter/hiring manager within 24 hours of the technical interview.
- Make a note of everyone you speak to during the interview and reach out to them with a quick note of thanks as well. You can send emails to them individually if you made more of a connection, or send a group email with a general note of thanks to everyone. It will definitely help the team remember you!
- If you haven’t heard back after a week, send a brief follow-up email to the tech recruiter or your possible future manager, reiterating your interest in the role and asking about potential next steps.
Now that we've gone over what happens in a technical interview, let's backtrack a little and go over the very first step: how to prepare for a technical interview!
Preparing for Your Technical Interview
There's a lot that goes into preparing for a programming interview. Technical interview prep is more than thinking up clever answers to “what is your greatest weakness,” after all! Learning how to prepare for technical interview questions may require a bit of a time investment, but it's well worth it.
How to prepare for a technical interview
Some elements of coding interview prep should ideally start well before you even land the interview. Others can be accomplished closer to the day itself.
So, here are some of the most important coding interview preparation tips to master in the days, weeks, or months leading up to your job applications and interviews:
1. Prepare a 30-second to 1-minute elevator pitch for the “tell me about yourself” question
It's important that you go prepared to talk about non-coding topics like your employment history, career goals, past projects, etc. The technical interview could just be one part of many if you're at a company with a long interview process, and you'll probably have to answer some version of this question when you meet new interviewers. It's a great time to demonstrate soft skills and passion.
2. Before you go, study up on the most important CS fundamentals
Don't stress yourself out like you're cramming for an exam and trying to learn everything–but do dedicate extra preparation time to key topics.
Start with these must-study topics:
Of course, depending on the exact position you're applying for, there might be other topics you think you should brush up on during your coding interview practice–but make sure to include the items on this list as well.
3. Pick one programming language and know it really well
Here's one of the “do this before you land the technical interview” tips: specialize. You should know at least one programming language really well, preferably C++, Java, Ruby, Python, Go, or C. Companies usually let you choose the language you’re most comfortable with.
Check out these LTCWM resources for places to go to brush up on your coding skills:
4. Do regular coding challenges/smart practice
During your technical interview prep, it’s important to study the right way. Start early so you don't have to cram. Aim to solve 2-3 coding interview practice questions per day. A great resource providing these is Interview Cake. My review of Interview Cake is definitely positive: not only do you get a ton of practice technical job interview questions, you learn the right way of thinking about them.
Practice coding by hand on a whiteboard or piece of paper (without the help of a code editor). Consider imposing a deadline on yourself to get accustomed to working under time pressure. The more realistic a scenario you can create, the more effective your coding interview preparation will be.
You can use my 20%-off Interview Cake discount to get the full course with comprehensive information and a ton of practice technical interview questions–or join the email list to get one coding interview question per week for free.
5. Understand fundamentals
In the majority of cases, interviewers aren't going to grill you on obscure concepts or expect you to recite complex formulas from memory. “Most questions will not be based on gotcha-knowledge,” says Chris (Launch School). “Instead, the interview conversation will be probing your ability to deconstruct complex concepts and seeing if you can peel back the layers.”
For example, he continues, “An interviewer may ask ‘If you had a page that's experiencing performance issues, how would you go about figuring out the bottleneck?' This open-ended question is simultaneously assessing a candidate's knowledge of fundamentals, and at the same time allowing the candidate to show off their depth of understanding. It's these open-ended questions where interviewers can [identify] those who can work at a deeper engineering level. The only way to stand out is to understand the fundamental concepts that underpin the feature in question.”
6. Come to the interview with a relevant project to talk about
“A lot of people will advise job hunters to build a project and showcase that during the interview,” says Chris. “This is a great tactic because it allows the candidate to flip the conversation from being grilled to showcasing their ability.”
However, just like you should tailor your cover letter to the company you apply to, you should choose a highly relevant project here. “A good general rule would be to build projects that, at minimum, match the complexity of work for the job you're applying,” advises Chris. “Prospective employers will then be able to see that you not only can but actually have done work at the level that they require.”
Don't have a relevant project? Start building one the second you've sent out your job application! “Smart candidates should target specific roles,” Chris continues. “Study the requirements of the role and the type of projects the role is expected to work on. Then map out a way to independently produce projects of approximately equal complexity. You'll stand out if you bring that type of project to the interview.”
7. Learn to manage your time effectively
The more focused and efficient you can be during your tech interview preparation, the better you'll do when you're actually in the hot seat. Set a timer when practicing. Aim to finish a problem in about 30-45 minutes (including debugging at the end). If you run into snags, think of ways you'd explain your hesitation and potential next-step ideas to the interviewer.
8. Do mock interviews
Having a technical interview cheat sheet, reading books like “Cracking the Coding Interview,” and doing online coding challenges on sites like Interview Cake are all amazing, but if you want to take it even further, live coding interview prep might be what you need to really get comfortable and polished.
“Pramp.com is an excellent place for getting realistic coding interview practice–and it's free!” says CEO Refael. “While solving coding problems can help you improve your technical abilities, mock interviews with peers can also enhance your soft skills: the way you communicate, your body language, etc.”
Ultimately, interviewing is a skill, and skills are sharpened with practice “Practice, practice, practice,” says Chris (Launch School). “Your 20th interview will be dramatically different from your 1st, so try to get to the 20th in a practice setting and your first ‘real' interview will actually be your 21st.”
9. Get a study buddy or find a coding mentor
Got a friend or peer with similar job goals? Recruit them to help! Study coding concepts and work through problems together. Take turns interviewing one another so you can get the perspective of the interviewer side as well.
Online mentorship programs can be helpful as well. Develop a relationship with an industry expert through a program like HackHands and consult them when you have questions.
10. Have a process you can rely on to deconstruct questions
Technical interviews can get tough–you're probably not going to be thrown softball questions the whole time. “In a good interview, you will always be made to feel uncomfortable and be given a problem that you can't just solve right away,” says Chris (Launch School).
However, by anticipating this and forming a system to “deconstruct” questions, navigating the hard ones becomes a lot easier. “If you don't have a process, it's not going to be possible to figure one out on the fly,” Chris explains. “Think about how to do this before the interview. For example, one that I recommend to people is PEDAC.”
11. Never turn down an opportunity to interview
This circles back around to the idea of practice! Even if a company isn't your dream place to work, if they invite you for the tech interview stage, go. “Don’t turn down an opportunity to interview–the more coding interviews you complete, the stronger candidate you’ll become,” says Refael (Pramp). After all, best case scenario: you get a job. Worst case scenario: you're one step closer to knowing how to ace a technical interview!
12. Take a little time to reflect on impostor syndrome.
If you catch yourself feeling like you don't belong at a technical interview or you're not truly qualified for the job…you're not alone! “Impostor syndrome affects the vast majority of us, especially during interviews,” says Parker (Interview Cake). “Most of us really underestimate ourselves!”
That's where reflection time comes in. As Parker continues: “With a bit of effort, it's possible to really shift your mindset from ‘I'm an impostor' to ‘We all have our strengths and our weak points. I'm pretty good at some stuff, and I'm excited to learn more about some other stuff.'”
In the end, preparing for a programming interview often comes down to practice. Sign up for Interview Cake for tons of other resources to help you sharpen your skills for the technical interview. (And get a special 20% Interview Cake discount using my link!)
Meaningful Questions to Ask the Interviewer
Interviews are a two-way street. You should be learning about them just as much as they’re learning about you!
Asking thoughtful questions is also a good way to stand out in the interview. “The age-old adage ‘people don’t remember what you say, but they remember how you made them feel' is so true when it comes to interviews,” says Refael (Pramp). “When a candidate keeps the flow going in a friendly conversation, instead of making me feel like I am conducting an interrogation, I will remember our brief time together fondly.”
Of course, you should tailor your questions to the specific situation, but here are a few meaningful questions you can ask:
- What do you like most about working here?
- What frameworks, tools, tech stack, etc. does your company use?
- Can you describe the development process here?
- How do you test your code?
- Does the company offer opportunities for professional development, training for engineers, etc.?
- What’s the most challenging project you’ve worked on here?
The other upside: while you're listening to their answer, you get a little break from talking!
Common Tech Interview Mistakes to Avoid
Knowing what not to do can be just as important as knowing what to do, so let's quickly cover a few common technical interview mistakes.
1. Not preparing enough
Seriously, there's no such thing as too much technical interview preparation. “The good news is, most candidates don't put in that time. So it doesn't take much to really pull ahead of the pack,” says Parker (Interview Cake). “It's such a bummer as an interviewer to watch a candidate really come up short and just think to yourself, ‘I can tell you're smart–if you had just reviewed some of this stuff I'm sure you'd be able to get this.’”
2. Jumping into the code without taking a moment to think it through
You might be eager to start solving the problem, but take a few minutes to question your assumptions and make a game plan first! “Starting too quickly gets a lot of people into trouble when they could have taken a moment to prevent confusion down the road,” says Refael (Pramp). “Some of the most common mistakes candidates make are avoidable. Pause for a moment to think through the problem-solving process.”
3. Being too arrogant or opinionated
People would rather work with a humble person than an arrogant know-it-all. Especially for those with fewer years of experience, “it's more important to come across as being malleable and eager to learn, so the employer can envision you in a variety of projects and roles,” says Chris of Launch School. “Even seemingly innocent statements like ‘I love X and don't like Y' may come across as ‘I'm limited in my ability to work in a certain way.'”
By softening your phrasing, you can avoid these misunderstandings. As Chris advises, “A candidate should be tempered in their preference. For example: ‘I've been enjoying X lately, but also have experience with Y.'”
4. Not making conversation/chit-chat
Remember, your interviewers are human! It can be extremely valuable to find a point of connection. “An interview is not just about answering questions correctly, but also about a conversation,” says Chris. “Ask good questions. Laugh and make jokes at appropriate junctures. At the end of the interview, even if you missed a few questions, the overall feeling the interviewer has about you should be positive. If you know that you are not a great conversationalist, make sure to focus on improving this.”
Useful Technical Interview Resources
For further tech interview preparation, check out these resources!
- Online courses to help you prepare:
- Interview Cake Full Course (20% Interview Cake discount through Learn to Code With Me! Get the job, or your money back.)
- The Coding Interview Bootcamp: Algorithms + Data Structures
- Mastering the Software Engineering Interview
- 4 Week Online Bootcamp for Coding Interviews
- Good websites for coding practice problems:
For other resources/tools to help you in your coding journey, head over to https://learntocodewith.me/tools/.
Before we wrap this up, here are a few technical interview FAQs with links to the answers. (If you read this whole article, you're amazing–but if not, this will help you jump around to find what you need to know!)
Technical Interview FAQs
- What is a technical interview?
- How do I prepare for a technical phone interview?
- What should I do the day before my tech interview?
- What to wear to a technical interview?
- How important are algorithms for interviews?
- How do I study for a technical interview?
- How do I answer technical interview quehttps://www.interviewcake.com/tricks-for-getting-unstuck-programming-interviewstions I don’t know?
- What should I bring to a technical interview?
With these technical interview tips, you're equipped to begin your own technical interview preparation journey!
The next step is taking advantage of all the amazing resources out there that teach you how to ace a technical interview. First, head to Interview Cake for extra training, strategies, and practice technical interview questions (sign up here for an exclusive Interview Cake discount!). Then, acclimate yourself to live interviews by connecting with your peers on Pramp. Keep seeking out knowledge, improving your trade, and honing those interview skills with practice!
Getting your dream coding job means getting through the interview. But if you go in prepared, the technical interview will be a piece of cake.