React Hard technical 0 views 1 min read

Explain concurrent rendering with an example

Peer-reviewed by HireXTech Technical Panel Updated for 2025/2026 hiring Editorial standards
Practise this track
Interviewer Expectations for this Question
01
Core Competency

Assesses fundamental understanding of React conventions, runtime behavior, and memory/performance considerations.

02
Evaluation Criteria

Hiring managers look for precision, avoidance of ambiguous jargon, and ability to explain trade-offs under real production conditions.

Comprehensive Model Answer Verified Solution

Concurrent rendering in React 18 lets React prepare UI updates in a non-blocking way. This means React can pause low-priority rendering work, handle urgent updates first (like typing or clicking), and then continue rendering.

#### Example: Search input stays responsive while filtering a large list

     import { useMemo, useState, useTransition } from "react";

     const items = Array.from({ length: 10000 }, (_, i) => `Item ${i + 1}`);

     export default function SearchList() {
       const [query, setQuery] = useState("");
       const [filter, setFilter] = useState("");
       const [isPending, startTransition] = useTransition();

       function handleChange(e) {
         const value = e.target.value;
         setQuery(value); // urgent: keep input in sync

         // non-urgent: expensive list filtering can be interrupted
         startTransition(() => {
           setFilter(value);
         });
       }

       const filteredItems = useMemo(
         () => items.filter((item) => item.toLowerCase().includes(filter.toLowerCase())),
         [filter]
       );

       return (
         <div>
           <input value={query} onChange={handleChange} placeholder="Type to filter" />
           {isPending && <p>Updating results...</p>}
           <ul>
             {filteredItems.slice(0, 200).map((item) => (
               <li key={item}>{item}</li>
             ))}
           </ul>
         </div>
       );
     }
     

In this example, typing remains smooth because React prioritizes updating the input first, while list filtering is treated as interruptible background work.

Candidate Response Strategy & Interview Tips

  1. Start with a concise one-sentence summary: Deliver a direct, confident answer first before expanding into nuances.
  2. Demonstrate real-world trade-offs: Discuss where this approach excels and when you would avoid it in production systems.
  3. Discuss complexity & edge cases: Proactively explain time/space complexity or boundary conditions (null values, scale limits).
  4. Prepare for interviewer follow-ups: Technical hiring panels frequently probe deeper into concurrency, backward compatibility, or alternative libraries.
Related Topics & Skills
Spotted an error or have an alternative solution?