My Interview Preparation Handbook

The process I follow to prepare for my interviews has become very straightforward. This process helps me be more relaxed before/during my interviews and have more fluent answers. Sometimes, friends or colleagues ask me for help to prepare their interviews and they’ve usually told me this process was helpful, that’s why I’ve decided to share it here.

I hope everyone can take something from this post, from students looking for their first job to people who already have some years of experience working. I’ve described briefly some common questions that are sometimes asked during interviews. If you already have experience with interviewing, you might find these obvious but I still hope you can take something useful from this post with you.

Please note that this post only talks about preparing interviews. There are many other topics we could talk about that are related to this topic: how to structure the CV, how to evaluate an offer, what types of contracts are there, salary negotiation, etc. I’ll just cover the interview preparation and interview itself, since the other topics could get their own post. If you are interested in those, let me know here or in the comments and I could write a separate blogpost.

Before we start

Interviews might vary a lot depending on the company you’re applying for. The interviewer also has a huge impact on your interviews: that’s the person that will choose what questions to ask and then evaluate whether you’re a good match for the company or not. The process below is a general overview that could even be used to apply for non-programming jobs. Make sure you check out online information for additional questions or activities potentially relevant for  the interviews you’re applying for.

In case you don’t get an offer or do a horrible interview, don’t worry and keep it up! There are external factors, such as the interviewer, that you can’t control. Just make sure to adjust the preparation process after that interview so that you’re ready for your next one.

The Interview Process

I always follow the interview process I describe below. I started doing this in the first few interviews I got when I was about to graduate university.  I’ve made very little adjustments over the years.

Although my interview preparation process hasn’t changed, I’ve noticed that the interviews themselves have changed as I get more proficient as a programmer. For example, in my first few interviews after finishing university I had a couple of interviews where I was asked a lot of questions about mathematics and programming. As I’ve become more experienced, technical questions have gone away and general questions like “Why do you want to work for us?” have gained weight. The interviewer assumes I know how to program and is usually focused on making sure whether the position fits my interests – after all no one wants to hire someone to see them leave a few months later because the job wasn’t what they expected. I do still get some technical questions but they are very specific and, most of the time, they just want to know if I use X technology or have experience with a specific tool, rather than asking a technical question to evaluate my knowledge.

The framing: What’s the goal of the interviews?

We could say the ultimate goal of the interviews is to get hired, although that’s not very practical. The interviews exist so that the company can evaluate whether you’ll be a good fit for their team, at the same time you’ll be able to evaluate if that company is a good fit for you. With all this in mind, interviews are a way for you to get to know the company better (projects, technology, work ethic…) and for the company to get to know you better.

Your goal should be to give the company as much information about yourself as possible so that they have a lot of reasons to hire you. How you present this information is also important because that will determine how much of it they’ll remember while making the decision on whether to hire you or not. You have few opportunities to deliver all this information: CV, email, interview(s). You need to make sure you leverage each of those opportunities wisely.

Here’s a summary of what I do to make sure I share all the information I can. Some of these are explained in more detail further down:

  • Mention in the CV as much relevant information as possible. I think of it  as cues to what we’ll be talking about in the interview.
  • Build stories to explain the work I did in each company, stories are easier to remember than facts.
  • Try to have something that makes me more memorable. For example: share a curious hobby that makes me connect with the interviewer early on.

Let me share with you a real story about why it’s important to stand out. I was born in Spain, where it is common to have a picture of your face in your CV. I think that’s nonsense: the look of a person shouldn’t really matter. I was always applying for companies outside of Spain, so in my case it didn’t make sense to put a picture anyway. But, each time some of my Spanish friends asked me for help preparing the CV I told them I wouldn’t include a picture, even if I was applying for a job in Spain. One of them followed my advice. Guess what? He got hired and after some time, his manager told him “Your CV caught my attention because it didn’t have a picture in it”.

Think about it, you’re reviewing tens of applications and need to make a decision on who you’ll interview, which will probably be just 5-10 people. You see a CV without a picture, do you throw it away? No! Now you have a mysterious person with no face and curiosity is killing you to meet them. You won’t get a job just for that, but if you get an interview for standing out. That’s huge progress. Getting chosen as one of the 5 people they’ll interview out of +50 applications is already a big win. Same applies for the interview if that makes you be the chosen one out of all people interviewed. That’s why standing out, apart from showing good technical skills, is important.

