Skip to content

40 facts

40 Fun Facts About Node.js

Learn something new, then test yourself with the quiz.

Know these facts? Prove it.

Take the 40-question quiz
1

Which software engineer created Node.js, then nine years later gave a talk on ten things he regretted about it?

Ryan Dahl stepped back from the project after three years, saying the move freed him up to work on research projects.

2

Node.js runs JavaScript on which engine, which Google originally built to power its Chrome browser?

V8 compiles JavaScript to native machine code while the program runs, and that speed is why it was picked as the heart of Node.js.

3

Which tiny npm package, just 11 lines long, broke thousands of JavaScript projects when it was suddenly deleted?

left-pad was pulled after its author lost a naming dispute with the messaging app Kik over another of his packages. It was restored within hours, and npm then tightened its rules on deletion.

4

Which framework combines Node.js with the Chromium browser engine to build desktop apps such as Visual Studio Code?

Electron began life as Atom Shell, the framework written for the Atom text editor, and it now also underpins apps such as Discord.

5

Node.js first ran only on Linux and Mac OS X; which operating system gained a native version two years later?

Windows got its native build in July 2011, and Microsoft itself helped write the port.

6

Which code-hosting company bought npm, Inc. and promised to keep the Node.js package registry free to use?

GitHub, itself a Microsoft subsidiary, bought the company in March 2020, six years after npm, Inc. was founded in Oakland, California.

7

Node.js was not the first server-side JavaScript: which browser company offered LiveWire for that job in the 1990s?

Netscape, the company where JavaScript itself was born, introduced LiveWire Pro Web about 13 years before Node.js arrived.

8

In the MEAN stack of web technologies, where N stands for Node.js, which database supplies the letter M?

MongoDB completes a stack in which every layer runs JavaScript, so one language serves both the server and the browser. The acronym was coined in a 2013 blog post.

9

Which JavaScript runtime did the creator of Node.js unveil as a fresh start that fixed his earlier design regrets?

Deno is written in Rust and, unlike its predecessor, blocks file and network access until a script is given permission.

10

Which minimalist web framework, inspired by Ruby's Sinatra, became the de facto standard for Node.js servers?

Express is used by companies including PayPal, Uber and IBM, and its fifth major version took ten years of development before arriving in 2024.

11

Which green shape, crossed by overlapping bands, features in the official Node.js logo?

A hexagon carries the logo's overlapping bands, which are meant to represent the way the runtime works across different operating systems.

12

Node.js gained a built-in ability to run files in which language by replacing its extra syntax with whitespace?

TypeScript files run with no checking of their types at all: the feature, first added in version 22.6, only erases the annotations and leaves the checking to other tools.

13

Which package manager did Facebook engineers launch as a faster, more consistent alternative to npm?

Yarn was created with help from Google, Exponent and Tilde to fix consistency, security and speed problems that npm showed on big projects.

14

Node.js's JavaScript engine and many of its native add-ons are written in which compiled language?

C++ is the engine's own language, which is why building a native add-on calls for a compiler such as gcc or clang and the project's header files.

15

Node.js was born partly from frustration with which web server's struggle to handle 10,000 simultaneous connections?

Apache was criticised by Node.js's creator along with sequential programming in general, in which one slow task can block an entire process.

16

Which library gives Node.js apps real-time, two-way messaging with browsers, falling back to polling when needed?

Socket.IO adds heartbeats and timeouts on top of the WebSocket protocol, and compatible servers also exist for Python, Java and Rust.

17

Which animal, paired with the word Rocket in its name, became the official Node.js mascot after a design contest?

A turtle, the Rocket Turtle, won the contest in February 2024, giving Node.js a mascot some fifteen years after its first release.

18

Before creating Node.js, its future author abandoned a PhD in which subject and moved to South America?

Mathematics was his field: he studied algebraic topology, found it beautiful but too remote from real life, and began building websites in Ruby instead.

19

Which cloud company, later bought by Samsung, sponsored Node.js and employed its creator in the early years?

Joyent also hosted Twitter in its early days, and unhappiness with how it ran Node.js later drove some contributors to launch a rival version.

20

Which breakaway version of Node.js, launched over complaints about corporate governance, merged back within a year?

io.js was set up with its own technical committee and kept pace with newer engine releases, and the reunited project then jumped straight to version 4.0.

21

