You are building a content management system where the data structure is not uniform and may evolve over time. Which type of database would you choose, and what considerations should you have regarding schema design and querying efficiency?

  • Graph Database
  • NoSQL Database
  • Relational Database
  • Object-oriented Database
In this scenario, a NoSQL database would be the most suitable choice due to its flexibility in handling unstructured and evolving data. Considerations involve schema-less design, allowing data to change without strict schema constraints, and optimizing querying efficiency through appropriate indexing and data modeling.

How can the fs module handle reading very large files without loading the entire file into memory?

  • By using the fs.readFile() method
  • By using the fs.read() method
  • By using the fs.createReadStream() method
  • By using the fs.loadLargeFile() method
To handle reading very large files without loading the entire file into memory, you can use the fs.createReadStream() method. This method reads the file in small chunks, which allows you to process large files efficiently without consuming excessive memory. The other options do not provide a built-in mechanism for handling large files in this manner.

Which of the following databases is a NoSQL database?

  • MySQL
  • SQLite
  • MongoDB
  • PostgreSQL
MongoDB is a NoSQL database, known for its flexibility in handling unstructured or semi-structured data. It uses a document-oriented data model, making it a popular choice for applications that require dynamic, schema-less data storage. MySQL, SQLite, and PostgreSQL are all SQL databases, which follow a structured, table-based data model.

You have to deploy a Node.js application, but the production environment does not allow internet access, preventing npm packages from being installed. How do you prepare and install the necessary npm packages in such an environment?

  • Download packages manually and copy them to the production server
  • Use a proxy server to allow internet access for npm
  • Bundle all npm packages with your application during development
  • Ask the production environment to whitelist npm's servers
To install npm packages in an environment without internet access, you can download packages manually and copy them to the production server. This approach ensures the necessary dependencies are available. Using a proxy server or whitelisting npm's servers may not always be feasible.

In JavaScript, variables declared using the var keyword are hoisted to the top of their ________.

  • scope
  • function
  • declaration
In JavaScript, variables declared using the var keyword are hoisted to the top of their containing function's scope. This means that they are moved to the top of the function during the compilation phase, allowing you to use them before they are declared in the code.

How can you handle errors in a readable stream in Node.js?

  • stream.on('error', (err) => { /* Handle error */ });
  • stream.catch((err) => { /* Handle error */ });
  • stream.error((err) => { /* Handle error */ });
  • try { /* Stream operations */ } catch (err) { /* Handle error */ }
In Node.js, you can handle errors in a readable stream by listening to the 'error' event using stream.on('error', (err) => { /* Handle error */ });. The other options are not the correct way to handle errors in streams.

When using await inside a function, what does the function return?

  • It returns the resolved value of the awaited Promise.
  • It returns a boolean indicating if the Promise is pending.
  • It returns an array of all pending Promises.
  • It returns an error if the Promise is rejected.
When you use await inside an async function, the function returns the resolved value of the awaited Promise. This enables you to work with asynchronous code in a more synchronous style.

What is the significance of HTTP/2 in web performance optimization compared to HTTP/1.x?

  • HTTP/2 uses multiplexing to allow multiple requests and responses to be sent in parallel over a single connection.
  • HTTP/2 is a more secure version of HTTP/1.x.
  • HTTP/2 reduces the need for server-side caching.
  • HTTP/2 requires fewer resources on the client-side compared to HTTP/1.x.
HTTP/2 significantly improves web performance compared to HTTP/1.x by introducing features like multiplexing, which allows multiple requests and responses to be sent concurrently over a single connection. This reduces latency and speeds up web page loading. The other options are not accurate representations of HTTP/2's benefits.

In schema design, the property that ensures that only valid data is stored in the database is known as ________.

  • Validation
  • Verification
  • Constraints
  • Authentication
In schema design, the property that ensures that only valid data is stored in the database is known as "Constraints." Constraints include rules such as unique keys, primary keys, foreign keys, and check constraints that enforce data integrity and validity.

JSON Web Tokens (JWT) are composed of three parts: a header, a payload, and a ______.

  • signature
  • key
  • footer
  • token
JSON Web Tokens (JWTs) are composed of three parts: a header, a payload, and a signature. The signature is used to verify the authenticity of the token and ensure that it has not been tampered with. The other options are not components of JWTs.