How does a Junior Frontend Developer interview work?

My name is Maxim Chechenev, I have been a front-end developer for almost nine years. I work at MessageBird in Amsterdam and as a mentor in the “Web Developer” course at Yandex.Practice. I also run a telegram channel “Senior Developer”.

Before I became a senior and started interviewing candidates, I went through dozens of my own interviews. In this article, I will tell you what a Junior Front-End Developer interview usually consists of and give some tips for preparing.

What does an interview consist of?

The initial stages of a front-end developer interview are not much different from any other.

Typically the interview can be broken down into three parts:

  • acquaintance,
  • technical questions and/or assignment,
  • your questions.

Acquaintance

The best part. Here you talk about yourself, and the interviewers talk about the company, product, position and job responsibilities. At this stage there are no puzzles or correct answers – the conversation will be about your experience, education, hobbies.

Although there are no correct answers to this part, you still need to prepare for it. This stage is as important as the technical part. This is where your soft skills are tested, and sometimes you may be denied a job, even if you have shown yourself brilliantly on the technical side.

A story about yourself

Imagine you came for an interview at the company you dreamed of. The recruiter offered you a cup of coffee, asked how you got there, and then asked you to tell us a little about yourself. Such a simple question took you by surprise: “Where to start, should I tell about my education, hobby, or is only my experience important to the recruiter?”

There is no right answer or clear pattern here. But there are a few tips to pay attention to.

Prepare a short story about yourself.

Answer in such a way that it is not a long, complicated story, but also not: “My name is Maxim, I studied to be a programmer.” I advise you to practice the story on friends, family or a cat in advance.

Tell us what you learned.

If the training was non-core, explain how you got into development.

Invest time in development experience.

If you are a completely new developer, no worries. In this case, you can talk about educational projects.

Touch on the topic of your core hobby.

Describe a project you work on in your free time. Even if it seems to you that the project is simple, it is worth telling about it. This will show your interest in the development. A simple project that does not solve grandiose problems is much better than an empty Github profile.

After this, the recruiter may ask a few typical questions. I also advise you to prepare answers to them so as not to get confused.

“Why do you want to work with us?”

How not to answer: “Because you are a big company with many interesting tasks.”

Which answer do you like? Get to know the product and company better, find out what you like and what you don’t. Talk about this at the interview.

Be honest, but don’t be impudent. I recently interviewed a candidate from Brazil who, when asked: “Why do you want to work for us?” replied: “They pay more in Europe than in Brazil.” Even though this is the most honest answer possible, it shows that he doesn’t care where he works or what he does.

“Why are you interested in the frontend?”

I personally like to ask this question: “Why are you interested in the frontend? Why not the backend, for example?” — it perfectly shows the candidate’s interest and passion.

How not to answer: “Yes, I just tried it, it seems interesting.”

Which answer would you like: “I like creating user-friendly interfaces” or “I like design and programming, and front-end is just what I need.”

“Will we work together?”

Companies pay attention to different qualities of a candidate. Some care about your ability to work in a team, others care about your desire to learn, and others care about everything at once. But usually companies are looking for a person who will be on the same wavelength with the team. To understand this, I ask clarifying questions:

  • What are your hobbies?
  • What do you expect from working with us?
  • What would you like to improve in yourself?
  • What achievements are you proud of?

When answering the last question, you can talk not only about your achievements in programming, but also about the fact that you have learned a new language or are a master at skiing. In general, you probably have reasons to be proud.

Such questions help to get to know you better: what do you dream about and what are you interested in. They may seem a little personal to you, that’s okay. But by answering these questions honestly, you will feel the tension clearing up, and now you are ready for the next stage – the technical interview.

Technical interview

The technical part is different in each company. Unfortunately, there is no universal set of questions that everyone uses. But usually this stage consists of questions to understand basic terms, ideas about the frontend and small tasks. Someone may give a small task, and someone will ask for commsenter pieces of code.

First of all, carefully study the vacancy and the required technologies that are indicated in it. If React is specified, be prepared for questions about this library. If it says “We use Vue,” then React is no longer needed.

Theoretical issues

The block with theoretical questions can be divided into two: questions about knowledge of the basics of JS, CSS and other tools, and questions about how you are used to working with code.

Instrument Knowledge Questions

To prepare for the first block, it’s a good idea to brush up on some basic JavaScript theory, for example:

  • How does inheritance work?
  • What is closure and why is it needed?
  • How to search for elements in the DOM tree?
  • How does Event loop work?
  • What is this object?
  • What are data types and how do you compare them? What is the difference between == and ===? What are null and undefined?
  • How do the .filter, .map, .reduce methods work and why are they needed?
  • What is a Promise, why is async/await needed?

There are usually fewer questions about HTML and CSS. You may be asked: “Which selector is stronger – by ID or by class?” or “How do I center an element?”