Preparing the CV

Before you even have to prepare your interview you’ll have to prepare your CV. Since this is a completely different topic, I won’t cover it in this post, but I’ll say that you can use the next section to prepare your resume. What you write in your resume is what you’ll talk about in the interview.

Note: If you find this post useful let me know in the comments and I could also write about how to write your CV, let me know here or in the comments.

Preparing for the Interview

While I was at university, I bought the book Cracking the Coding Interview by Gayle Laakmann. The book included case-study problems that were not that useful for my interviews in the game industry. However, the introduction was golden to me (~40 pages out of 700 pages). It explains in high detail the process to prepare for interviewing. If I had to keep just one thing I learned from this book is how to structure small stories to answer questions. While you prepare your stories, you should think of the following:

  • Nugget: Start with a hint of what your answer will be about.
    • Let me tell you about a time when I solved X problem while working on Y project.
  • Situation: Explain the problem that was presented to you and the challenges to solve it.
  • Action: Share what you decided and how you worked towards the solution.
  • Result: Was the problem solved? What were the side effects of your solution? Were other side-problems solved?
  • What it says: Think about what the story you wrote using this structure says about you. Some examples are: teamwork, leadership, compassion, taking initiative. Try to update the story to reflect as many of these points as possible.

Another method you might have heard of is the STAR method: Situation, Task, Action, Result. This is very similar to the method described above, Nugget and Situation are very similar. I think the What it says addition is very important while preparing the stories since it allows you to share more details about you and how you work.

Writing your own stories

Before my interviews, and even before preparing the CV, I come up with one or two stories about tasks/problems/challenges I had to deal with in each of the projects I worked on (professional, personal or student projects). I have a file where I write all these stories and then elaborate the story using the method described above (Nugget, Situation, Action, Result, What it says).

I always write my stories, even before I write my CV, so that I can use the stories as brainstorming to write my CV and I make sure there are points in my CV for each of the stories I’ve prepared. One story can count for several points on the CV. For example: one of my stories talks about a time I had to solve a complex problem early in my career. My lead asked me to solve it in one specific way that wouldn’t work, so I had to convince him that I had a better solution and then implement it. This task was very complex and required a lot of work over months. In my CV this appears as several bullet points for each of the smaller tasks to solve the bigger problem.

You want to make sure your CV contains cues for the stories you wrote. This way the interviewer has more chances of asking a question related to this where you could share your story. Even if the interviewer doesn’t ask any specific question about that work, you might end up sharing a story (I usually share the story above about the complex problem I was asked to solve when they ask me: Did you ever face a problem you couldn’t solve?). In that case you should mention the cues on the CV, those will sound familiar to the interviewer because he read the CV. This will make it easier for them to understand the story. Your speech will be more consistent because the stories and the CV are supporting each other.

Pro tip: If you want to become better at telling these stories, read a bit about the Hero’s Journey. All stories follow that pattern at a bigger or smaller scale in: books, films, theater… Even the stories we tell about ourselves in our minds and to others follow this pattern even if you don’t know what the pattern is.

Before the Interview

Review your own interview questions list (more about this later). If you are doing your first interviews, search on the internet for some common questions for your discipline, collect them in a file and answer them. Review them days before your interview. Don’t just read them on the internet and answer in your mind. Create an actual document, copy/paste them, and answer them. The important part here is to create a file and gather your own list of questions.

Questions I always review

