paint-brush
My Favourite Front-End Interview Question to Ask Candidates and Whyby@kartaplyany1smoothie
143 reads

My Favourite Front-End Interview Question to Ask Candidates and Why

by Artsiom MarozauOctober 28th, 2024
Read on Terminal Reader
Read this story w/o Javascript
tldt arrow

Too Long; Didn't Read

Interviews often says more about the interviewer than about the actual project and what tasks you would be assigned.
featured image - My Favourite Front-End Interview Question to Ask Candidates and Why
Artsiom Marozau HackerNoon profile picture

I’ve been working in IT for 10 years, and for the past 5 years as a Lead Developer. I’ve conducted over 100 technical interviews for various projects and technologies. I think, that Interviews often says more about the interviewer than about the actual project and what tasks you would be assigned. It’s frustrating when interviewers ask questions like “How do you handle memory leaks in a browser?” or “What project metrics should be tracked?” Then, for a long time, you working on building web forms and changing button colors 🙃

Target Audience

I do not recommend this article for people who are preparing for interviews, because most interviews focus on a lot of theory that doesn’t really relate to the project or work you’ll actually do. I hope this will be interesting for those looking for an optimal way to conduct interviews and find the best candidates in the market. This rules and questions were defined after a big amount of hiring bad specialists, that perform really bad on the project. As for now, I can be sure that using this questions, even if candidate know before interview them, I will understand if I can work with this person and will the candidate be able to handle the project tasks.

Interview Rules

Ask Only What You Need to Know

Make the PLAN! You should understand why you hire someone and what this person would do on project.


If you’re hiring someone just to write HTML/CSS, ask relevant questions. You probably expect them to analyse requirements before implementation. Your goal is to hire someone who can work independently, so don’t waste time explaining every detail of what they need to do.


If you need a candidate that will change the build process on you project and split application into microfrontends, then it ok if candidate has some gaps in css, when specific tasks would be ended you can hire a new one or upskill your teammate.

Don’t Ask What Can Be Googled

It’s strange to hear questions like “What does function X do?” or “How many JavaScript types are there?” If the candidate doesn’t know the latest features like private methods or symbols in JS, it’s usually not a reason to reject them, until you are banned in google or ChatGPT and all your teammates are junior developers.

Ensure the Candidate is Ready to Learn the Project Stack

Sometimes it’s critical, like if you’re hiring a backend developer for a project with a SQL database but no ORM. In that case, SQL knowledge is essential. However, if you’re using Firebase, SQL might not matter. If a candidate has some backend experience, give them 1-2 days to learn Firebase. It hard to find candidate that will match all your project skill set, especially when project exists for more then 5 years.

Evaluate How Candidates Think

Nobody knows everything, but some people are quick learners and adaptable. I prefer hiring people who show a willingness to learn and grow. It better to understand if candidate can solve complicated tasks or will rather give up on easy one. If their knowledge covers at least 70% of what you need, check if they can learn new tools, solve complex problems, and apply their skills.

Remember the candidate level

It not relevant to ask junior developer: how to setup datadog dashboard and what metrics to collect.


As for me, I have following expectations from candidates level:


  • Junior Developer: Has good theoretical knowledge and can apply it in practice. Has limited practical experience;
  • Software Developer: Can work independently on most tasks. Has solid practical experience for at least one year;
  • Senior Developer: Should have strong and deep technical knowledge and be able to mentor junior developers. Ideally capable of creating good solution designs. Has good communication skills;
  • Lead Developer: Similar to a senior developer but can also manage the team. In my view, they should also act as a junior architect and junior project manager, supporting both the PM and architect effectively.

Ask Simple Theory Questions

I’m not a fan of theory, but I do ask basic questions to ensure candidates understand the main tech stack. For example:


For a React position:

•	How does change detection work in React?

•	How do you use useState and useEffect?

•	What’s the difference between props and state?


For an Angular position:

•	How does change detection work, and what strategy do you use?

•	Can you explain the component lifecycle?

•	What is two-way data binding, and what is @Input?

Once candidates show a basic understanding, I might ask more advanced questions based on the project’s specific needs.

Practical Coding Tasks

I’ve heard complaints about coding during interviews, but I’ve found it helpful.


Remember to help candidate to keep calm if candidate got too nervous!


Part 0: Using the Console

I often start by asking the candidate to download a project from GitHub. This helps me understand how they navigate the console, switch between screens, and more. Here’s what I look for:


•	How they download the code – do they use an efficient method?

•	Do they check the README file for setup instructions?


Part 1: Problem-Solving

The first task might be to create a simple blog.


•	How many questions the candidate asks – are they relevant?

•	Do they prioritize tasks effectively?

•	How is the CSS structured, and are they using best practices?

•	How do they approach the task? Do they start with a basic structure and then refine it?

Part 2: Handling Challenges

I also give a task to fix unit tests, which helps me see how candidates handle difficulties and work with legacy code.


•	How they debug and use the console.

•	Their approach to writing unit tests. 

Conclusion

With these tasks, I get a good understanding of how candidates think and how they use tools like the code editor, console, JavaScript, frameworks. Based on this, I decide if they’re a good fit for the team, the project and for me as a lead.