I collected some questions, that I would ask - in tandem with the usual interview topics - to drive a conversation about React.
These are not the usual hard-skill questions, we're talking about soft-skills and teamwork readiness! These questions help us at RisingStack to find enthusiastic, knowledgable developers.
These can be an inspiration for both interviewers and interviewees, but most importantly for people who enjoy discussions about front-end development.
PS: I also recommend you to read my 8 Tips to Build Awesome React.js Apps in 2018 article, so you can bring fresh knowledge to the table.
What is your favorite React stack?
This might seem like a cliche, but it is an awesome opening question. Good interviewers should not force you into unpleasant topics before they let you speak about the stuff you enjoy.
Be careful about steering the conversation though. Favour libraries that you know well, even if they are not popular!
If you say that you use Redux because it is a predictable state container, be prepared to have a discussion about predictable state containers.
What was the coolest thing you ever built with React?
This is an obligatory question. You probably have tales to tell and not asking about them is a mean thing to do.
Do not try to impress me with hype words and general ideas, I am interested about the details. If you made a chatbot AI with a complex neural network, get into the maths and design decisions, even if I do not understand. I can still tell if you know what you are talking about and I might even learn something new.
What are your archnemesis front-end issues?
If you are like me, you have issues that come up in every project. Mines are animation orchestration and complex routing patterns. I could speak hours about why I can't get them right and what I hate about the libraries that I use.
Letting you choose the topic keeps the conversation comfortable and it is a good check on the limits of your knowledge.
Be honest if a question like this comes up. You can show a lot of expertise by reasoning about complex issues that you just can't get right. We might even find a common enemy to hate.
How would you bootstrap a project?
By now I should have a broad picture about your knowledge and attitude. It is time to see how well would you match with the company's projects. This question requires some context for a proper answer. You should ask about the size and nature of the given project.
I am not interested about things you read or heard from others, but about your own thoughts and experiences.
I would bootstrap projects with create-react-app - without regard to their size - because I am efficient with it and I can reason about why it is a good starting point for any app.
Have you used any other front-end framework in production?
This is a better version of 'What do you like about React?'. You could compare the benefits and drawbacks of React versus other technologies.
I would use this question to check how clearly you see the common patterns in front-end development.
Most frameworks solve the same issues in different ways. If you are familiar with these issues and some solutions, you can pick up new technologies rapidly.
You could compare virtual vs. real DOM, state management solutions, routing patterns or dependecy injection - to name a few.
How would you performance optimize a React app?
Developers who never met with performance issues would answer this differently than battle hardened veterans. It should clearly indicate if you're stuck with quoting articles, or you actually measured, iterated and fixed real performance issues in the past.
Talking about micro-optimizations and broad ideas shows the former, while mentioning issues, measurements and development tools - that you used in the past - signals the latter.
If you are experienced with performance optimization, do not start speaking about the general concepts. Get straight to the specific tools and methods you used.
How do you cope with teams?
Working with a team is a struggle and it is worth a question. We could discuss how you track your issues, what git flow do you prefer and if you like pair coding or occasional meetings more.
Team working is an important ability and it really shows if someone has no experience with it. If you never worked with a team before, be frank and tell it though.
Having a newcomer can be better than a burnt out veteran with trust issues from all the experiences.
What else would you like to learn?
I would ask this to see if you need some guidance or have a passion for very specific areas.
There is no bad answer here, both can be a benefit.
These questions are designed to be answerable by anyone. You can use them to breath life into the conversation when a technical topic - like one of these - leads to an uncomfortable silence.
It is okay to not know something and it is the interviewers responsibility to accept it and move on. General knowledge can not be measured by clinging to specific topics.
I hope you drew some inspiration from this collection. Thanks for reading!
Also, if you'd like to learn more React from me, check out my Modern Front-End with React training in Berlin!