Interview Question
Interview Question
It is generally fast
It rarely blocks
It offers a unified programming language and data type
Everything is asynchronous
It yields great concurrency
3. How does Node.js work?
A web server using Node.js typically has a workflow that is quite similar to the
diagram illustrated below. Let’s explore this flow of operations in detail.
Clients send requests to the webserver to interact with the web application.
Requests can be non-blocking or blocking:
Querying for data
Deleting data
Updating the data
Node.js retrieves the incoming requests and adds those to the Event Queue
The requests are then passed one-by-one through the Event Loop. It checks if the
requests are simple enough not to require any external resources
The Event Loop processes simple requests (non-blocking operations), such as I/O
Polling, and returns the responses to the corresponding clients
A single thread from the Thread Pool is assigned to a single complex request. This
thread is responsible for completing a particular blocking request by accessing
external resources, such as computation, database, file system, etc.
Once the task is carried out completely, the response is sent to the Event Loop
that sends that response back to the client.
Real-time chats
Internet of Things
Complex SPAs (Single-Page Applications)
Real-time collaboration tools
Streaming applications
Microservices architecture