Two Technical Questions to Ask Your Intermediate Front-End Engineering Candidates
An intermediate engineer – aka “an engineer” – is usually the most common development role you’re hiring for. Building an excellent interview experience for this career level is therefore extremely important to your hiring process.
One of the leading interviewing best practices we recommend is to develop questions that accurately assess skills and match the candidate’s experience level – but what does that look like for an intermediate front-end developer?
Intermediate engineers already know the basics of software development, so asking them to write a run-of-the-mill sorting algorithm would be a big waste of time. You want to focus on getting your intermediate developers to demonstrate that they can work with your particular business logic and engineering priorities.
In the front end, you can often assess their ability to carry out business logic by challenging them to build a ubiquitous UI feature that would be a common task on your team.
For example, drop-down menus and navigation bars are regularly used but often taken for granted. This makes them good skill sets to assess for intermediate engineers to show that they understand the underlying styling and logic encompassed by these UI concepts.
Good intermediate questions will also have multiple facets – like CSS styling and business logic – that the candidate can focus on during the interview. Which facet the candidate focuses on can be an important signal for their strengths and where their development priorities lie.
With that in mind, here are three questions we’ve seen used successfully in intermediate front-end engineer interviews.
✅ The questions below are written with React in mind, as that is our primary framework at CoderPad. However, you can easily tailor them to suit your own non-React frameworks like Angular or Vue.
Tabs User Interface
In this example, we ask the candidate to recreate a tabbed UI interface, much like the browser tabs you have at the top of your screen right now. The candidate has to do this from scratch without using a component library.
This challenge shows you how a candidate would work through the complexities of creating a fully-functional tab feature. Since it’s an open-ended challenge, you don’t necessarily need stringent success criteria. Some things to look for – and talk about with the candidate – might include:
- How does the candidate approach the component’s API?
- Do they pass the provided data structure to a “Tabs” component, or do they take a more expressive approach?
- Do they use React children or props for tab labels and contents?
- How do they maintain the state of the active tab?
- Do they use conditional rendering to hide the inactive tab contents? Or do they use CSS?
- Do they consider how the tabbed UI flows into the rest of the UI? Is it full height/width? Does it just fill its parent container?
- Do they consider how to handle tabs with very long labels?
If we have candidates complete this challenge especially quickly, we’ll also give them additional tab-related challenges. We ask them to:
- Maintain the active tab state between page loads.
- Use CSS transitions to fade the tab contents in and out when a new tab is selected.
- Build dynamic tabs: an additional tab to create a new tab with blank contents.
- Have the tabs handle the case where there are more tabs than horizontal space.
- Add the ability for the tabs to be vertical instead of horizontal.
This is another challenge that asks a candidate to recreate a common UI experience – the select menu. Like the previous Tab UI challenge, the candidate cannot use the native select component.
While a beautiful menu design is appreciated, most companies want to primarily assess candidates on their ability to create an intuitive API that other developers on the team would easily be able to implement.
You can also use this challenge to look at how they handle common UI pain points of select menus – like element overlap and menu population – and use this as a discussion point to see how they reason through obstacles.
Other interviewing resources
Selecting the right question for intermediate developer candidates is just one part of setting up an excellent interview operation.
Just like with junior engineering candidates, you also have to consider how to prepare for the interview, the best way to give candidates feedback, how you’re going to prevent potential cheating, and more.
We cover interviewing pro tips and best practices extensively in the Interviewing section of our blog. Here are also a few we recommend to get you started: