The Technical Interview Questions You Must Be Able to Answer

Updated on | Sign up for learn to code tips


If there’s likely to be a technical interview in your near future, one of the best ways to prepare is by familiarizing yourself with common technical interview questions.

The specific questions you’ll be asked in your interview will be tailored to the exact role you’re applying for, but you can get a good idea of what to expect by learning about the different types of questions often asked in the technical interview.

Technical interview questions typically fall into two broad categories: technical and non-technical.

  • 🖥️ Technical questions are designed to help the interviewer determine whether you have the technical understanding and hard skills to do the job in question.
  • 👤 Non-technical questions are designed to help the interviewer understand the kind of person you are, which soft skills you have, and how you’d fit into the team.

Let’s have a quick look at the kinds of non-technical questions you might be asked during your interview, before we have a deeper look at the most common technical interview questions you might face.

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!

👤 Non-Technical Interview Questions

Non-technical interview questions are all about understanding how you would fit into the company and what kind of coworker you would be.

The interviewer(s) will be evaluating your soft skills, such as communication, and your personality traits, for example conscientiousness.

Some non-technical interview questions focus on your past behavior.

For example:

  • Tell me about an obstacle you encountered while working on your last project. How did you overcome it?
  • What’s the biggest mistake you’ve ever made at work? What did you learn from that mistake?
  • Give me an example of a time when you had to work under pressure.
  • How did you approach learning to code? What would you do differently?

💡 TIP: Prepare a list of anecdotes that demonstrate your skills and experiences. Having these anecdotes at the front of your mind will make it easier to answer any behavioral questions you’re asked in your interview.

Other non-technical questions are hypothetical, or they ask how you might approach a particular situation in the future.

For example:

  • What would you do if you and your coworker couldn’t agree on which tool or framework to use?
  • How would you go about giving feedback to a coworker whose code was full of bugs?
  • What would you do if you you were struggling to complete your work on time?

Some non-technical questions are simply to gather useful information about you.

For example:

  • What was your reason for leaving your last job?
  • What made you decide to pursue a career in web development?
  • How do you keep up-to-date with changes in the tech industry?
  • When would you be able to start?

Download the LinkedIn profile checklist

Created with aspiring techies in mind.

🖥️ Technical Interview Questions

Technical interview questions are designed to test your technical knowledge, hard skills, and aptitude for problem solving.

But that doesn’t mean you need to know everything there is to know about tech—interviewers are often more interested in seeing how you approach problems than in the actual solutions you come up with.

Very broadly, you might be asked questions about:

  • Programming languages, frameworks, and other tools
  • Computer science concepts, like data structures and algorithms
  • System design and architecture
  • Development best practices and methodologies

Software engineer interview questions generally come in two formats:

  • Conceptual questions, to test your knowledge of technical concepts
  • Puzzles, to see how you approach problems and communicate about your work

Programming Language and Framework-Specific Questions

Your interviewer will probably want to check your proficiency in the programming language(s) you’ve listed on your resume, or the languages and tools you’ll need for the role in question.

That said, in some cases, you won’t be expected to know all of the languages a role requires, particularly if you’re applying for a junior developer role. In this case, you’ll be expected to learn on the job, but your interviewer may still want to check your understanding of any languages you have learned.

Here are the kinds of programmer interview questions you might be asked:

  • Which programming languages do you know?
  • Which frameworks and libraries have you used?
  • What are the limitations of your favorite programming language?
  • Can you identify the problem with this piece of code?

💡 TIPS:

  • Find out which tech stack the company uses, by checking StackShare.
  • Familiarize yourself with the different types of programming languages.
  • Research the basics of any languages the company uses that you’re not familiar with.
  • Have a look at the company’s GitHub repositories.
  • Review the fundamentals of your programming languages and brush up on any weak spots.

Algorithm and Data Structures Questions

Algorithms and data structures can be some of the toughest programmer interview questions, especially if you’re self-taught. To answer these questions, you’ll need to understand the fundamentals of computer science.

Data structures are essentially different ways to store data. You need to understand the different data structures, as well as the pros and cons of each, so you can decide which one(s) to use.

However, you don’t need to learn all the different data structures out there. There are four main data structures you need to know.

Algorithms are processes you can use to solve different types of problems.

Again, you don’t need to learn all the common algorithms! A better approach is to learn to think algorithmically, like a computer. That way, you’ll be able to come at almost any problem logically.

Here are some examples of conceptual questions you might be asked about data structures and algorithms:

  • What is a data structure?
  • Explain the differences between an array and a linked list.
  • What is recursion?
  • Describe the characteristics of a binary tree.
  • Discuss the advantages and disadvantages of different types of trees (e.g., AVL tree, B-tree).
  • What is LIFO?

Here are some examples of problems you might be asked to tackle to demonstrate your understanding of data structures and algorithms:

  • How would you find the second largest number in an array?
  • How do you determine if a string is a palindrome?
  • How do you reverse a linked list?
  • Write a function to reverse the string “hello.”
  • Write a program that prints the numbers 1-100. But for multiples of three, print “Fizz” instead of the number, and for the multiples of five, print “Buzz”. For numbers that are multiples of both three and five, print “FizzBuzz”.
  • Merge two sorted linked lists and return it as a new sorted list.

