How does Node.js overcome the problem of blocking of I/O operations?