1How does Node.js handle many requests on a single thread?
Node runs JavaScript on one main thread but does non-blocking I/O. When a request needs the database, a file or another API, Node hands that work to the operating system (or libuv's small thread pool for things like file I/O, DNS and crypto) and keeps serving other requests. When the I/O completes, its callback is queued and the event loop runs it.
So Node is excellent for I/O-heavy workloads (APIs, chat, streaming) where most time is spent waiting. It's poor for CPU-heavy work on the main thread (image processing, big calculations), because that blocks every other request. Fixes: worker threads, a job queue with separate workers, or a service in another language. To use multiple cores, run several processes (cluster, PM2, or multiple containers behind a load balancer).