Which file at the root of a Node.js project records its name, version, scripts and the packages it depends on?

package.json has to be strict JSON, not just a JavaScript object literal, and for a published project its name and version together form a unique identifier.

22

Into which folder inside a project does a local npm install unpack every downloaded dependency by default?

node_modules sits in the project root for a local install; packages installed system-wide on Unix go to a lib/node_modules folder under npm's prefix instead.

23

Which core Node.js module, offering methods such as readFile and writeFile, lets programs work with files on disk?

fs is modelled on standard POSIX functions, and every operation comes in three forms, including a synchronous one that blocks until it finishes.

24

Which mechanism lets Node.js serve many connections on one JavaScript thread by offloading work to the system kernel?

The event loop passes operations to the kernel and resumes the waiting JavaScript function when each one finishes; Node.js exits once no work remains.

25

Which nickname describes Node.js code in which asynchronous functions are nested so deeply it becomes hard to read?

Callback hell is also known as the pyramid of doom, because the growing indentation looks like a pyramid lying on its side.

26

Which pair of JavaScript keywords lets Node.js code pause for a promise yet still read like ordinary synchronous code?

async and await arrived in the ES2017 edition of JavaScript, giving a flatter alternative to long chains of promise handlers.

27

Which development tool watches a Node.js project's files and restarts the server automatically whenever one changes?

nodemon is used by simply typing its name in place of node when starting a program, and it works out for itself which file extensions to monitor.

28

Which module system, the original way to package code for Node.js, loads dependencies through a function named require?

CommonJS began in 2009 as a project called ServerJS, started by a Mozilla engineer to standardise how JavaScript is organised outside the browser.

29

Which property does a Node.js file assign a value to so that other files can load its functions?

module.exports can be given a whole new value such as a function or a class, whereas reassigning the shorter exports variable changes nothing that other files see.

30

Which command, shipped alongside npm, runs a package's binary and fetches it first if it is not already installed?

npx puts any missing package in a folder in the npm cache instead of adding it to the project, and it asks before installing anything.

31

Which Node.js property returns an object holding the user's environment variables, such as PATH and HOME?

process.env can be changed from inside a program, but the changes stay within that running program and never reach the shell that launched it.

32

Which Node.js class do servers and streams inherit from, giving them an on method for attaching listener functions?

EventEmitter treats the event named error as a special case: if one is emitted with no listener attached, the error is thrown and the whole program exits.

33

Which Node.js class, a subclass of JavaScript's Uint8Array, represents a fixed-length sequence of raw bytes?

Buffer can be used anywhere without importing it, although the documentation still recommends an explicit import, and many file and network APIs accept one.

34

Which file extension makes Node.js treat a file as an ECMAScript module, whatever the project's other settings say?

.mjs has a mirror image, .cjs, which forces the older module format, while plain .js files follow the project's own type setting.

35

Which core Node.js module lets one application run several worker processes that all share the same server port?

cluster has its primary process accept each new connection and deal them out to the workers in round-robin fashion, which is the default on most platforms.

36

Which Node.js timer function, taking no delay argument, runs a queued task once the current poll phase completes?

setImmediate runs in the check phase, a separate stage that comes straight after polling for input and output, and it can be cancelled with clearImmediate.

37

Which C library, developed mainly for Node.js, supplies its asynchronous input and output across operating systems?

libuv had no meaning behind its name at first; when people kept asking, its developers invented Unicorn Velociraptor, which became the library's logo.

38

Which organisation, created when two foundations merged, hosts Node.js alongside jQuery and webpack?

The OpenJS Foundation was formed in 2019 by joining the Node.js Foundation with the JS Foundation, and it operates with the Linux Foundation's backing.

39

Which developer wrote the npm package manager and then took over leadership of Node.js from its creator?

Isaac Schlueter modelled npm partly on PHP's PEAR and Perl's CPAN, and he later co-founded a company in Oakland to run its registry.

40

Node.js names long-term support releases after chemical elements in alphabetical order; which came first, for version 4?

Argon was followed by Boron, Carbon and Dubnium, one new name for each even-numbered release line that reached long-term support.

Think you know Node.js?

Put these facts to the test with the interactive quiz.

Take the 40-question quiz

Teaching Node.js?

Make a custom quiz — handy for classrooms and study groups.

Make a quiz on anything

Related quizzes