What is a technical interview? The technical interview, which may also be called a tech interview or software engineer 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 technical interviews are intimidating (with whiteboard challenges, remote coding challenges, and even full days of onsite tech interviews sometimes), it’s a lot easier when you know what to expect and have invested time into tech interview prep.
That’s why I wanted to create an epic, comprehensive guide to technical interviews and coding interview preparation for tech newbies!
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!
⭐ Psst! My favorite interview prep tool is Interview Cake ⭐
In this 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 and what you can do to stand out.
You’ll learn about some common technical interview questions and topics you should know. 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.
Note: Right now, many tech companies have temporarily or permanently moved staff to remote work instead. If you’ve been invited for a virtual tech interview, learn about the remote interview process, plus some virtual technical interview tips for success.
What Is a Technical Interview?
Unlike other types of job interviews, tech job 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 tech 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!
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 screening interview (via phone or video).
Good news! The company liked your resume and wants to talk to you more.
This short social & technical screen interview stage is designed to see if you are qualified and enthusiastic enough to proceed to the next technical round.
An initial technical screening interview typically lasts 15-30 minutes.
📝 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 Zoom, or as a homework-type assignment through a web application or email.
If the company is respectful of your time, a remote coding challenge should only take a few hours.
💻 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).
Tech interviews at this stage can also be done remotely over video conference if the company is remote.
Whiteboard interviews typically last 1-2 hours, but the whole onsite technical interview can be several hours to a full day.
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 technical interview stages:
- Google: initial phone or Google Hangout interview (30-60 min); onsite tech interview (~4 hours made up of 4 separate interviews)
- Facebook: Initial technical screening interview (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 personal and technical interviews)
How to prepare for a software developer interview also depends on the seniority of the role you’re applying for—e.g. is it more of a junior or senior position?
Junior computer science interview questions and technical rounds may not be as intense as higher-level computer engineering interview questions.
To find more about what the company you’re interviewing with might ask you, or more about their technical interview process, do a little research.
Check to see if the company has a tech blog. Sometimes companies devote entire blog articles to their tech interview process and what to expect (here’s an example from a company called Asana).
Failing that, Glassdoor has an “Interviews” tab for lots of companies, big and small, where current and former employees—as well as people who interviewed but didn’t end up working for the company—share what the process was like.
For example, here is Google’s interview tab on Glassdoor. This feedback could be about traditional or technical interviews, and some users might even share what kinds of coding interview questions they were asked.
If you’re still coming up short, shoot the recruiter or hiring manager a quick email asking what the interview process will look like. Knowing the exact steps in the interview process can help you figure out how to prepare for coding interviews there.
💬 Who you’ll be talking to at your technical interview
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 or smaller company: 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’ll directly work with if hired.
You may even have multiple interviews with different people–perhaps a whiteboarding technical interview with the tech team, a culture interview with HR, an executive interview with the CTO, and so on.
Whatever the case, one good tech interview prep tip is to try researching 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 something like that to break the ice).
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 to your tech interview
One of the most common questions people have during any job interview preparation process is 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 to your coding interview
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:
- Notepad
- Pen
- Printed copies of your resume
Don’t worry about bringing a laptop or coding samples (unless the interviewers specifically request those items).
⏰ How long are technical interviews?
The technical portion of the interview process (whiteboarding) typically lasts 1-2 hours. However, the full interview process, from the phone screen to the final interview, could take much longer.
Here’s a breakdown of some common time ranges:
- Technical phone/video screen: 15-30 minutes
- Remote coding interview/assignment: 1-2 hours
- Onsite interview: Often 1 full day of multiple interviews
- Whiteboarding challenge: 1-2 hours
When all is said and done, it’s not uncommon for the whole process to last several weeks as you progress through the different rounds.
Download the LinkedIn profile checklist
Created with aspiring techies in mind.
Common Technical Interview Questions
There are a wide variety of common technical interview questions you may come up against during your tech interview — it’s not all whiteboards and code.
However, because every company is so different, it’s impossible to anticipate every possible coding interview question.
Especially for backend developer interviews, some companies may ask computer science-based questions that often include CS trivia, technical puzzles or brainteasers. Other companies may focus more on real-world problems that resemble day-to-day work at the company.
Let’s look briefly at some of the types and topics of programmer interview questions you might encounter during a technical interview. For a full breakdown, see my guide to technical interview questions.
Types of tech interview questions you may face
A well-rounded software engineer interview will include questions that pertain to a candidate’s hard and soft skills. Here are a few question types you might be asked.
👩💼 Behavioral: These questions pertain to how you’ve acted in a specific situation in the past. These are based on real life situations you’ve encountered. Examples include:
- Tell me about a time when you handled a challenging situation.
- Give me an example of a time when you worked effectively under pressure.
- What happened when you made a mistake at work?
🏢 Situational: These interview questions deal with hypothetical situations in the future and what you might do in that specific scenario. Examples include:
- What would you do if you were unsure about the goals or direction of a coding task?
- What would you do if your coworkers didn’t complete their part of a coding project on time?
- What would you do if your teammate asked you to review their code and it was full of bugs?
👨🏽🏫 Education: You may be asked interview questions that are specific to your education, including if and where you went to college, if you’re self-taught and how you taught yourself, etc.
🖥️ Technical knowledge: Technical interview questions that assess your real skills and knowledge is the heart of the tech interview. These can be tech-oriented trivia-type questions like:
- How can you make sure that your code is both safe and fast?
- When do you use polymorphism?
- Explain the difference between an array and a linked list.
These could also be impromptu questions about the code you write on the whiteboard. That’s because what most companies want to know, more so than what facts you’ve memorized, is how well you can solve problems.
Common computer science interview question topics
As we’ve noted, there are not really any “common” technical interview questions when it comes to specifics.
However, there are a few common themes and subjects of coding interview questions that frequently appear in technical interviews across different industries:
- Data structures
- Algorithms
- Databases
- System design
- Networking
- Problem-solving
For more on this, check out my guide to common technical interview questions.
Meaningful questions to ask in technical interviews
Interviews are a two-way street. You should be learning about the interviewer and the company, 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 what are some examples of questions to ask in a technical interview (or even a traditional interview)?
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?
- Is there anything about my resume/application that gives you pause? (this can be a great way to get out ahead of something on your application that the interviewers think is a weakness/red flag)
The other upside: while you’re listening to their answer, you get a little break from talking!
☝️ Back to top
What to Expect When You’re Interviewing
Let’s break down each stage of the typical technical interview process, with quick tech interview tips for how to pass a technical interview and stand out in each part.
Phone Screen
Congrats, you’ve already made it past one of the hardest stages: your tech resume caught the eye of the recruiter/company! The phone technical screen interview is your chance to make a good first impression.
You can showcase your tech experience to a degree here, but some technical screening interviews over the phone 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 screening interview via phone/Zoom:
- 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 technical screen interview want to see:
👩💻 Passion for tech/coding
😄 Enthusiasm
🗣️ Communication skills
🤗 Culture fit
🤝 Alignment with company mission/values
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.
☝️ Back to top
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 technical round 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.)
Coding interview preparation 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”), since interviewers want to know that you’re a team player.
And remember to 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
One way to stand out in your remote coding challenge technical round is to go above and beyond. Sometimes remote coding challenges will come with optional “bonus” requirements. Complete those requirements to impress your interviewers.
Don’t cheat or 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.”
☝️ Back to top
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 know how to prepare for a software engineering interview, so you’re ready for any situation that may arise in your tech interview. (More on the best way to prepare for technical interviews further down!)
What to do during the onsite technical interview + whiteboard challenge
These steps will help you nail your technical interview—even if you don’t know all the answers!
1. Ask clarifying questions before you even start writing code.
You don’t have to stay in answer mode the whole time—it’s also smart to be thinking of the right questions to ask in a technical interview! And being presented with a technical challenge is a great time to practice this.
Instead of starting to write out your code immediately, slow down. Even if you think you already know how to solve the problem or answer the question, ask clarifying questions.
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 tech 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.”
A helpful tip for explaining your thought process is to act like you’re part of the team. If this were a real-life situation, how would you discuss, explain, and solve the problem?
This can also give your interviewers an idea of how you’d collaborate on the team if they were to hire you.
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 to help your tech interview skills:
- “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.”
If you’re really struggling to solve the problem, what can you do?
Try breaking it down even further and solve a much simpler version. For example, you could write a very basic solution and optimize it later.
The point is to get some code on the whiteboard and talk out loud as you’re figuring things out. In most cases, you’ll get points for trying and showing how your brain works. Plus, writing things out visually can often inspire a solution.
How to pass a technical interview isn’t always about getting everything 100% right, but staying cool and rational under pressure will always help!
5. Check for errors & walk through your solution at the end
Companies want to hire software engineers who can write bug-free code, or at least know how to check for errors.
Towards the end of writing out your solution, begin to check for any errors. This can show interviewers that you’re not just interested in writing code, but that you want to write good code.
When you’re done with your code, walk through your solution so interviewers understand fully what you did and why you did it.
What interview skills employers look 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.”
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.”
💡 Check out this article for 7 other ways to stand out during your coding interview.
Front end skills checklist
Download a free checklist that will walk you through all the skills you need to become a front-end developer.
☝️ Back to top
After the Technical 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 tech interview
- Keep some emotional distance from the process. “Expect to get rejected a lot, and it’s important to not view it as personal judgment,” 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 be a memorable candidate
📧 Send a short and sweet thank you email to the recruiter/hiring manager within 24 hours of the technical interview. Ask if there is anything else they need from you, or if there is anything about your interview that gave them pause so you can address it, if possible.
📤 Make a note of everyone you speak to during the tech interview process 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 before you’re in the room where it happens!
☝️ Back to top
Coding Interview Preparation
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 prep for a technical interview
Some elements of coding interview preparation should ideally start well before you even land the interview. Other technical interview preparation steps 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 and examples/stories for other interview questions
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.
It’s also a good idea to prepare some real-life examples and anecdotes/stories ahead of your interview. Doing this can help you prepare for pretty much any behavioral or situational interview question.
This works because if you have some examples/stories ready to go, you can apply them to nearly any interview question — which is important because you can’t really prepare for every single software developer interview question you might come across.
So, for example:
- You could think of an accomplishment you’re super proud of. That one example could be applied to questions like “Describe a time you went above and beyond at work” or “What’s your proudest accomplishment?”
- You could have an example of a time you made a mistake at work. That one example could be applied to questions like “Tell me about a time you made a mistake at work” or “Give me an example of a time you overcame a challenge”
Other stories/examples to prepare include:
- When you worked as part of a team
- When you solved a difficult problem
- When you showed leadership
- What you’re passionate about and why
Think about how to adapt your anecdotes to fit common software developer interview questions you might face.
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 technical interview skills.
Parker (Interview Cake) advises narrowing your focus to two main areas: “Fill the gaps in your knowledge of data structures and algorithms. Run a lot of practice problems.”
For software engineer interview prep or really anything computer-science related, start with these must-study topics:
- Data structures
- Big O Notation
- Trees
- Sorting and search algorithms
- Heaps
- Arrays
- Hash tables
- Dynamic programming
💡 Need a more guided study of these topics? Check out The Ultimate Data Structures & Algorithms Course for a deep dive into the most common topics that come up in technical interviews, with 100+ popular interview questions asked by Google, Microsoft, Amazon, and other big companies.
💡 Another great resource for learning everything you need to know about algorithms and system design is Interview Camp. Their weekly live sessions and 60+ hours of self-paced content will help you conquer your coding interviews by learning real-life techniques.
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. How to prepare for software developer interviews is obviously different from how to prepare for data science interviews.
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. But which language should you use?
Go for the language you have the most practice with. Even if the company uses a different tech stack, choosing the language you know inside and out will often be the better option.
💡 You can use my 10%-off AlgoExpert discount to get access to coding practice questions with written solutions in nine popular programming languages. Just use the code ltcwm when you check out.
💡 Want to use Java in your interview? Check out Pass the Technical Interview with Java — a Codecademy course designed to help you nail the technical interview in this specific language. They also have a technical interview prep course for JavaScript lovers.
Check out these LTCWM resources for places to go to brush up on your coding skills:
- 100+ of The Best Places to Learn to Code For Free
- The Best Places to Learn Web Development Online
- Recommended Beginner Coding Resources and Tools
4. Do regular coding challenges/smart practice
During your coding interview preparation, it’s important to study the right way.
Start your technical interview practice early so you don’t have to cram. How early? It will depend on your level of experience, how many hours per day/week you can dedicate to studying, and how soon your interview is, but if possible, start preparing before you even have a tech interview scheduled. 4-8 weeks is a good amount of time to aim for.
According to this Redditor: “If you can dedicate 1 to 2 hours most nights, you can prepare for a FAANG coding interview in 2 weeks without being completely burned out. Another 2 weeks and you can be prepared for the onsite with more coding, system design, and behavior interviews.”
Aim to solve 2-3 coding interview practice questions per day. A great resource providing software developer interview questions 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. Plus read my review of Interview Cake.
5. Understand tech fundamentals
In the majority of cases, technical 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 think about a highly relevant project to feature during your software engineer interview prep.
“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! Or start contributing to open source projects.
Join the free portfolio course
Sign up below for my *free* course on how to build a portfolio site as a web developer/designer.
“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.”
💡 Check out this LTCWM podcast episode with Parker (Interview Cake) for more tips on how to come up with coding projects to build and talk about in interviews.
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.
Here are some more time management strategies that can help during your tech interview prep.
8. Do mock coding interviews
Having a technical interview cheat sheet, reading books like “Cracking the Coding Interview,” (from Amazon) 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 preparation 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 your interview skills are sharpened with practice. Knowing how to prepare for coding interviews comes with time!
“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.”
💡 With AlgoExpert, you can schedule a mock coding interview with an actual human being.
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 understand the perspective of the interviewer as well. You’ll be learning how to answer technical interview questions while you learn how to ask them, too!
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 a 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!
Doing this gives you more experience preparing for technical interviews and more feedback on your performance afterward.
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!)
13. Use ChatGPT to create a personalized study cheat sheet!
There are tons of AI prompts you can use to help you prepare for an upcoming technical interview. Check out these 10 prompts to get started.
Here are a few example prompts from that tweet:
- I’m interviewing for [Your Role] at [Company Name]. I have [Your Experience] in [Your Domain]. What are the technical aspects that need to be covered for the technical interview? Give me a list in order.
- Please provide a set of potential questions, expected responses, and relevant insights for a [Your Role] preparing for an interview in a [Company] that specializes in [Company Domain].
You could also give it a question and how you would answer it, then ask ChatGPT to rate your response with a 1-5 rating and give tips on how to improve your answer.
AI can also help in other ways! For instance, Liftoff is an AI-powered interview prep platform that helps you practice your tech interview skills. It acts like a real mock video interview with a very life-like AI person interviewing you.
Common Technical 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 coding 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 considering your “soft” interview skills and choosing your words carefully, 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:
- Free 7-Day Interview Crash Course (Interview Cake)
- Interview Cake Full Course (20% Interview Cake discount through Learn to Code With Me! Get the job, or your money back.)
- Mastering the Software Engineering Interview (Coursera)
- 4 Week Online Bootcamp for Coding Interviews (Interview Camp)
- Java Interview Questions: Data Structures and Algorithms (Mammoth Interactive)
- Land Your First Tech Job (Break Into Tech)
- Data Structures Crash Course (AlgoExpert – get 10% discount with code ltcwm)
- Master the Coding Interview: Data Structures + Algorithms (Zero to Mastery)
- Master the Coding Interview: Big Tech (FAANG) Interviews (Zero to Mastery)
- Full-Stack Interview Prep (Udacity)
- Codecademy’s interview prep resources (Codecademy)
📚 Books to read:
These books are all available from Amazon. As an Amazon Associate I earn from qualifying purchases.
- Cracking the Coding Interview (Amazon) by Gayle Laakmann McDowell
- Programming Interviews Exposed: Secrets to Landing Your Next Job (Amazon) by John Mongan, Eric Giguere, and Noah Kindler
- Elements of Programming Interviews: The Insiders’ Guide (Amazon) by Adnan Aziz, Tsung-Hsien Lee, and Amit Prakash
👨💻 Good websites for coding practice problems:
- Interview Cake
- AlgoExpert (Get 10% off with code ltcwm)
- Skilled.dev
- LeetCode
- HackerRank
- CareerCup
- Pramp
- Codewars
➡️ Want more interview prep help? Check out “The 33 Best Coding Interview Courses and Books“
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 about how to pass a technical interview!)
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 questions I don’t know?
- What should I bring to a technical interview?
☝️ Back to top
Time to Go Crush Your Own Technical Interviews!
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.
Above all, keep seeking out knowledge, improving your trade, and honing those coding 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. 🍰
Note: there are affiliate links in this post.