There are some specific HR questions I always review. These questions give a lot of information about the interviewee, so they frequently come up. They are good ice-breaker questions for technical interviews too, so make sure you have an answer for them:

  • Could you tell me a bit about yourself?
    • I usually give a summary of all the (relevant) jobs I worked on in chronological order. I make sure to mention my role and kind of work I did there (tools programming, networking, graphics…).
    • I tend to keep the answer professional until the end where I add one or two of my hobbies. I try to use what’s less common. Instead of saying “I like to exercise and hang out with my friends”, I would say “I like to play Go, hike with friends and do theatrical improvisation”. Some of the things you say here might stick with the interviewer, this is one of your chances to stand out, don’t miss your chance!
  • Let’s take, specifically, <video games> off the table. Can you speak to other areas of life/hobbies that you enjoy? Tell us about them.
    • Be ready to speak about your hobbies outside of your work. In case they don’t specifically ask these questions I always give one or two sentences about my hobbies as part of the “Could you tell me about yourself?” question.
    • If you don’t work on video games, replace <video games> with any other topic that’s close to your work industry. If you are an artist doing concept art you cannot answer “I like to draw in my free time” – it’s obvious you like drawing. They want to know more things about you, so make sure you give more information about yourself with each answer.
  • Tell me three strengths you have. / Tell me three weaknesses you have.
    • Make sure to be humble while talking about your strengths.
    • Always end on a positive tone, when you talk about weaknesses or mistakes. Share how you’re trying to improve your weakness or what you learned out of making a mistake. For example: One of my weaknesses is that I have a hard time delegating responsibility, I am trying to delegate more by doing X.
  • Have you ever faced a problem you couldn’t solve? What did you do to overcome it?
    • Here they are interested in the process you followed to try to solve it, it doesn’t matter that much what was the problem you were not able to solve. This question shows your problem solving skills (e.g. what do you do when you don’t know what to do?) and whether you’re able to ask for help (asking for help is perfectly fine, what’s bad is not asking for help and wasting days of work on something that could have been solved in five minutes).
  • Why are you looking for a job in <industry / company>?
    • They want to know what’s the reason you want to work for them and not someone else. Although getting a paycheck is the reason most of us work for, make sure you have good reasons to work for that company.
  • Why are you looking for a new job?
    • Same as before, make sure you know the reasons. You can also ask this question to yourself before the interview to prepare the questions you want to ask to the interviewer about the company you’re applying for (more on this later in the During the Interview section).

The answers to these questions make more sense when they are told as a small story. If you have to explain why you want to work for a specific company, tell them about what you enjoyed working on during your time at university and previous jobs. Tell them what you are missing at your current job and how this new company fits your current interests. 

In the same way, the stories you come up with don’t need to be specific for a question. You can use one story for multiple questions. I use the What it says part of a story to determine what kind of question the story fits in. The first time you tell a story, spend more time on it. Then, if they ask a question that fits with the same story, you just comment on it. This makes the original story more complete and adds weight to your answers. Just make sure you don’t stay with one single story for the entire interview, I tell between two to four of my stories per interview.

Technical Questions

Technical questions are specific to your discipline, so you need to come up with a list of questions yourself or look for them on the internet and add them to the file you created earlier to put the previous questions.


The goal of having all these questions, HR and technical, written down in a file is to be able to review them often. You don’t need to memorize the answers to these questions, just make sure you have an answer for them. The main purpose of this is to be relaxed before your interview. Having all the answers fresh in your mind will avoid panic thoughts. Some of these thoughts are: “What if I don’t know the answer to a question?”, “What if they ask me about X thing I don’t understand completely?”, “What should I say if they ask me about Y?”…

If you still have this kind of thoughts, relax, you won’t know the answer to everything, that’s okay (more on not knowing answers to some questions in the next section). Most probably you won’t be asked all the questions you prepare, maybe they only ask you one or two questions from the forty you’ve prepared. It doesn’t matter, the important thing is to be relaxed before the interview. Note that the first time you make this question list you’ll probably include too many topics that are just not that relevant. Don’t worry. Do it like this the first time and you’ll update the list after the interview (more about this below in the After the interview section).

Note on reviewing the technical questions: While it’s true that you should know the answers to those questions, the reality is that we tend to forget about the things we don’t use often. Reviewing will resurface that knowledge that you already have. The goal of the questions is not to learn them by heart. You should already know the answer to them deep in your mind, by reviewing you’ll just remember the details. The main reason for reviewing the questions is to be calm before the interview, the same as reviewing the stories. By the time you reach the interview you can be relaxed because you did everything to prepare for the interview.

During the Interview

Just be relaxed. The first part is about breaking the ice with some of the HR questions above. Share some of the stories you created. When you hear a question, try to find out what’s the best story to answer. It will probably come to you quite fast. If it doesn’t, then just say “let me think about it for a second” and take some time to find the story. You’ll notice how easy it is to answer, since you already have the story constructed in your mind, it’ll just come to you.

