Which of the following responses to a preflight request will allow a browser to make a cross-origin call to upload a file?

  • Access-Control-Allow-Origin: *
  • Access-Control-Allow-Methods: POST
  • Access-Control-Allow-Headers: Authorization
  • Access-Control-Allow-Credentials: true
To enable cross-origin file uploads, you need to set Access-Control-Allow-Credentials to true, indicating that credentials like cookies are allowed. The other options are necessary but don't specifically address file uploads.

When using stubs, the main focus is on ______ rather than on verifying interactions between objects.

  • State
  • Behavior
  • Structure
  • Performance
When using stubs in testing, the main focus is on the state of the object, such as returning predefined values, rather than on verifying interactions between objects. Stubs are used to control the behavior of the object under test without asserting specific interactions.

The global object in Node.js is similar to the ______ object in client-side JavaScript.

  • window
  • document
  • navigator
  • console
In Node.js, the global object is similar to the window object in client-side JavaScript. It provides access to global variables and functions across the Node.js application.

When using template engines like EJS or Pug with Express.js, the ______ method is used to render a view template.

  • render
  • send
  • view
  • generate
In Express.js, the render method is used to render a view template when using template engines like EJS or Pug. It takes the name of the view and an optional data object as parameters. The other options are not typically used for rendering view templates.

How can you optimize Sequelize queries to avoid retrieving unnecessary data from the database?

  • Using the attributes option to specify only the required fields
  • Using findAll without any options
  • Using findOne for all queries
  • Using SELECT * for all queries
To optimize Sequelize queries, you can use the attributes option to specify only the fields you want to retrieve. Using findAll without options would retrieve all fields, which is inefficient. Using findOne is not suitable for all queries, and using SELECT * would retrieve all fields.

What is the primary use of the File System (fs) module in Node.js?

  • Manipulating and interacting with files and directories
  • Parsing JSON data
  • Creating web servers
  • Handling user input
The primary use of the File System (fs) module in Node.js is for manipulating and interacting with files and directories. It provides methods for reading, writing, updating, and deleting files, as well as working with directories.

In Node.js, '______' is used to signify the end of a writable stream.

  • finish
  • close
  • end
  • complete
In Node.js, the 'end' event is used to signify the end of a writable stream. This event is emitted when all data has been written to the stream and it's safe to end it. The other options (finish, close, complete) are not typically used for this purpose.

Why is caching used in web applications?

  • To reduce server load and improve performance
  • To increase server load and slow down performance
  • To secure user data
  • To display error messages
Caching in web applications is used to reduce server load and improve performance by storing frequently accessed data, such as web pages or database query results, so that it can be quickly retrieved without the need to regenerate it. Caching helps in minimizing the need for redundant processing and data retrieval.

In semantic versioning, what does a change in the 'patch' version (e.g. 1.2.3) typically indicate?

  • Bug fixes
  • New features
  • Backwards-incompatible changes
  • Minor improvements
In SemVer, a change in the 'patch' version indicates that there have been backwards-compatible bug fixes. This means that the changes made in this version should not break existing functionality and are intended to address issues and improve stability.

You are working on a web scraping tool. You have multiple URLs to fetch data from, but you want to proceed with the next steps only when data from all URLs are fetched successfully. How would you achieve this using Promises?

  • Use Promise.all()
  • Use Promise.race()
  • Use async/await without Promise.all()
  • Use multiple then() blocks
To proceed with the next steps only when data from all URLs is fetched successfully, you should use Promise.all(). This method takes an array of Promises and resolves only when all of them resolve successfully. Promise.race() resolves on the first success, which is not suitable for this scenario. Using async/await without Promise.all() may not ensure that all URLs are successfully fetched before proceeding.