Generally, there are three steps to prepare to a technical interview. Once you have submitted your resume and been requested to interview for the position you can expect a phone interview with the recruiter, followed by a technical phone interview, and then an on-site interview. This article will take you through the most common technical interview processes step-by-step. These processes will vary depending on the company, but going through this checklist will go a long way to ensuring you’re well prepared to land your first job in tech.
Overview of a Technical Interview
- Recruitment Telephone Interview
This interview shouldn’t take too long.
Recruiters want to know about your experience and why you think you’re a good fit for the position.
- Technical Telephone Interview
This interview will be much longer than the first and you will be given some problems to solve in real time.
- On-Site Interview
This interview will take place in-person at the company’s offices. You will be expected to solve some technical problems, system design problems, and to answer questions about your experience and yourself.
Technical Interview Process
Recruitment Telephone Interview
A recruiter will contact you at a predetermined time. He will introduce himself and give you a bit of background about the company and the projects you may work on. The recruiter will then ask you to introduce yourself and tell him about projects you have worked on previously.
- Focus on your latest work. Tell the recruiter about your achievements and responsibilities on projects you have worked on over the last 3 years.
- Tell the recruiter about any side-projects you are, or have been, working on. Include open-source projects and project you worked on at your most recent job.
- Make sure that you are familiar with the job description and requirements.
- Make a list of any questions you have about the job.
- Prepare a brief introduction of yourself including your education, qualifications, and work history.
- Give specific examples when you speak about your work history.
- Read up on the company, its products, history, and achievements.
- Remember to ask the recruiter to repeat or explain a question if you haven’t understood them.
- Ask any questions you have about the position or the company.
- Use the STAR Technique when giving examples about your experience.
Situation/Task – describe the situation or task you needed to address and the context.
Action – describe what actions you took to resolve the situation or complete the task.
Results – explain how you measure the success of the project and what the results were.
Technical Phone Interview
This is also a phone interview but the focus will be on your technical skills. In most cases, you will need to do a coding exercise or develop something online. This interview will be between 45 and 60 minutes long. Sometimes a second person is present, usually for training purposes.
You will be expected to answer one or two coding questions using CoderPad, and also be tested on your problem solving skills as well as core CS fundamentals like algorithms, design patterns, data structures, binary tree questions, Fibonacci series, and the like.
Your task will probably be to quickly code up a bug-free, efficient, optimized and efficient solution using the language you are most comfortable with.
Remember to keep things simple and then work on efficiency.
- Ensure you have access to a webcam.
- Using wired Internet and headphones aren’t essential but will help things go more smoothly.
- If the recruiter sends you a link before the interview – test it! The last thing you need is to be scrambling around installing plugins.
The on-site interview may consist of anything between 2 and 5 different interviews that cover the following:
- Problem solving
The interviewer wants to see how you apply different algorithmic approaches and data structures to solve technical problems.
- System design
This is where you will demonstrate your ability to design a whole system using different pieces to solve certain tasks. Piece you will use include frameworks, approaches, micro-services, databases, and so on.
- Behavioral questions
The interviewer will focus on your personal drivers, your experience, your leadership ability, your interpersonal skills, and other soft skills.
There will be two or three interviews about coding, one about system design, and one about you.
You will have a 45-minute lunch, more than likely with one of the engineers who have interviewed you. Don’t expect, or push for, any feedback but do feel free to ask any questions or raise any concerns you may have.
- Explain your thought processes throughout the interview. The interviewers want to evaluate your problem solving skills as well as you technical skills.
- When asked open-ended questions feel free to ask questions if you need clarification. Interviewers want to see how you engage with a problem and gain insight into how you solve it.
- Don’t be shy to improve on a solution you have come up with. It is perfectly normal for your first answer to need refinement and further explanation. Just remember to talk through it so the interviewer can follow what you’re doing and understand why you are doing it.
- Practice writing code with pen and paper or on a white board because you probably won’t have access to an IDE or compiler in the interview.
- You must know OOD, APIs, and programming.
- As a programmer, you’ll have to come up with both corner and edge cases. Ensure you have a conceptual understanding rather than just learning by wrote.
- Ensure that you sharpen your knowledge of algorithms. You will need to show an understanding of their complexity as well as how to change or improve them.
- You must be au fait with common sorting function and what type of data they’re best suited to.
- Know your Data Structures inside and out as well as which algorithms are best suited to each data structure.
- Brush up on your math. There are interviewers who will ask basic math questions related to elementary probability theory, combinatorics, and n-choose-k problems.
- System Design topics you should be familiar with:
- Real-World Performance.
- Availability and Reliability.
- Data storage
- CAP Theorem
- Byte math
- Read the Amazon Leadership Principles and think of a concrete example from your working history that applies to each of them.
Let’s not beat about the bush – technical interviews are harsh. It is essential that you spend time preparing for a technical interview and practicing your skills. It is easy to get overwhelmed and worried that you do not have all the skills required so keep in mind that companies aren’t simply looking for someone with technical skills, they are often looking for individuals who can take ownership of a project, think independently, and make a positive contribution to their team. Good Luck!