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 your 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 (IF in person):
- Printed copies of your resume
- Questions for your interviewers (on topics such as 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?
Technical Interviewing Guide and Resources:
Technical Virtual Interviewing Tips:
With the pandemic, virtual interviews have been growing to be more common, and even the norm for some companies. Interviewing in an online setting can feel intimidating, but here are some tips to help you ace your virtual interview!
- Know your virtual interviewing tools. If the company you are interviewing for is using Zoom, make sure you are familiar with Zoom and how to turn your camera on, connect your audio input and output sources, etc. This can also help you check how you look on the camera and make sure you have good lighting beforehand!
- This also includes certain live collaboration programming tools. Many interviewers may ask you to code in a platform that does not have autocomplete, so make sure you are familiar with the syntax of the language you plan to use.
- If you’re living with others, let them know that you are having a virtual interview that day and ask for quiet hours during that part of your day.
- Keep water nearby! You may be talking a lot and the good thing about virtual interviews is you can easily have a glass of water by your side. After talking a lot in an interview, it can help to pace yourself with a few sips of water.
- Be ready to share your screen. Some interviewers may ask you to share your screen, so make sure you are familiar with how to share the correct screen.
- Have your resume pulled up in front of you as a reference for your behavioral questions and specific questions about your experiences to help you guide your answers!
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 the 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.
Mock Interviewing with CS Career Assistants!
- Make a Mock Interviewing Appointment through Handshake! Make sure to select Computer Science (Virtual).
- Mock Behavioral Interview
- Mock Technical Interview (Beginner)
- Mock Technical Interview (Intermediate)
More Coding Interviewing Resources:
- Elements of Programming Interviews
- Top FAANG Interview Questions From LeetCode
- Cracking the Coding Interview
- Blind 75
- Grind 75
- CSES Problem Sets
- LeetCode Coding Practice Website
- HackerRank Coding Practice Website
- Kattis Coding Practice Website
- The Anatomy of the “Perfect” Technical Interview
- Developer Roadmaps
- Interviewing at Large Tech Companies
- System Design Interview Prep
- Design Patterns: Elements of Reusable Object-Oriented Software
- Educative’s System Design Interview
- Google’s Guide to Technical Development
- Recommended books: Cracking the Coding Interview, Cracking the PM Interview, The Algorithm Design Manual, Introduction to Algorithms, Programming Interviews Exposed: Secrets to landing your next job, Review of Basic Algorithms: Introduction to the Design and Analysis of Algorithms