Nailing the Technical Interview
What makes a technical interview different from a normal job interview? It is a specialized and challenging process that will test your coding skills, personality, and problem-solving abilities. However, if you prepare well ahead of time, then you can ace the interview and make the process much less intimidating. Keep in mind that each company’s interview process looks different, but the information below will provide an outline.
Typical phases of the technical interview:
- The (sometimes technical) phone screen: The purpose of this round is for the company to determine if you are qualified for the role and are a good fit for their company. Most questions in this stage are behavioral in nature, but sometimes questions arise that will ask about proficiency in a certain programming language, etc.
- Remote coding challenge/interview: Sometimes, companies want to test your coding abilities before having you come for an in-person interview. This might be conducted over video-chatting platforms such as Skype or a homework-type assignment for you to complete by a certain deadline. With the job search process becoming more automated, some employers are turning to virtual interviewing entirely and this might be the last round.
- Onsite interview and whiteboarding challenge: This is the final stage and typically involves an in-person coding challenge (s) for you to perform in front of the interviewers (usually your potential boss/colleagues). If you make it this far, then this means the company is strongly considering hiring you, depending on performance in this round.
Who will be doing most of the interviewing? This greatly depends on the size of the company. If you are interviewing at a startup or smaller organization, then it will likely be a member (s) of the engineering team or even the CTO. If your interview is with a large company, then there will likely be multiple types of individuals involved. For example, you might have more of a behavioral interview with a member of HR but have the whiteboarding portion with a senior software engineer. It is always a good idea to look up the names of the interviewers on LinkedIn beforehand if you have them.
What to wear: Despite the fact that tech is a relaxed industry, it is still important to dress professionally for interviews. A general rule of thumb is to dress one “level” above the company’s dress code. For example, if “casual” is allowed by the company, then you should opt for a business casual look. To find the company dress code, search their social media pages and see what their employees wear.
What to bring with you:
- Printed copies of your resume
- Questions for your interviewers (on topics such the company culture, trajectory of company technology, company challenges, and successes. etc.). Examples of questions can include:
- What can a student do in the next semester/year to prepare for success at [company]?
- What’s the most rewarding part of your job?
- Why did you choose [company], and why do you stay?
After the interview:
- Send a thank-you email to the recruiting/hiring manager within 24 hours after your final stage of the interview. Make sure to mention a couple of things that were unique to your interviewing experience, or what you enjoyed the most about the process.
- If you have not heard back within 2 weeks, you can send an email to the recruiter/hiring manager to see about next steps (if any) and to reiterate your interest in the role.
- Pick one or two programming languages and know them very well: This is incredibly important, as companies usually let you select which language to use in your technical interview when solving problem sets.
- Come prepared to discuss projects/experiences that are relevant to the role and company: Employers want to hear you showcase your work and articulate your skills. If you do this, then they can envision how you’d fit into the role within the company.
- Do some research about the company’s interview process beforehand: Websites such as Glassdoor can offer insight into company culture and provide real-life examples of technical interviews. Keep in mind that this data is self-reported, so there will likely be potential bias, however.
- Practice!: Websites like Pramp allow you to practice technical interviewing for free. Take advantage of resources like this.
- Interviewing at Large Tech Companies
- Cracking the Coding Interview
- LeetCode Coding Practice Website
- HackerRank Coding Practice Website