You are developing a Node.js application, and you need to minify your JavaScript files every time before you build your project. Which lifecycle hook would you use to ensure that the minification script runs before the build script every time?

  • prebuild
  • prepublish
  • prestart
  • prerun
In a Node.js project, you would use the prepublish lifecycle hook to ensure that a script runs before the package is published. This hook is commonly used for tasks like minification before publishing to npm. The other options are not standard lifecycle hooks for this purpose.

What happens if an error event is emitted but there is no listener attached to handle it in Node.js?

  • Node.js throws an uncaught exception
  • The error event is silently ignored
  • Node.js logs an error message
  • It depends on the event type
If an error event is emitted in Node.js, but there is no listener attached to handle it, Node.js will throw an uncaught exception. This can lead to the termination of the Node.js process if the exception is not caught elsewhere in your code.

In Express.js, the :id? in a route path like "/users/:id?" denotes that id is a(n) ______ parameter.

  • optional
  • required
  • query
  • body
In Express.js, the :id? in a route path like "/users/:id?" denotes that id is an optional parameter. This means that the id parameter may or may not be present in the URL, and the route will still match. The other options are not correct in this context (required would mean the parameter is mandatory, query is used for query parameters, and body is used for request bodies).

To serve static files such as images, CSS files, and JavaScript files, a special folder called ______ is commonly used in Express.js.

  • public
  • assets
  • static
  • files
To serve static files such as images, CSS files, and JavaScript files, a special folder called the public folder is commonly used in Express.js. This folder typically contains all your publicly accessible static assets.

Which of the following is a property of the Global Object in Node.js?

  • console
  • globalThis
  • module
  • require
In Node.js, the global object is a global context object that contains various properties and methods available throughout the application. globalThis is a reference to the global object, which allows cross-environment compatibility. console, module, and require are not properties of the global object but are commonly used in Node.js for various purposes.

What is the primary difference between OAuth 1.0 and OAuth 2.0?

  • OAuth 1.0 uses HMAC-SHA1 for signing requests, while OAuth 2.0 uses JWT.
  • OAuth 1.0 requires client registration, while OAuth 2.0 does not.
  • OAuth 1.0 uses two-legged authentication, while OAuth 2.0 uses three-legged authentication.
  • OAuth 1.0 is a token-based system, while OAuth 2.0 is a protocol for token-based authentication.
The primary difference is that OAuth 1.0 requires client registration, while OAuth 2.0 does not. OAuth 2.0 introduced a more streamlined and flexible approach to authorization. The other options describe differences but not the primary distinction.

What are React Mixins?

  • Components that are composed of other components
  • Methods for handling async operations in React
  • Reusable code snippets that can be applied to multiple components
  • Techniques for improving the performance of React applications
React Mixins are reusable code snippets that can be applied to multiple components in order to provide shared functionality. They are a way to encapsulate logic and behavior that can be used across multiple components, allowing for code reuse and reducing duplication. However, they are not recommended in modern versions of React and have been largely replaced by higher-order components and render props.

What are loadable components?

  • A component that loads data asynchronously
  • A component that loads other components asynchronously
  • A component that loads itself asynchronously
  • A component that loads CSS stylesheets asynchronously
Loadable components are a way to load other components asynchronously in React. Loadable components allow components to be split into smaller chunks and loaded on-demand, improving performance and reducing initial load times. Loadable components are typically used with dynamic imports to enable asynchronous loading of code.

What are Higher-Order components?

  • Components that are used for server-side rendering
  • Components that enhance the behavior of other components
  • Components that render other components
  • Components that use the shouldComponentUpdate() method
Higher-Order components (HOCs) are components that enhance the behavior of other components by adding additional functionality or props. HOCs take a component as input and return a new component that includes the additional behavior. This allows developers to reuse code and separate concerns in their applications.

What is redux-saga?

  • A middleware library for Redux
  • A tool for code splitting in React
  • A data visualization library for Redux
redux-saga is a middleware library for Redux that allows you to handle side effects, such as asynchronous data fetching or complex state updates, in a declarative and testable way. It uses ES6 Generators to provide a more readable and maintainable way to handle complex logic in your Redux application.