As a front-end developer, it’s inevitable that you will encounter a front-end technical interview (or ten). Unfortunately the process for a front-end development interview can be a bit unclear, and will vary from company to company.
Having a solid understanding of the process will help you feel more comfortable in your interviews. Interviewing is a skill that takes practice, but having insight into the process can calm your nerves.
So let’s take a look at the front-end development interview process and learn some tips to have successful interviews.
I’ve had many front-end job interviews. In fact, interviewing is a skill that most people take for-granted, and front-end development interviews are some of the most difficult interviews out there.
In my experience, while interviewing for jobs all over the United States, as well as Germany, this is the general interview process for most companies.
So let’s break down the different components of a front-end development interview.
The cultural interview is often candidate’s first impression within a company, so don’t take these interviews lightly. Although typically cultural interviews aren’t as terrifying as coding interviews, interviewers can make or break your application.
Most likely this interview will be run by a recruiter. They may, or may not, have development experience, but they should be able to have an intelligent conversation about front-end technologies.
It’s important to truly impress your recruiter because their opinion could have massive impact on your application. If you make it to the second or third round of interviews, and the company is “on-the-fence” about pushing you through, the recruiter might be your biggest advocate. So be sure to impress.
Typically cultural interviews start with “So tell me about yourself.” It’s imperative to have a well thought out response to this question.
For example, let’s examine two responses:
You can see that Max was clearly unprepared for this question and doesn’t seem like the type of person who, when put on the spot, can eloquently handle the situation.
With Paige, however, she is much more well-spoken. Not only was she able to succinctly sum up her experience, but her responses elicited emotion and pride in regards to her previous roles. Plus, throwing in a line or two about her hobbies gives insight into the type of person she is.
- Have a short story prepared to illustrate who you are
- Have 1–2 stories which demonstrate your greatest achievement and a difficult problem you solved
- Be honest about your skill set. You don’t want to be caught in an awkward position when asked about the details of Redux if you only threw that buzzword in to make it to the next round of interviews.
- Don’t bash your current, or past, employers. When you say negative things about your previous companies, it shows a lack of respect. Future employers need to know that you’ll be loyal to them, even once your employment has come to an end.
- Have questions prepared for your interviewer which show insight into the company and role to which you applied. Towards the end of the interview, your interviewer should ask if you have any questions for them. Have two insightful questions. A good format would be: “I saw your company just did X… how will this impact Y?” This shows that you researched the company and keep up-to-date in the tech industry. You can also ask what the recruiter’s favorite thing about working for the company is. You might be surprised!
- Take notes. You’ll probably have a lot of interviews, and it’s important to keep them all straight!
- Don’t ask about minute specifics of salary or benefits. These details can be sorted out once you have an offer letter. But inquiring about the perks of a job too quickly can portray you as someone who’s only there for the money.
- Be yourself. This interview is a two-way street. You want to make sure the company culture harmonizes with your personality. So don’t put on an act; be yourself.
Ahh the dreaded coding interview. Personally, this was always the most nerve-wracking part of the process.
I don’t do well when I’m put on the spot. If you ask me to pseudo code merge sort, there’s a good chance I’ll stare at you as if you just spoke Pig Latin. However, ask me to build you a website and I’ll kick-ass.
Lucky for you, there are a TON of online resources for “Cracking the Coding Interview.” Yet, it’s important not just to memorize the answers, but understand WHY the answers are correct.
I’m not going to give you a list of example coding questions you might receive; I’ll link a few of my favorite resources down below for you to check out.
But let’s quickly take a look at the top subject areas you should be familiar with.
This list is a living document, so if I missed anything feel free to leave a comment!
I know it’s a lot to master, however if you practice a little every day, you’ll work your way there!
There are several websites which can help you prepare for your coding interviews. I’ll list my favorites in the resources down below!
- Think out loud. It’s important for the interviewer to hear your thought process!
- If you’re unclear about one of the directions, ask. Sometimes interviewers will even give you a hint.
- Fail fast and often. Always try your ideas, and when they don’t work, learn from them and iterate.
- If you’ve received an interview question before, and know the solution, you should let your interviewer know. If you know the solution step-by-step the interviewer will be able to tell you looked up the answer (or previously figured it out). Honesty is always the best policy.
- If you have a solution, try to improve the performance or run-time. Optimization is key.
- If you don’t know the answer, it’s okay. I would often admit: “To be honest, I’m not sure, but if I had to make an educated guess…” I’ve seen candidates fully bullshit their way through a question, and pretend it’s right as rain. In my opinion it’s better to admit when you don’t know, but give an educated guess.
Some jobs may not require you to complete a take home challenge. But if they do, it’s your chance to showcase your awesome development skills without the pressure of being watched.
The type of take home challenge may vary. You might get a simple “Create a to-do list application” prompt. This is a great challenge because it allows you to use a JS framework, if you so choose, but can also be done with vanilla JS. Plus, it’s not too time consuming to complete.
You might get a link to a General Assembly challenge that you have to complete online. These are occasionally timed, but try not to let that freak you out.
Or, you may get asked to recreate a piece of the company’s application.
Whatever the challenge is, do your best and write clean code. Here’s the process I usually follow for take home challenges.
- Did I meet all of the project requirements?
- Is my solution performant?
- Is my solution responsive/mobile friendly?
- Is my solution accessible?
- Is my solution appealing to look at?
- Is my code clean and efficient?
- Am I proud of this solution?
If the answer to any of these is no, you might want to go back and re-work a few things.
- Don’t spend more than a day on it. If you’re spending several days on it, most likely you should go back and work on some of your technical skills.
- It’s okay to pull yourself out of the candidate pool. I have had interviews in the past where I’ve had to email the recruiter and tell them that my skills weren’t where they needed to be. This shows them a level of self-awareness. I have even had recruiters come back to me several times to see if I was still interested in an interview. It’s okay to admit when you have areas to improve upon. Plus, you don’t want to stress yourself out with a challenge that is too difficult, because when you get a job offer, chances are the job will stress you out just as much.
- Be clear about the project requirements. Do they want you to use a JS framework? Can you use a CSS framework to save time on style?
- If you need additional time, just ask. Recruiters know that you’re busy, and as such life can get in the way of an interview. So instead of half-assing your take home challenge, email the interviewer and let them know that this is extremely important to you, and you want to devote a proper amount of time to completing it. Most companies would prefer you spend a few more days on an assessment than sacrifice the quality.
If you’ve made it this far in the process, CONGRATULATIONS!!!
You are a badass, and this company knows it! Here are a few things to keep in mind if you receive an offer:
- Ask how long you can think about it. Most managers will give you around a week to give an answer.
- It’s okay to say no. If you don’t think this job will make you happy, then don’t take it!
- You can ask for more money, if it’s appropriate to the average salary for your job role and location.
- Ask if relocation assistance is available. If you’re moving across the country (or world, like I did!), lack of financial assistance may be a deal breaker.
You are a superstar and you will have to trudge through some painful interviews to find the job of your dreams!
“You’ll have to kiss a lot of frogs before you find your prince.”
All great things in life take time. Do not get discouraged and do not give up. Remember that the industry leaders also had to go through this same process. Everyone has to start somewhere.
(open source and trusted by devs everywhere ❤️)