If you prefer to follow along via my YouTube video, you can watch it here
When I first started interviewing for internships, I failed interview after interview. As I collected feedback from interviewers and friends (from mock interviews!), I started to find out that there were some major mistakes I was making. And who could blame me? That was my first time interviewing for a job. The goal of my stories and videos have always been to help others ensure they do not make the same mistakes I did. Therefore, I will be sharing the 4 biggest mistakes from my experiences interviewing!
Disclaimer: This post is created based off my experience looking for internships and entry level (new grad) roles. I hope it will help for higher level roles and non-software engineering roles as well, but I unfortunately cannot make any guarantees. Without further ado, let’s get to it!
There are two things you need to do before you write code:
Interviewers often leave out key information (e.g. sample input, output data type, how to handle edge cases, etc.) and if you do not ask them questions about this, you may not be able to implement a thorough solution. Also, they may intentionally be vague or might have mentioned something you did not fully understand. Therefore, it is important to ask questions for clarification and run through 1 or 2 examples to ensure you fully understand the problem. You need to know what you are going to write before you start coding, so follow these two steps first and then jump into writing code.
Not asking questions might be tied to the way we are trained to think on an exam. The teacher/professor likely will not answer any questions you have and you have to rely on whatever you can gain from the problem to solve the question. That is not how things work in the real world. Software engineering is about communication and working together with a team to build something. In an interview, you are working together with the interviewer to build a solution to the problem.
Interviews are about convincing your interviewer that you have the expertise to perform well on the job. Your chances of getting a job can be jeopardized if you are having difficulty conveying your knowledge on the topic at hand to the interviewer. It is important to ensure that you have the sufficient background knowledge, but also to make sure you work with a friend on talking through technical topics (e.g. explaining how a certain algorithm works, explaining the tradeoffs between data structures, etc.). This allows you to collect feedback and strengthen your communication skills during interviews!
When you write code in a workplace, one of the most important things is to test it to ensure it works. Interviews should be no different! In an interview, you do not have the time to write fully fleshed out unit tests and sometimes, companies will not give you an interface through which you can run your code. Despite this, you can still trace how inputs will run through your code. You should take 1–2 simple inputs and 1–2 edge cases and go line by line through your code and compare the result to what you expect. This process helps you find bugs in your code that you may not have noticed during the interview. It looks a lot better if you go through this process and find a bug over the interviewer prompting you and sending you scrambling for it.
If you want to succeed on Software Engineering or Coding Interviews, you need months of preparation. In my first interviews, I needed so many hints to get started on problems. That was a good sign that I was underprepared for them and needed to invest more time into preparation. If you are just getting started and do not know where to start, I recommend looking through my first story: 5 Steps to Successfully Prepare for Software Engineering Interviews. That will give you a study plan to prepare for interviews which if you follow for at least 1–2 hours each day over a few months, you should be prepared for interviews!
I hope you found this story informative! If you liked the post/video, feel free to leave a like and subscribe to my YouTube account for more content like this!