Utilizing closures with caution is essential as they can lead to potential memory leaks due to retained ________.

  • Variables
  • Functions
  • References
  • Objects
Closures retain references to their containing scope, which includes variables and functions. If not managed carefully, this can lead to memory leaks as these references may prevent objects from being garbage collected.

How can the process object be used to handle application termination in Node.js?

  • process.exit()
  • process.end()
  • process.terminate()
  • process.halt()
In Node.js, you can use process.exit() to gracefully terminate a Node.js application. It allows you to specify an exit code. The other options, such as process.end(), process.terminate(), and process.halt(), are not valid methods for application termination.

In Pug, to extend a layout, you use the extends keyword and to fill a block within the layout, you use the ______ keyword.

  • include
  • fill
  • block
  • insert
In Pug, the extends keyword is used to extend a layout, and the block keyword is used to fill a block within the layout. This allows you to create modular and reusable templates. The other options do not serve the same purpose in Pug.

How does JavaScript's dynamic typing affect variable assignments and operations?

  • It enforces strict type checking.
  • It allows variables to change type during runtime.
  • It requires explicit type annotations for all variables.
  • It prevents type errors at compile time.
JavaScript's dynamic typing allows variables to change their data type during runtime. Unlike languages with static typing, you don't need to specify the data type of a variable explicitly.

In a Write-Around caching strategy, the data is written directly to the ______, bypassing the cache.

  • Disk
  • Server
  • Database
  • RAM
In a Write-Around caching strategy, the data is written directly to the database, bypassing the cache. This strategy is useful for data that doesn't need to be immediately cached, such as rarely accessed data or large files.

In a RESTful API, which HTTP method corresponds to the Update operation in CRUD?

  • GET
  • POST
  • PUT
  • DELETE
In a RESTful API, the PUT HTTP method corresponds to the Update operation in CRUD (Create, Read, Update, Delete). It is used to update or modify an existing resource on the server.

Why is it advantageous to use stubbing when dealing with external services or APIs in tests?

  • Stubbing allows you to make actual API calls during testing.
  • Stubbing provides better performance in tests.
  • Stubbing isolates your tests from the external services, making tests more reliable and faster.
  • Stubbing is required by external services for testing.
It is advantageous to use stubbing when dealing with external services or APIs in tests because stubbing isolates your tests from the actual external services, making tests more reliable and faster. With stubbing, you can control the responses from external services, ensuring that your tests are not affected by changes or issues with the real services. Options (1), (2), and (4) do not accurately describe the advantages of stubbing in this context.

When publishing a package to the NPM registry, what file is crucial to define the package properties and dependencies?

  • package-config.json
  • dependencies.json
  • package-lock.json
  • package.json
When publishing a package to the NPM registry, the package.json file is crucial. This file contains metadata about the package, including its name, version, description, entry points, and most importantly, its dependencies. The package-lock.json file is used to lock dependency versions but is not responsible for defining the package properties. Options 1 and 2 do not exist, and option 3, while related, is not used for defining package properties.

You need to expose a global utility function that should be accessible across different modules in your Node.js application. How would you leverage the global object to achieve this?

  • global.utility = require('./utility');
  • global.util = require('./utility');
  • global.import('./utility')
  • global.include('./utility')
To expose a global utility function in Node.js, you can use global.utility = require('./utility');. This allows you to require the module once and make it accessible globally across different modules. The other options do not achieve this in the correct way.

When would you use export default over named exports in a module?

  • export default is used when you want to export multiple values from a module as an object with named keys.
  • export default is used when you want to export a single value, function, or class from a module.
  • export default is used when you want to export a module without specifying a name for it.
  • export default is used when you want to create a private module that can't be imported from other modules.
export default is used when you want to export a single value, function, or class as the default export of a module. This allows you to import it using any name you prefer when importing. Named exports are used when you want to export multiple values with specific names.