Skip to main content
AssessIQ Sign in

Skill Test · React

React Online Test for Hiring & Assessment

A React online test measures a candidate's understanding of the functional component model, hooks semantics, data flow patterns, and performance trade-offs. It goes beyond "have you used React before?" to test whether a developer can reason about why React re-renders, when memoisation helps, and how to avoid common hook mistakes that only show up at scale.

Topic breakdown

What the React test covers

Hooks deep dive

useState, useEffect (cleanup, dependency array), useRef, useContext, useReducer. When to use each, and what mistakes cause stale closures or infinite re-renders.

Component lifecycle

Functional component render cycle, when effects fire relative to paint, how React batches state updates (React 17 vs React 18 automatic batching), and Strict Mode double-invocation.

State and data flow

Unidirectional data flow, prop drilling and when it becomes a problem, lifting state up, Context as a solution vs Redux or Zustand, and controlled vs uncontrolled inputs.

Performance optimisation

React.memo for component memoisation, useMemo and useCallback (correct use cases and common misuse), key prop correctness in lists, and how to use the React DevTools Profiler to find re-render hot-spots.

Patterns and composition

Compound components, render props, custom hooks for logic reuse, the children pattern, and conditional rendering strategies that avoid unnecessary DOM thrashing.

Error boundaries and suspense

Class-based error boundaries, where they catch and where they don't, React.lazy for code splitting, Suspense for async loading states, and the ErrorBoundary + Suspense composition pattern.

Sample question

The kind of question candidates answer

useEffect dependency array — mid level

What is the problem with this component, and how would you fix it?

function UserProfile({ userId }) {
  const [user, setUser] = useState(null);

  useEffect(() => {
    fetch(`/api/users/${userId}`)
      .then(r => r.json())
      .then(data => setUser(data));
  }, []); // empty dependency array

  return user ? <div>{user.name}</div> : <p>Loading...</p>;
}

Correct answer and approach

The effect runs once on mount and never re-runs, so if the parent passes a different userId later, the component still shows the original user. Fix: add userId to the dependency array: [userId]. Additionally, the effect should return a cleanup function that aborts the fetch (via AbortController) to prevent state updates on unmounted components.

What this question tests

Understanding that an empty dependency array means "run once on mount, never again" — not "run whenever I feel the data might be stale." The AbortController follow-up separates mid-level from senior candidates. Both mistakes cause real production bugs (stale data and memory leaks on route changes).

Who should take it

Roles this test screens for

Frontend / React Developer

The primary use case. Pair with the JavaScript core test for a complete frontend screening session.

Full-Stack Engineer

Screens the frontend half of a full-stack role. Combine with an SQL test or Python test for the backend side.

Tech Lead / Senior Engineer

Performance and architectural pattern questions at senior tier probe whether a candidate can design a component system, not just build a single component.

Relevant for IT & technical hiring across product and startup engineering teams in India.

Format & difficulty

Duration, format, and difficulty levels

Duration

30–90 min

Configurable per test

Format

MCQ + Code review

Concept + component writing

Levels

Junior — Senior

Hooks basics to perf patterns

FAQ

Common questions about the React online test

How long is a React online test?

An MCQ and concept-check test runs 30–45 minutes. Tests with live component writing run 60–90 minutes. Duration is set by the admin.

Is the React test free on AssessIQ?

AssessIQ has a free tier. Paid plans add higher volumes and advanced proctoring. See the pricing page.

Does the React test require knowledge of class components?

Primary focus is functional components and hooks. Class component lifecycle methods are covered at the junior tier because legacy codebases still use them.

Does the React test cover Redux?

Redux and Zustand are available as a separate add-on pack. The core React test focuses on React's built-in state model so admins can exclude Redux for roles that don't use it.

What score is considered good on a React test?

For senior roles, strong scores on hook dependency and performance questions are more predictive than raw totals. AssessIQ shows per-question breakdowns so interviewers know which areas to probe.

Should I give a JavaScript test before a React test?

Yes. A combined JavaScript core + React session screens both layers without two scheduling rounds. AssessIQ supports mixed question packs in a single timed session.

Get started

Ready to screen React candidates?