Explain the concept of 'Non-blocking I/O'.

Updated Apr 28, 2026

Short answer

A thread does not wait for a resource (like disk or network) to respond; it moves to other tasks and is notified when data is ready.

Deep explanation

Reactive systems are designed to handle the uncertainty of distributed environments. While reactive programming (like RxJS) helps manage local state changes, reactive systems focus on the whole architecture. The message-driven nature is the foundation that enables elasticity and resilience.

Real-world example

A search bar that provides suggestions as you type without freezing the UI.

Common mistakes

  • Confusing 'Elasticity' (dynamic scaling) with 'Scalability' (capability to grow).

Follow-up questions

  • How does backpressure prevent OutOfMemory errors?

More Reactive Systems interview questions

View all →