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.
They require you to conceptually understand the languages you work with (HTML, CSS, JavaScript), code on-the-spot (eek), leverage sorting and searching algorithms from Computer Science (bubble sort, merge sort, binary search, etc.), and have understanding of many related technologies and areas such as HTTPS, REST, and Software Development Methodologies like Agile.
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.
Tips for the cultural interview:
- 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!
Tips For The Coding Interview:
- 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.
Questions To Ask Yourself Before Submission:
- 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.
Tips For The Take Home Challenge:
- 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.
Top comments (29)
Front End interviews are crazy nowadays, So hard to study for. I first started interviewing for Front End opportunities back in 2014-2015. At that point if you had a solid understanding of JS, CSS and HTML you would not have many problems.
But this last year in 2018, I interviewed with Paypal, Amazon, LinkedIn, Facebook, Airbnb, Cruise, Google and I'm sure I'm missing a few. The interviews were all different. Airbnb was truly tough, they got straight to the point, they have a very specific way of working with JS using classes and objects and despite all other front end skills I was kicked out of the process on my second interview because I was not as knowledgeable about their specific style of working with JS.
They could care less that I was very strong in the UI area, that I was a member of the JavaScript community, that I had worked with JS for 20 years and learned very quickly. They didn't care that I had full stack skills, Instead, it was only important that I be able to answer one specific question that was very specific to the way they did things in that one department.
I spoke with one person, and was also rejected by that one person.
Facebook actually has a good approach, they progressively get tougher as the interviews go and they are able to know exactly where you land as a front end developer and they have a good idea of what your strengths and weaknesses are and they are prepared to help and understand that you may not have trained all summer on their very specific way of doing things.
Today's front-end interviews can run the gamut. Great advice in this article, but I warn people that the front end is potentially more complex these days than it was only a few years ago. Good luck!
99% of devs (probably more) are not interviewing at Paypal, Amazon, LinkedIn, Facebook, Airbnb, Cruise, or Google. More often than not, you are interviewing at a company you have very little knowledge of, and the bit that you do know about them, you are corrected about on the interview.
One of the main reasons why the Front End is so complex now is because you have companies like Airbnb doing their own thing and then blogging about it. Then devs at these random companies feel that they need to do things the Airbnb way and end up creating a disaster then leave.
The cycle continues on and on and on. Devs trying to be too smart, instead of just building something reasonable.
^ This
I think everyone should have this in mind. I also had FE interviews, where the only FE concept I had were ordered lists. In bigger companies, you will usually be tested on your understanding as a whole - DS, Recursion, other Algorithms and Fundamentals of FE (of course it will depend). In lesser ones, you'll probably encounter more coding knowledge testing.
Hey Eric,
I just want to develop my skills, and i'm trying to get into product based companies like mentioned above. my questions is, What will be your technical question if you interview me? i'm basically Front End developer having 4 years of experience, and 2 years in Angular 2+.
you response will definitely help me in future.
Cheers.!
Great list of subject matter to familiarize yourself with before the interview. The in person coding challenge type of thing, where they watch you code and everything, is where I have struggled in the past. All the sudden I'm all nerves and I forget what a variable is lol.
Thanks for writing!
Thank you for reading!
Haha. Been there. I was applying for a front end position and when asked on ‘what happens when you type in a url?’, instead of answering how the HTML renders from an http response, I started explaining how DNS server works. Total facepalm.
This is a good list for dealing with how interviews are commonly done today.
It's just so sad that it's 2019 now and people are still asking questions about linked lists and bubble sort and 'gotcha' questions. Hopefully some of the changes Microsoft has made will become more mainstream soon.
Hi Emma, thanks for sharing your experience! Very clear and helpful 👍🏼
This is a gold post. The endless frameworks our in the market has made the life of a front end developer miserable. Lately I have started interviewing and I don’t understand have the jargons they use (adopted from their own frameworks). This can get so nerve wrecking. Also I so hope to god they are not still asking about sorting algorithms! I really don’t see the point of that one atleast.
I love the way you've presented this advice and coaching. We are working on Frontend Interview prep content for Educative right now and it would be great to collaborate. We also get a lot of demand for Behavioral Interview prep that could benefit from your approach.
Thank you very much for writing this, Emma! This post is very helpful!
Thanks for the insight Emma. What's your recommendation to portfolio we build to get a job?
Thank you for sharing, such a good tip to prepare even for the "easy" questions! It can be difficult to be at your best when you are put on the spot. 👌🏻
Great post, thanks for sharing these useful tips :). I myself have worked several years in the industri but I havent thought of such things to go through in an interview.