Before you read this
If you’ve not read my post about why I’m writing this blog please read it here before proceeding. You want to make sure if this blog is for you before spending more time here.
prelude
If you are my target audience, you’re at early stages of your career in tech or do not have extensive interview experience. Whether you are waiting for your phone screening or onsite interview, you ask yourself how I should prepare for the big day? In most cases you rely on a few factors from the following list to learn about what you should expect:
- Past experiences
- Word of mouth (friends, colleagues, etc.)
- Shared by Recruiter
- Internet
- Internal information
In this post, we will go through this list and I will share my thoughts with you.
Past experiences
I love past experiences and the amazing point here is that you can learn equally from your success stories and failures. If you are not clear about what I’m talking about, I urge you to read my post on handling interview rejection.
The most important benefit of past experiences is that 1- they make you grounded and calibrate your perception of your qualifications 2- they can give you priceless pointers for improvement.
In my opinion, past experience is the bedrock of mastering the interview process. Like anything else in life without going through the real thing, you won’t get a real sense of the process. You can’t be a good swimmer by just reading books about how one swims.
✅ Action item: If you do not have much experience just start interviewing.
🚨 Note: This does not mean that you should rush into it without prep. Be smart, come up with a strategy. e.g. As you are getting ready and going through your preparation process, line up your interviews, maybe start from the opportunities that are not your dream jobs in your dream company.
Word of mouth
This is an interesting one. Your learning about something through someone else’s lens. Unfortunately the variance here is high. You could be mislead or nudged to the wrong direction by someone that is less qualified or does not have the best intention or you could benefit a lot from someone that has gone through the process with open eyes and critical mind that is willing to share their learning with a fellow human being.
Keep in mind that you are in an uncertain and stressful situation. In these cases, it’s easier to believe what you hear from someone that you deem more knowledgeable than yourself and if your judgment is wrong, the consequences can be dire.
💡Recommendation: Know the qualification of the person you’re listening to. You need to have an opinion about their communication styles, where they may exaggerate or what type of details they may leave it. Overall, it’s good to learn about others’ experiences but you need to proceed with caution.
Shared by Recruiter
It’s common that some recruiters share preparation materials with the candidates as part of the interview process. They may share it via an email or cover it verbally in a conversation with you. In some cases, they may share official links to reading materials or videos from the company you’re interviewing with. They may also share some generic resources with you that are not specific to any company in particular.
Since I’ve not heard this from anyone or read it anywhere, I just want to address a mental status w.r.t. the prep material shared by the recruiter. You may (and the less past experiences you have, the odds will be higher here) think that, oh, these are the resources shared by the recruiter, so, there should be something unique about them or I need to really double down on these topics instead of following my own plans, or something along those lines. In a nutshell, you may think of these resources as something sacred or uniquely important.
✅ Action item: Do not over index on the importance of resources shared by the recruiter.
🚨 Note: Resources shared by the recruiter can be just a template, in some cases, may be not even prepared by the recruiter. If you are interviewing with bigger companies, do not assume that there is a link between the interviewers and these resources. I can’t say these resources are useless, but unless you’ve been living under a rock, chances are you already know the concepts. Do go through them but do not spend too much time there unless you have a legit reason.
Internet
This is hopefully the most useful part of this post. I try to keep it short but it’s important to know how you should be treating the learning materials that you find on the internet. A tech interview for individual contributors usually consists of the following segments:
- Coding
- Design
- Specialized topic
- Behavioral
We consider two dimensions of usability:
- Can I find useful questions online?
- Can I find useful solutions online?
Let’s go through different segments one by one and discuss the usefulness of what you can find on the internet.
Coding
Perhaps the most effective use of the internet for the technical interview prep is for the coding segment. Here the answer to both questions 1 and 2 (dimensions of usability) is relatively high where usefulness of solutions could be slightly lower than usefulness of questions. There are multiple online platforms for coding exercises that one can use. Here I’m not going to introduce or recommend any of them. If you are not familiar with any, do a quick search and you should be able to find a couple of good ones. These platforms often provide an online editor, a submit mechanism and some sort of scoring mechanism which is helpful. Table below summarizes our evaluation of coding resources online:
usefulness of questions
⭐⭐⭐⭐⭐
usefulness of solutions
⭐⭐⭐⭐
🚨 Note: The solutions posted for coding questions for the most part are accurate. Just keep two points in mind: 1- Sometimes you need to look into different solutions posted for the same question across various platforms, in other words, for more complex or tricky questions, do not rely on one platform. 2- The name “coding” in the coding interview can be misleading, the norm is that you get evaluated for more than coding in the coding interview. If you have less experience interviewing, you may overlook the importance of proactively testing or writing test cases for your code which is part of the evaluation criteria for your performance.
Design
Design or architecture questions examine your approach to implement a software system with certain requirements. The interesting aspect of design questions is that there are a limited number of underlying concepts (e.g. consistent hashing, sharding, load balancing, etc.) that one needs to master, unlike the coding interview where the breadth to cover is vast. Here usefulness of questions you can find online receives four stars, just one star shy of what we mentioned for the coding questions, which indicates there are very relevant questions that you may be able to find online.
Table below summarizes our evaluation of design resources online:
usefulness of questions
⭐⭐⭐⭐
usefulness of solutions
⭐⭐
🚨 Note: The provided solutions for design questions are often very specific to the past experiences of the person that is sharing them which is not necessarily aligned with the way that your interviewer is expecting you to solve them. Even the type of considerations that you’re expected to demonstrate during the interview might not be covered by the online solutions at all. e.g. privacy concerns for a search autocomplete system.
Specialized topic
These are domain specific questions that you will be asked, especially when you’re trying to join a team specialized in a certain task (e.g. vision, AR/VR, security, etc.). The truth is that, in most cases the interviewer will ask you questions related to the problems they were trying to solve in their team for the past couple of years. Naturally companies are protective of their intellectual properties and their edge over competitors, so you shouldn’t expect to be able to find much relevant information online. Also, since the audience for these topics are scarce and the breadth to cover is huge, less people are motivated to share their knowledge online. Your best bet here is to be as deep as possible in your domain. Past relevant experiences and extensive studies help a lot and online interview specific resources as demonstrated below, are not very helpful here.
usefulness of questions
⭐
usefulness of solutions
⭐
Behavioral
Behavioral questions gauge your approach to collaboration with peers, to your drive and your self awareness (and other stuff that is not the focus of this post). As you can see in the table below, we observe the biggest delta between usefulness of questions vs. solutions here. I’ve given five stars to the usefulness of questions and only one to the usefulness of solutions. In other words, you can absolutely find a lot of relevant behavioral questions online that you’ll face in your real interview. However, the solutions to these generic/cliche questions are useless for the most part. There are certain tips like the STAR (Situation Task Action Result) framework that can help but proceed with caution when reading the proposed responses to these questions. Be authentic and try to prepare your responses based on your past experiences rather than tailoring them to what you read online.
usefulness of questions
⭐⭐⭐⭐⭐
usefulness of solutions
⭐
🚨 Note: The biggest gap in solutions for behavioral questions that you’ll find online is that they do not even tell you what exact attribute or characteristic the question is trying to learn from you and you may completely focus on the wrong dimension and lose a point.
Internal information
You can learn the most useful questions and relevant solutions to them if you have internal information about how a company or a team within a company conducts interviews. Seeking internal information is unethical and creates an unfair competition ground since not everyone has internal references or is willing to do this. In fact, as you’ve already read my first blog post, one of the main reasons for writing such blog posts is to enable the reader to know where they should put their focus and empower them to be more successful in the interview process by making the landscape more even and fair for everyone.
Afterword
Hope you enjoyed reading this post. It should help you better spend your time and energy on technical interview prep. Take everything with a grain of salt and use your own judgement when applying these tips in practice.