How to prepare for tech interviews
How to prepare for tech interviews
How to prepare for tech interviews depends on a number of factors:
- The job role and level
- The company
- The time you have to prepare till the interview
- Your background and knowledge
The following advice generally applies to tech interviews at FAANG or other top tech companies.
Technical interviews are typically of three types: coding interview, system design interview and role specific knowledge interview (for example: data science, machine learning). Early-mid level interviews consist of mostly coding and one or two system design questions. For more senior roles (staff and above), the system design questions are more complex and frequent.
Each interview is ~45 mins, that includes introductions in the beginning, the actual interview and questions for the interviewer at the end. The interviews are conducted using tools that simulate the “white board” online, like: Jamboard and tools that allow real-time code sharing and IDE, like: CoderPad.
Here’s how to prepare for your tech interviews 3 months/1 month/1 week/1 day prior to the interview:
3 months before the interview
We recommend giving yourself at least 3 months to prepare daily and consistently, especially if it’s been a while since you’ve last interviewed.
Start with brushing up on the data structure, algorithm and system design concepts. Good resources for the coding interview are Cracking the coding interview book and the video series; for the system design interview System Design Interview book and the course.
- Each day solve at least one problem, starting with "easy" & "medium" difficulty levels, and progressing to "hard". Use a whiteboard or coderpad-like tool. Always test your code.
- Talk your thoughts through and time yourself to 30 mins per problem. It’s OK if you don’t finish in 30 minutes. Later you can take the time to fully solve it. With practice you will be able to finish questions in 30 minutes. Why do we recommend 30 minutes? Because in the real interview there’s buffer time for intro, questions and adding other factors like nervousness can slow you down more than the practice.
- Keep track of all the mistakes you made, and analyze what types of mistakes you make the most often. Work on those questions more, study the concepts until you are able to reduce the mistakes.
Do mock interviews
When you’ve started solving "hard" level questions for 2 weeks, it’s time to try mock interviews that simulate the real tech interview. Reach out to your network and ask for help with mock interviews. There’s also free resources like Pramp where you practice with a peer.
1 month before the interview
- Start with reviewing algorithms, data structures, system design concepts. Identify which topics you need to spend more time on. While reviewing, solve 2 problems daily as described in ‘Practice daily’. Keep track of your mistakes.
- Once you have identified your gaps and most common mistakes, focus on solving 3 questions per day from those categories.
- Do at least 2 mock interviews so you can work on the feedback of the first and do a final mock interview a few days before the interview.
1 week before the interview
- Review algorithms, data structures, system design concepts. Spend most of your time on topics that you find more challenging, for example: recursion, dynamic programming.
- Solve 3 hard questions every day as described in ‘Practice daily’.
- Do as many mock interviews as you can, ideally with interviewers that either work or have interviewed for the company you’ll be interviewing for.
1 day before the interview
- Solve 2-4 questions from the topics that you know you typically find hard, for example: recursion or dynamic programming is challenging for most.
- Prepare a summary of algorithms, data structures and powers of 2; print it to keep it handy.
- Get a good night's sleep, it's super important!
The best way to prepare is to create a plan tailored for you. Learnable’s interview prep strategy and tech mock interview coaching sessions can help you with a plan that is personalized for you and fits into your schedule so you can maximize your chances of success. We’ve had a 90% success rate since our launch in Apr 2020!