Node.js is a JavaScript runtime built on Chrome's V8 JavaScript engine. It introduces events and an event queue to handle asynchronous and non-blocking operations. Everything runs as a callback from the event loop. Node.js wraps OS operations in modules to make file, network, and other operations non-blocking and event-driven. It also introduces a module system where each module gets its own private scope. Common patterns in Node.js include using the listener/emitter pattern to handle events and building applications with streams of data.