Remember: it’s okay if you don’t know something.. You can admit it and then take a guess. Tell the interviewer: “I don’t know the answer to that but I think…” or “I am not sure about the answer right now, I think it’s either X or Y”. Make sure to show how you arrived at that conclusion, show your thinking process with as many details as possible. Here’s something that happened in one of my first technical interviews:

  • Interviewer: What is an atomic variable?
  • Me: Hmmm, atomic, I’m nervous and I have volatile and atomic mixed up in my mind because both are used in multithreaded environments. Let me clear my thoughts.
  • I: [laughs] Don’t worry, tell me first what an atomic variable is and then volatile
  • M: Great, now I just made my life harder [laughing]
  • I: [laughs]

That moment is crystal clear in my mind because it was very fun, we all laughed. The first sentence is making two things clear: 1. I wasn’t sure about the answer; 2. If I gave an incorrect answer, I would be answering what volatile variables are. In the end I gave the correct answer for everything. But if it had been the other way around where I would have ended up mixing up the answers, I don’t believe it would have had a huge negative impact. Additionally, the extra joking and laughs helped ease tension. Even if I had given the wrong answer, I would have considered this interaction positive for the interview. Think about the What it says part of it: it shows honesty by admitting I wasn’t sure about the answer and that I can be fun.

At some point during the interview, usually at the end, you’ll always have a chance to ask questions to the interviewer. Always ask two to three questions, think about what’s the most important thing for you at this point in your life: ist it the project? the technology? the work ethic? work-life balance? You’ll have several interviews with different people, so ask the same questions to everyone to compare answers. Here are some of the questions I’ve asked in the past:

  • What happens when you’re tight on a deadline? How many times did this happen in the last two to four years?
  • What makes you wake up every morning and continue working for this company?
    • Think of: What do you like most about the company?
  • What do you think it should change in the company?
    • Think of: What do you like the least in this company?
  • What makes you stay in this company?
  • What’s the expected growth in the next year? And in the next three years?

I have a file with all the questions I’ve asked interviewers so far, the reason is that I ask the same questions all the time because what I look for in my job hasn’t changed in the last few years (I look for fully remote work and flexible working hours). Write down all the answers so that you can compare them between people in the same company and between companies.

After the interview

Write down all questions they asked, HR and technical ones. Don’t go do something else, write the questions down first. If you wait you’ll end up forgetting about some. Don’t do it during the interview because at that time you want to be thinking about the answer, not worrying about writing the question. Most of the questions will still be on short-term memory after the interview, that’s why it’s important you write them down as soon as you finish the interview.

You’ll use these updated questions to review before your next interview. Over time you’ll end up with a very solid list of questions for your discipline. Here’s what to do with each type of question:

  • HR questions: build stories for the HR questions that caught you by surprise.
  • Technical questions: look up answers to the ones you didn’t know about or had doubts.

The same way I have a file with all my stories, I have a file with all the questions I was asked so far on all the interviews I’ve had. I have them separated into categories: Human Resources, Math, Multithreading, Optimization, Graphics… This helps me review them afterwards.

End of the process

Once I land a job, I save my CV and the stories/questions files on the cloud and then forget about them… Until the next time I decide to look for a new job.

The next time you start looking for a job, you’ll thank your past self for saving all these files with questions. If you don’t have the stories and questions from previous times, your mind will go wild as the interview approaches, worrying about everything. Once again, the main purpose of this process is to be as relaxed as possible by the time you have your interview.

Starting all over again

When I want to start looking for a job again I just start all this process again: add the stories for my current job, update the CV accordingly, review all the previous questions…

Closing thoughts

Remember that the goal interviews is not to land a job, they are opportunity for you and the company to find out if you’re a good fit for each other. Make sure you try to stand out over other candidates by sharing unique skills and personal traits. Ask questions during the interview that will help you determine if that company is a good fit for what you look for in your job at this point in your life.

If you have any other questions about how to prepare for your interview, you can ask in the comment section below or contact me here. In the same way, let me know if you’re interested in hearing my insight on other parts of the job-seeking process like preparing the resume or evaluating offers.

I hope this post was helpful and that your interviews run smoothly. Good luck!

Leave a comment

This site uses Akismet to reduce spam. Learn how your comment data is processed.

Create a website or blog at WordPress.com

Up ↑