Over the years I have grown really tired of hearing: "Node is great at I/O but not a great choice for CPU intensive tasks" It's simply untrue.. a.k.a. BS
tl;dr It's trivial to write CPU intensive apps in node.
Most CPU intensive activities are some kind of iteration/recursion. As long as you break the iteration or batches of it with something that will return control to the event loop (setImmediate) then node can do tons of heavy work and serve random requests all at the same time. You can achieve a lot this way without ever introducing extra processes or threads. Of course you also have all sorts of options with things like cluster, child_process, and libuv.
Computers are good and computing and programming languages can do whatever you want them to. The code will just be cleaner in some languages (subjective) and when you get down to the assembly level there might be some hyper optimizations you can only achieve with certain compilers/VMs.