8 Ways to Ace a Technical Interview
Technical interviews are unlike any other job interview. It consists of a very specialized and rigorous process that can include additional interviews such as a behavioral interview and tasks that assess your skills in system design, coding, and personality.
Feeling anxious and nervous before and during an interview can be incredibly difficult to control and has the power to totally derail your performance. And since many employers know whether they want to hire you within the first 90 seconds, it’s critically important to learn to control interview nerves so that you can shine through from start to finish.
Unlike other types of interviews, tech interviews involve challenges and assignments. Technical interview questions can be a bit different from other interviews. They’re more like an exam than a typical question-and-answer interview. Technical interviews typically include behavioral questions, situational questions, and technical problem-solving questions.
Here are some tips and tricks that can help streamline your interviewing process:
#1 Prepare with purpose
The purpose of interviews differs for job candidates. The potential employer interviews you to gauge your professional traits. You attend an interview to decide if you would like to move forward in the recruitment process.
Most job seekers would agree that preparation is the foundation of a great interview. It’s also an important step in gaining control of your interview nerves. To that end, you’ll want to make sure you have a strong, updated resume with a professional layout. You should also plan and prepare your attire in advance, keeping in mind that you should dress for the highest-level job you want and be prepared for behavioral questions.
It is also good practice to take time to review the responsibilities and achievements of your past positions so they are on your mind during the interview.
#2 Asking clarifying questions
Clarifying questions are questions that the listener asks the speaker to eliminate or prevent any misunderstanding, confusion, or ambiguity. By asking this type of question, the listener makes sure they properly understood the message and obtain important additional information. The speaker also benefits by being reassured that their audience is actively listening and genuinely interested in what they have to say.
Knowing how and when to ask clarifying questions can help you in many situations by helping you understand what someone is saying to you. Regardless of your role within a team or organization, proper communication can directly impact your efficiency.
Asking the right clarifying questions is a valuable skill, but it takes to research and practice.
When should you ask for clarification?
1. When you receive instructions that aren’t clear.
Clarifying questions is a good way to troubleshoot and clear out your thought process. Explaining a complex task can be difficult, so it is in the interest of both the interviewer and the candidate that the details of the task are entirely clear.
2. When you need to better understand someone’s position on a matter
Clarifying questions is also a good way of properly understanding the nuances of someone’s opinion. By asking open clarifying questions, the listener is making the speaker elaborate on their thoughts and providing a more detailed version of them.
Examples:
- Is this element present in my input?
- What do you consider to be new technology?
- Is it possible to receive an empty string, nil or NULL, or just whitespaces as input?
- So, I need to be certain of that before I report back to you?
- So, I need to check the market and find out if anyone else is selling at a lower price?
#3 Picking the programming language
Before anything else, you need to pick a programming language if you are facing an algorithmic coding interview. Most companies will allow you to code in the language of your choice. Go through the job description thoroughly and know the programming languages that are required to full fill the job role.
For the most part, it is best to be familiar with the languages mentioned in the “requirements” section of the job description. Being able to deliver anything the interviewee asks is always impressive.
Be honest and stick to what you know.
#4 Mastery through practice
Next, gain familiarity and mastery of the algorithms and data structures in your chosen programming language. Practice and solve algorithm questions in your chosen language. While cracking the Coding Interview is a good resource, try to solve problems by typing code, letting it run, and getting instant feedback.
There are various online judges, such as LeetCode, HackerRank, and CodeForces for you to practice questions online and get used to the language. If you practice enough, there is a good chance that you will either see or complete one in your actual interview questions.
#5 Don't rush
Many candidates start to express their technical knowledge by coding as soon as they hear the question. STOP right there!
First, take a moment and repeat the question back to the interviewer to make sure that you understand the question. If you misunderstand the question, then the interviewer can then clarify.
Always seek clarification about the question upon hearing it, even if you think it is clear. You might discover that you have missed something. It also lets the interviewer know that you are attentive to details.
Consider asking the following questions:
- Are there duplicates within the input?
- What are some extreme cases of the input?
- How is the input stored? If you are given a dictionary of words, is it a list of strings or a trie?
- How big is the size of the input?
- How big is the range of values?
After you have sufficiently clarified the scope and intention of the problem, explain your high-level approach to the interviewer, even if it is a naive solution. If you are stuck, consider various approaches, and explain out loud why it may or may not work.
Sometimes your interviewer might drop hints and lead you toward the right path.
#6 Explain while you code
Use a good style to write your code. Reading code written by others is usually not an enjoyable task. Reading horribly formatted code written by others is even worse. Your goal is to make your interviewer understand your code so that they can quickly evaluate if your code does what it is supposed to and if it solves a given problem.
Use clear variable names and avoid names that are single letters unless they are for iteration. However, if you are coding on a whiteboard, avoid using verbose variable names. This reduces the amount of writing you will have to do.
Always explain to the interviewer what you are writing or typing. This is not about reading, verbatim, to the interviewer the code you are producing. Talk about the section of the code you are currently implementing at a higher level. Explain why it is written as such, and what it is trying to achieve.
#7 Don't be in a hurry after you're done
DO NOT immediately announce that you are done. In most cases, your code is usually not perfect. It may contain bugs or syntax errors. What you need to do is review your code.
First, look through your code from start to finish. Look at it as if it were written by someone else, and you are seeing it for the first time and trying to spot bugs in it. That’s exactly what your interviewer will be doing. Review and fix any issues you may find.
Next, come up with small test cases and step through the code (not your algorithm) with those sample inputs.
Interviewers like it when you read their minds. What they usually do after you have finished coding is get you to write tests. It is a huge plus if you write tests for your code even before they prompt you to do so.
You should be emulating a debugger when stepping through your code. Jot down or tell them the values of certain variables as you walk the interviewer through the lines of code.
By following these steps and tricks you will improve your coding interview skills, and be one step closer to landing your dream job.
Stay up to date with the latest tech trends and learn more with the ADL tech blog.