💡 TIP: Make sure you have the technical knowledge to tackle computer science interview questions by taking a course on data structures and algorithms.

Here are a few to check out:

System Design Questions

System design questions evaluate your ability to design efficient, maintainable, and scalable systems.

For example:

  • How do you go about deploying a product? What’s your process?
  • How would you design an online marketplace like Amazon?
  • How would you approach designing a file storage system like Dropbox?
  • Design a URL shortening service like Bitly.
  • Explain the concept of load balancing.
  • Discuss the trade-offs between monolithic and microservices architectures.

💡 TIP: Familiarize yourself with system design concepts like scalability, database design, and load balancing.

Here are some courses you could take to learn system design:

Development Best Practices and Methodologies

It’s generally accepted that tech teams work more efficiently and successfully when they follow structured processes and methodologies, for example agile development and waterfall development. However, there’s no general consensus as to which approaches yield the best results, and so different teams use different frameworks.

To assess your ability to work as part of a development team, your interviewer will want to test your understanding of the development frameworks their company uses.

Here are examples of the kinds of questions you might be asked about development methodologies:

  • What is Agile development?
  • How would you describe a Scrum framework?
  • What are the benefits of holding daily stand-up meetings?
  • What does a Scrum master do?
  • In which circumstances would a waterfall methodology be the best choice?

💡 TIP: Try to find out which development methodologies the company uses, and brush up on your understanding of them before your interview.

Here are some courses you could take:

Join the free portfolio course

Sign up below for my *free* course on how to build a portfolio site as a web developer/designer.

💡 More Tips: How To Answer Technical Interview Questions

I’ve shared a handful of tips for answering common software engineering interview questions above, but let’s finish up with a few more!

Research Past Interview Questions

Want a more specific direction to help you prepare to answer coding interview questions? One pro tip is that you can go to Glassdoor, look up the company you’re interviewing at, and take a look at what real people say they were asked during interviews at that company.

For example, if you were interviewing at Zoom and wanted to know Zoom software engineer interview questions, you could look at the company’s Glassdoor page and see that the questions asked and topics covered include:

  • General React questions 
  • Modifying small web apps that were partially implemented
  • Implementing an LRU Cache in Java
  • Trivia questions related to Spring boot and concurrent thashing
  • And more

Of course, these questions may not be the exact questions you’re asked in your interview, but they can give you an idea of what to expect.

Ask For Clarification

Perhaps the worst way to answer an interview question is by pretending you understood it when you didn’t! Asking for clarification not only increases your chances of giving a good answer, it also shows that you’re willing to ask for help, admit when you’re wrong, and prioritize outcomes over your own ego.

Even if you do understand the question, it’s often worth asking clarifying questions to show that you understand what your interviewer is talking about, and that you understand there’s nuance.

Explain Your Thinking

Make life easier for your interviewer by narrating your thinking out loud. Explain your problem-solving process and the logic you used to arrive at your answer.

Even if you don’t know how to answer a particular question, you can explain any parts you might know. If you have absolutely no clue, SAY THAT, but then say “Here is how I’d approach that unfamiliar situation” and give context there. Do not just say “I don’t know” and abandon it there.

Practice Answering Interview Questions

One of the best things you can do to get better at answering technical interview questions is to practice answering them.

Fortunately, there are lots of great resources out there that can help you do this. See my guide to the best coding interview courses and books for a full breakdown of what’s available. Otherwise, here are some top picks:

Interview Cake

Interview Cake doesn’t just give you a whole bunch of technical interview questions and the correct answers; it actually teaches you how to get to the answers yourself. Each question comes with a complete breakdown, common mistakes, and guidance on how to approach similar problems in future.

Even better, with Interview Cake, you either get the job, or you get your money back. If you’re unhappy with your purchase or you don’t get the job within 100 days of buying, you can get a full refund.

Interview Cake

Read my full review of Interview Cake or take the free 7-day crash course to try it out.

And one more thing—as a Learn to Code With Me reader, you can get 20% off Interview Cake!

AlgoExpert

AlgoExpert gives you in-depth video explanations of hundreds of technical interview questions, solutions in 9 languages, and a coding workspace.

You can also take assessments designed to reflect a real day of interviews, and do mock coding interviews with other users.

AlgoExpert

Read my full review of AlgoExpert and use the code ltcwm when you check out to get 10% off.

All You Need to Answer Programmer Interview Questions!

Hopefully this guide has given you an overview of the kinds of software engineer interview questions you’re likely to be asked, and some pointers on improving your answers to technical questions.

Remember—it’s not necessarily about getting the right answer. It’s about showing how you come up with your answer, so the interviewer can understand your thought process and assess your technical understanding.

Take the time to practice answering computer science interview questions ahead of your interviews, using a tool like Interview Cake or AlgoExpert, and you won’t have anything to worry about!