Technical interview questions are part of interview loops for most job families in tech, including data scientists, data analysts, engineers, UI/UX designers, and technical product managers. These questions are designed to elicit a candidate’s field-specific knowledge and, even more importantly, assess their problem-solving abilities. They can range from theoretical technical questions to real-world scenarios in which a candidate is asked to apply appropriate technical knowledge. The latter are often ambiguous and difficult on purpose to test the candidate’s ability to think under pressure, approach problems that they don’t know the solution to, and articulate their thinking.
Technical interview questions vary depending on the role and the company but typically fall into one of the types below, where we discuss it based on an example from a particular discipline.
Types of technical interview questions
Technical Knowledge
These are questions designed to assess your technical knowledge in the domain relevant to the position. For example, if you are applying for a data scientist role, you may be asked what the conditions are for OLS regression results to be valid and how you would validate them in your data. For these types of questions, you need to be prepared and able to answer in detail when faced with such a question. A red flag when answering technical questions is being vague and unable to go into detail about what assumptions actually mean or how you would implement said method in practice. In your given field, the required technical knowledge should be fairly obvious. Of course, it is always possible that you get a question you don’t know the answer to. In this case, it is better to be honest and say you don’t know the answer, as trying to bullshit your way through the question is a major red flag, way worse than not knowing the answer.
Coding Questions
In many tech jobs, you are required to write code. The quality of code that you are expected to write varies depending on the position; for example, software engineers are typically required to write higher-quality code than data scientists. Coding questions are often done through a coding platform, although a whiteboard may also be used in in-person interviews. A sample coding question would be: “Write a function to reverse a string without using built-in methods”.
Coding questions assess your fundamental skills in position-specific languages and technologies and your ability to think logically, analyze a problem, be creative, and handle errors. In coding question interview debriefs, whether the candidate could come up with a working solution is always discussed. Remember, you don’t have to create the most efficient solution; it is better to create a working solution than nothing. Also, it is very important to critically assess your delivery to see if you created something that actually works. Always test it, if possible, with some edge cases and focus on writing lean and readable code (as clean and readable as is reasonably feasible within the limited time you’ll have).
Algorithm and Data Structure Questions
Algorithm and data structure questions evaluate your understanding of fundamental algorithms and data structures, such as sorting algorithms, searching algorithms, linked lists, trees, and graphs. An example question could be “Explain how a merge sort algorithm works and its time complexity” or “Describe how you would implement a binary search tree and its common operations.”. Important points to remember when answering an algorithm question are ensuring you understand the problem and explaining your thought process. This helps prevent jumping into a potentially incorrect rabbit hole of an answer. You get bonus points for considering various alternative approaches and comparing their relative efficiencies.
System Design Questions
System design questions assess your ability to think critically about the structure and scalability of a software system. For example, the prompt “Design a scalable notification system for a social media app” forces you to think about how a technical system works in business operations. You need to consider the scalability of your solution, as well as its maintainability and security features. When given this type of question, you are expected to design a high-level architecture and walk the interviewer through it. You need to be able to discuss your design choices and, if asked, propose alternative solutions and discuss their pros and cons.
Database and SQL Questions
If you are interviewing for a data analyst or data engineer role, you will likely be asked database and SQL questions. For example, “How would you design a database schema for an online hotel booking system?” You need to think about what the data captures and how the data supports business operations. For example, if customer-facing APIs access the data, it must be performant and support a fast query speed. You need to show a good grasp of data concepts such as normalization and relationships, write clear, well-documented, and performant SQL queries, and be able to explain your query logic. In addition to understanding the primary functions of the database, it’s crucial to factor in how the data architecture aligns with the organization’s overall data strategy, including considerations for data warehousing, data lakes, and the potential integration with big data technologies.”
Problem-solving and Critical Thinking
These questions are designed to evaluate your ability to approach and solve complex problems logically. A sample question is “Describe your process for identifying the cause of a sudden drop in website traffic.” As with most other questions, you must place it in a business context. For example, a sudden drop in website traffic could be caused by a bug on the mobile version of the website, but it could also be related to a business decision such as promotion or marketing strategy. If you are hired to be, say, a data engineer, you may not be able to identify these causes yourself, but you have to show awareness of who you would talk to to identify the issue. When solving ambiguous problems, you need to be creative, show collaboration and communication skills, and be ready to step outside of the comfort zone of your primary area of expertise.
Technical Puzzles
Technical puzzles and brainteasers are technical interview questions likely not directly related to the tasks you’d be performing daily. Instead, they test your ability to solve problems with short notice in an area you haven’t had the chance to prepare for. A sample question could be, “If you have eight balls, one of which is slightly heavier, how would you find the heavier ball with the least number of scales?”. When answering this type of question, always, always think out loud. Ensure you understand the problem and the type of solution expected of you. Ask the interviewer clarifying questions if you have any doubts – asking clarifying questions is good interview practice. If you feel really stuck, try to imagine the possible actions that can be taken if they don’t lead to an immediate solution. This could give you a clue; the solution is usually something “obvious” once you think about it.
Behavioral Questions
Behavioral questions are used to assess your ability to work in a teach, handle difficulties in your work, give and receive feedback, and handle conflict. A question that often comes up is “Tell me about a time when you disagreed with your coworker/manager/stakeholder on a proposed solution and what you did about it”. You must always answer these questions using the STAR (Situation, Task, Action, Result) interview method. It is good to think of a few challenging situations in your past, either from your time as a student or your previous work experience, and have those handy in your mind. You can usually repurpose an answer to fit many types of behavioral questions. For example, suppose you once disagreed with your manager about how to solve a specific type of business problem. You could use this situation to answer the sample question above, but you could also use this situation to talk about how you give and receive feedback, how you communicate technical solutions to a non-technical audience or showcase your general collaboration skills. You should always be honest when you answer behavioral questions. However, you should also be mindful of the types of situations you choose to describe. Try to avoid past experiences that paint you in an overly negative light, even if you “learned from them”.
Past Projects
Interviewers will often pick a project from your resume and ask you to describe it in detail. Not being able to describe a project on your resume in detail and in a coherent manner is a major red flag. These types of technical interview questions test both your actual technical skills and your ability to articulate your thoughts in a clear way. Always begin with a high-level overview of the project’s background, goals, solution, and results. Do this before you go into any technical detail. Highlight challenges you faced (messy data? Conflicting demands from stakeholders?) and how you overcame those challenges. Describe your role in solving the problem. Did you work alone, or were you part of a team? If you worked as part of a team, you should be able to point to specific examples of your teamwork ability. Finally, reflect on what you learned from the experience.
Learning and Adaptability
You may be asked to describe a time when you taught yourself a skill unrelated to your primary area of expertise. Or you may be asked if you ever had to learn a new technology or skill quickly to support a project. It is good to think through these situations beforehand and make a list as you may not always be able to recall relevant experiences off the top of your head. When answering a learning-type question, showing openness to change and eagerness to learn is good. If you truly can’t think of a past learning experience that you can use to answer the question, you can say something like, “If I were in this type of situation, this is what I would do …”
Conclusion
Preparing for technical interview questions involves reviewing core concepts related to the specific role, practicing coding problems, and understanding common algorithms and data structures. Additionally, staying up-to-date with industry trends and advancements can contribute to a candidate’s success in technical interviews. Some preparations should be part of a long-term strategy, and other steps can be part of a short-term strategy. The former involves learning technical concepts that require months of studying; the latter involves things like making a list of situations that showcase your teamwork skills. When answering any type of question, always remember to take a step back and think through what is expected before diving into any kind of detail.