Many of you may feel nervous and anxious when preparing for an upcoming ReactJS interview, right? Understanding this, I've written down a few notes. Hopefully, this will help you grasp the format of a ReactJS interview, what topics are commonly discussed, and boost your confidence. 🙂
AGENDA:
- General reminders
- Review JS/ReactJS knowledge
- Practice algorithms
- Research the company you’re applying to
Note:
- Each company has its own interview style, so use this as a reference, not a rule. 😉
- This guide is applicable to all levels: from junior to senior. The questions may vary in difficulty or scope based on your level.
General reminders
A typical interview usually consists of the following parts:
- Introductions and greetings.
- Discussing your work experience, focusing on your most recent project.
- Problem-solving exercises:
- Handling real-life work scenarios.
- Coding exercises involving algorithms.
- Learning about your aspirations and expectations.
- Asking questions about the company or the projects you'll work on if hired.
Reminders before and during the interview:
- Attire: Dress neatly, but there’s no need to overdo it. IT folks don’t need to look glamorous 😄. A simple outfit like jeans and a t-shirt works fine. No need for formal shirts. 😉
- Timing: Arrive 10-15 minutes early—not right on time. This gives you a moment to relax before starting. 😜 But don’t arrive too early either, like 30 minutes, as that might be awkward. 😅
- Contact: Ask for a
phone numberin advance so you can inquire about parking, elevators, the correct floor, etc., if needed. - Attitude: Show a willingness to
learn and explore new things. Avoid being rigid or saying, "I only know this; I don't want to explore new technologies." Such attitudes may not fare well. - Stay calm and natural: This depends on individual mindset and isn’t easy to achieve. Take a deep breath, exhale, and try to stay
calm. Be as natural as possible. If you need water, politely ask for a glass instead of staying thirsty and struggling to speak. - Be honest: It’s impossible to
know everything. If you don’t know the answer,be honestand say you’ll look into it. For example: "I find this very interesting, and if given the opportunity, I’ll definitely study and learn more about it." 😉 - Understand your own aspirations:
- What do you want to do at this company?
- Which technologies do you want to learn?
- Are you aiming for a technical or management career path?
- Do you have a personal plan to achieve your goals? If you don’t know what you want, how will you determine if the company is right for you?
1. Review JS/ReactJS knowledge
This is to prepare for questions about your most recent project. Depending on what you mention as your expertise, you’ll be asked related questions.
TIP: Don’t overstate your knowledge. If you’re asked follow-up questions, it may backfire. 😉
HTML/CSS
- Layout with flexbox or grid.
- Questions about UI libraries you’ve used: Bootstrap, Material Design, Ant Design.
- Layout design strategies.
- Given a UI design, explain how you’d implement it (conceptual, not coding).
- How do you organize styles in your project?
- What is BEM? How do you apply it?
- SCSS: What features have you used?
- CSS specificity.
- How to customize the styles of a UI library.
- Reset CSS vs Normalize CSS.
- ...
JAVASCRIPT
- "use strict".
- Differences between var, const, and let.
- Block scope vs Function scope.
- What is hoisting? This might involve explaining a code snippet.
- Closure.
- Value type vs reference type.
- Asynchronous JavaScript.
- setTimeout(), setInterval().
- Callback.
- Promise.
- Modules in JavaScript: import, export, etc.
- ES6 features: arrow functions, for...of, async/await, etc.
- Problem-solving scenarios using JavaScript knowledge.
- ...
REACTJS
- Component vs PureComponent.
- Lifecycle methods: which one to use for what purpose (check my YouTube channel for more on this 😉).
- Differentiate between
component state,Context API, andRedux: when and why to use each. - Refs in ReactJS: Have you used them? If so, for what purpose? If not, you might be asked to solve a problem using refs.
- Nested routing: What is it, and when is it needed?
- Setting up routing for pages requiring login.
- Which form management library do you use:
Formik,Redux-Form,React-Hook-Form? Each has its own set of questions. - Authentication: How do you handle authentication in an app? Token management, refresh tokens, expired tokens? (advanced topic).
- React hooks: Which hooks do you use, and for what purpose?
- Custom hooks: Have you written any? If yes, explain its purpose.
- Redux Toolkit: What is it?
- Facebook’s state management library
Recoil: Have you heard about it? What are your thoughts? 🤣 - Common libraries you use in ReactJS projects.
- ...
2. Practice algorithms
This can vary widely, so it’s hard to predict the exact questions. Prepare thoroughly. Usually, the interviewer provides a problem, and you analyze it to find a solution.
- Basic search and sorting.
- Longest or shortest substring variations.
- Recursion.
- Finding a "mystery number" in an array meeting specific conditions.
- Graphs (rarely asked).
- Design patterns (e.g., Singleton, Observer).
- Code snippets: determine the output and explain.
- Dynamic programming (advanced, rarely asked unless the company specializes in algorithms).
- ... It depends on your logical skills.
3. Research the company you’re applying to
Learn about the company:
- What field does the company operate in?
- Company size?
- When was it established?
- Projects the company has worked on.
- Reviews about the company.
- ...
Ask about the project you’ll work on if hired:
- What is the project about?
- Technologies and tech stack used.
- Team size and who you’ll work with.
- Is the team friendly and collaborative?
- ... Ask anything you care about regarding your future team.
I hope you find this guide helpful!
Wishing you a successful interview! 🎉