Which of the following is a use case for the rest operator in function parameters?

  • Collecting multiple arguments into an array
  • Spreading an array into multiple arguments
  • Creating a shallow copy of an array
  • Combining two arrays into one
The primary use case for the rest operator in function parameters is to collect multiple arguments into an array. It allows a function to accept a variable number of arguments and access them as an array. The other options are not the intended use of the rest operator in this context.

What is the primary difference between null and undefined in JavaScript?

  • null represents an intentional absence of any value, while undefined indicates a variable has been declared but has not been assigned a value.
  • null represents a numeric value of zero, while undefined represents an empty string.
  • null is used for variables that are out of scope, while undefined is used for variables with no value.
  • null is a boolean value, while undefined is a number.
In JavaScript, null represents the intentional absence of any value, while undefined indicates that a variable has been declared but has not been assigned a value. Understanding this difference is crucial for handling data in JavaScript effectively.

Which of the following stream types is used for reading data in Node.js?

  • Writable Stream
  • Readable Stream
  • Duplex Stream
  • Transform Stream
Readable Streams are used for reading data in Node.js. They allow you to read data from various sources, such as files, HTTP requests, and more, in a non-blocking and efficient manner.

A ______ cache stores data in a shared location that can be accessed by multiple application instances.

  • Shared
  • Distributed
  • Local
  • In-Memory
A Distributed cache stores data in a shared location that can be accessed by multiple application instances. This allows multiple nodes of an application to share cached data, improving performance and reducing redundancy.

While working on a project, you are required to extract specific properties from objects and assign them to variables. How would you utilize destructuring assignment to efficiently accomplish this task, and what would you do to handle non-existent properties?

  • const { prop1, prop2 } = sourceObject;
  • const [prop1, prop2] = sourceObject;
  • const { prop1, prop2 } = [sourceObject];
  • const [prop1, prop2] = { ...sourceObject };
To efficiently extract specific properties from objects using destructuring assignment in JavaScript, you would use the syntax const { prop1, prop2 } = sourceObject;. This assigns the values of prop1 and prop2 from sourceObject to the corresponding variables. To handle non-existent properties, you can provide default values like const { prop1 = defaultValue1, prop2 = defaultValue2 } = sourceObject;. The other options are not correct ways to achieve this task.

In a sharded database architecture, how are Update operations handled across multiple shards?

  • Updates are broadcast to all shards
  • A central coordinator handles all updates
  • Each shard independently handles updates for its data
  • Updates are queued and processed sequentially
In a sharded database architecture, a central coordinator (Option 2) often handles updates that affect multiple shards. Each shard (Option 3) independently handles updates for its own data, but coordinated updates across shards typically require a central component. Options 1 and 4 are not common methods for handling updates in sharded databases.

In order to secure user passwords, it is best practice to store them using a ________ algorithm.

  • Hashing
  • Encryption
  • Decryption
  • Salting
To secure user passwords, it's best practice to store them using a hashing algorithm. Hashing takes the password and transforms it into a fixed-size string of characters (hash) using a one-way function. This makes it difficult to reverse-engineer the password from the stored hash.

What is the primary use of the Events module in Node.js?

  • Managing file operations
  • Handling asynchronous code
  • Handling events and event-driven programming
  • Defining custom data types
The primary use of the Events module in Node.js is to facilitate event-driven programming. It allows you to create, emit, and handle custom events, making it a fundamental part of building real-time and responsive applications. Options A, B, and D are not the primary purposes of the Events module.

In what scenario would you need to create a custom error class in Express.js?

  • When you want to replace the built-in error classes
  • When you want to provide additional metadata with the error
  • When you need to handle synchronous errors
  • When you want to suppress errors and continue execution
Creating a custom error class in Express.js is useful when you want to provide additional metadata with the error, such as error codes, status codes, or custom properties. This allows you to convey more context about the error to the client or developer. The other options are not typical use cases for custom error classes.

Which of the following scenarios is most suitable for incrementing the 'minor' version in semantic versioning?

  • Adding new features or functionality in a backward-compatible manner.
  • Fixing a critical security vulnerability that requires code changes.
  • Refactoring the internal code structure without affecting external interfaces.
  • Removing a public API that is no longer needed.
In semantic versioning, the 'minor' version should be incremented when new features or functionality are added in a backward-compatible manner. This indicates to users that they can safely update to the new version without worrying about breaking changes.