staff augmentation icon
distributed team icon
featured staff image featured staff image
about us icon About Us

Learn more about what makes Trio special and meet the wonderful people working to build possibilities.

trio logo
carrers icon Careers

Looking for the opportunity to work on exciting and interesting projects? See what positions we're hiring for!

blog icon
Featured Engineering

React Interview Questions

May 30, 2023

3 min read

Senior React.js interview questions and answers for 2023

The way you interview senior React developers is different than how you would for junior and mid-level roles. This is because the roles, responsibilities, and skill requirements are very different between each level.

For senior React developers, specifically, there’s a large emphasis placed on years of experience. Experience is the one signal that will determine whether a developer has seen enough in the wild to come up with meaningful solutions based on, well, their experiences! 

Mind blown? Don’t worry, it gets better. 

Of course, we expect senior React developers to know the fundamentals of their library of choice, and they should also be able to solve a variety of popular advanced cases that make user experiences feel delightful and truly high-quality.

But more importantly, they need to communicate well with their team and demonstrate real-world experience through the stories they tell. It’s very hard to fake the experience. 

If you’re looking to properly interview and validate your senior React developers on a technical and non-technical level, we got you covered. Below are some technical and non-technical questions you can use in your next interview.

Technical Questions for senior react developers

Is there a way to cancel a request inside a useEffect?


The following code doesn't preserve the component state when isFavorite changes, how can you prevent/fix this?


When a component is rendered in a React app, its state is preserved as long as it remains in the UI tree. This can cause issues if the component is unmounted and then remounted at a different position in the tree, as its state will be lost.

To prevent this, you can render the component within the same parent div to ensure that its state is preserved even if it is moved around in the UI tree. This way, the component can be safely unmounted and remounted without losing its state.Screenshot_35

What's the main difference between useMemo and useCallback and when would you want to use and avoid them?

The useMemo hook is used to memoize the value of a function, optimizing expensive calculations, while useCallback is used to memoize the function itself, optimizing the performance of child components

Use useMemo when you want to memoize a value and avoid recomputation, and use useCallback when you want to memoize a function and prevent unnecessary re-renders of child components.


Use it: useMemo is used when you want to optimize the performance of expensive calculations or complex operations that are not related to rendering. It allows you to avoid unnecessary recalculations when the inputs haven’t changed.

Don't use it: useMemo should not be used for side effects or as a replacement for useEffect. If you need to perform an action that has side effects (such as modifying the DOM or fetching data), you should use useEffect instead.


Use it: useCallback is used when you want to optimize the performance of child components that rely on callbacks. By memoizing the callback function, you can ensure that child components only re-render when the dependencies of the callback change, rather than on every render.

Don't use it: useCallback should not be used excessively or prematurely. It’s best to use it when you notice actual performance issues related to unnecessary re-renders of child components. 

React Problem/Scenario Questions

These questions are quasi-technical questions that focus on general problem-solving within the context of ReactJS.

How do you ensure that React components are shared effectively across your development team and well documented so that everyone has access to the latest version of each component?

Of course, there are no wrong answers here but a good alternative is to use Storybook. With Storybook you are able to build UI components and pages in isolation. Some cool benefits of Storybook:

  • Tests: Visual tests, interaction tests, accessibility tests, coverage tests, and snapshot tests.
  • Documentation: generate UI docs automatically
  • Reusability: reuse components across pages and apps
  • History: track components' history and versions

If you want to install it in your application, please follow these steps.

Non-technical questions for senior React developers

Could you tell us about a project where you had to integrate React.js with other technologies/platforms?

It's common to combine platforms and technologies with React.js. This question is used to assess a candidate's familiarity with integrating React.js into different contexts as well as their versatility when it comes to using different tools and technologies.

A good answer to this question is a story where they demonstrate their overcoming the challenges associated with integrating React. They’ll present details that would be hard to fabricate otherwise. 

There is no wrong answer to this question, only vague answers that indicate that the developer chose not to be honest about the fact that they did not integrate React. The signal to consider is that in cases where they might be under pressure, they might provide misinformation which can be problematic down the road.

How do you ensure that your code is maintainable and easy for others to understand and work with?

Maintainable code is code that is easy to read, understand, and modify. 

Keep in mind that other developers will work with your code when creating a React.js application, therefore you should make sure it is as simple as possible for them to do so.

It's important to describe the steps you take to ensure that your code is maintainable. Be sure to mention descriptive variable naming, breaking code down into smaller pieces, modularization, separation of concerns, etc.

Great teams think about these types of things in advance. They create code standards and guidelines that ensure consistency across the codebase no matter who is writing. 

Senior ReactJS developers who come from teams like these will know and understand the value of standardization and will most likely seek to continue working on teams that share their values.

Author avatar

Alex Kugell

Passionate about all things People, Product, Process, and Technology"

anchor image Visit Author page
Build dev teams you can trust

Companies are growing their business faster with Trio.

Hire exceptional developers quickly

Find Your Talent