Be prepared for clarifying questions, so don’t say anything you’re not sure about or something you only know superficially. Go through the theory of those points that seem least clear.

When I interview candidates, I like to ask questions about their understanding of technology:

  • Why do you need React? Why can’t we do without it?
  • I expect to hear what problems React solves, what Virtual DOM is, and how to save time and effort when writing an application.
  • Why are different methodologies and approaches needed when working with CSS?
  • It doesn’t matter to me whether the candidate likes BEM, CSS Modules or css-in-js. It is important to me that the developer understands what problems they are solving.
  • More than a thousand positions are displayed on the page, and the page begins to slow down. What’s the best way to fix this?

It would be great if the candidate talks, for example, about lazy loading or pagination.

I don’t expect detailed answers; it’s more important for me to understand the candidate’s interest and outlook.

Questions about work habits

In addition to questions about technology knowledge, you may be asked about how you work, for example:

  • When code doesn’t work, what’s the first thing you do and how do you solve the problem?
  • How do you name variables and functions?
  • How do you explore new technologies and approaches? What are you reading?

My favorite type of questions is when they tell you about a project or task that the team is already working on or will be working on. Then they ask how you would make it and where you would start. Here it is important not just to tell what technologies you would use, but also to actively ask clarifying questions: “What is already ready? What are the deadlines? Is there a design?

You will definitely be asked: “How long would this task take you?” It’s important to remember, there is no right answer here. They don’t expect an exact answer from you, but they do expect an adequate one. An answer like “I can do it in a couple of hours” will show that you may be overestimating yourself.

Assignment: What will this code do?

A very popular type of task in interviews. You are shown slides with different code and asked to say what the function will output, what the variable will be equal to, and so on.

Tasks

Companies like to give a small problem (the “Easy” level on LeetCode – like this one) to solve during the interview. Most often this is a small algorithm. For example, about working with strings or arrays.

The most important thing: do not rush to solve the problem, but first think a little. Ask the interviewer questions about the condition: what data may be here, what restrictions there are.

Think out loud. You are judged not only on whether you were able to solve a problem or not, but also on how you make decisions and perceive feedback.

How to prepare for such tasks?

Check out the “Easy” challenges on leetcode.com, hackerrank.com or codewars.com. Don’t try to solve them all at once in one evening. Do it a little at a time—one or two tasks a day.

It may immediately seem to you that such tasks make no sense and you will not encounter them in your work. I advise you to think of them as an exam, which, if you pass, will put you in good company. It’s like getting into university: to achieve it, you need to follow the rules and pass exams that you won’t remember in the future.

Your questions

Always, absolutely always, have questions ready. Remember that you don’t Not only are you being interviewed, but you are also interviewing the company. You work here and spend at least a third of the day – ask everything that interests you.

You will definitely be asked: “What questions do you have for us?”

How not to answer: “None.” You may want to finish the interview quickly and go home, but the hard part is over, you just need to show interest and find out everything that worries you.

Which answer would you like: “What will I work on if you hire me?” Listen to the answer and ask clarifying questions. Find out about the team, how the work process works, whether there is a code review, whether someone will train you. Ask about the company’s plans: what projects are they launching? What difficulties and challenges are there now?

Don’t be shy to ask questions; they only expect you to be sincerely interested in the work.

General Tips

  • Don’t be late. It sounds obvious, but it can affect all further communication. Even if it’s a remote interview, be on the call in a couple of minutes. If you are late, be sure to notify us.
  • Please read the job description carefully. Look at the company’s product if it already has one. This will help prepare for possible questions and tasks regarding company projects.
  • Don’t be silent, even if you don’t know the answer to a question. You can simply safely say: “I don’t know, but I guess like this…” Even if you are wrong, that’s okay. You need to show your interest and desire to understand.
  • Don’t answer in too long sentences. In the middle of them, it can be easy to lose the meaning of what you want to say.
  • Brush up on the theory.
  • Comment on your decisions.
  • Ask questions.
  • Get a good night’s sleep the night before. Rest is much more useful than theory learned overnight.

After the interview

You have been invited to work

If successful, everything is simple: you discuss salary, start date and celebrate.

You were refused

In case of refusal, you need to remain calm. Yes, it’s offensive, but accept the refusal proudly and calmly. You should not write in response: “You are a so-so company, and your questions are stupid, in general, I just stopped by on my way to the store.” IT is a very small world and you never know who you will encounter in the future. Instead, ask for detailed feedback on what you need to work on. After all, you can always try to get a job at this company again in six months or a year.

If a company gives you feedback, handle it carefully. Find answers to questions and solve problems that you were unable to solve during the interview. Only by learning from your mistakes can you become a good developer.

Don’t be afraid to go to interviews. This is an important experience that helps you recognize your weaknesses and improve them. Besides, the worst thing that can happen is rejection, but is that really that bad?

Related Posts