Can you modify the package.json file after it has been created by the npm init command?
- Yes, but only with admin privileges
- No, it's read-only
- Yes, it can be edited anytime
- Yes, but only during project initialization
Yes, you can modify the package.json file after it has been created by the npm init command. It's a JSON configuration file that stores information about your project, and you can update it to add dependencies, scripts, and other project-related settings. It's a fundamental part of managing Node.js projects.
How does normalizing database tables impact the Read and Update operations in CRUD?
- Improves Read performance, may complicate Updates
- Improves Update performance, may slow down Reads
- Has no impact on either Read or Update operations
- Improves both Read and Update operations
Normalizing database tables often improves Read performance by reducing data redundancy. However, it may complicate Update operations since data may be spread across multiple tables, requiring joins. Option 2 is not generally true as normalization tends to have a positive impact on Update operations. Option 4 is an oversimplification.
What does the resolve function do in a JavaScript Promise?
- It is called when an error occurs.
- It is called when the Promise is rejected.
- It is called when the Promise is fulfilled with a value.
- It is called to cancel the Promise.
The resolve function in a JavaScript Promise is called when the Promise is fulfilled successfully with a value. It signifies that the asynchronous operation inside the Promise has completed successfully, and the value provided in the resolve function is the result.
What is the output of the following code snippet: console.log(1 == '1')?
- TRUE
- FALSE
- undefined
The output of the code snippet is true. In JavaScript, the == operator performs type coercion, so it converts the string '1' to a number before comparing, and 1 is equal to 1.
In what scenario would a package be listed in both dependencies and devDependencies?
- When the package is a development tool
- When it's a runtime dependency
- When it's a peer dependency
- When it's a transitive dependency
A package can be listed in both dependencies and devDependencies when it's a development tool that is needed during both development and runtime. An example might be a testing library or build tool.
What is the primary use of Streams in Node.js?
- Managing database connections
- Handling HTTP requests and responses
- Storing configuration data
- Sorting arrays
The primary use of Streams in Node.js is for handling data in a streaming fashion, especially for reading and writing data efficiently. They are commonly used for handling HTTP requests and responses, file I/O, and more, where data can be processed in smaller chunks without loading the entire dataset into memory.
In Express.js, how can you handle errors occurring in asynchronous code within a route handler?
- try-catch
- next(error)
- return error;
- res.error(error)
In Express.js, you can handle errors occurring in asynchronous code within a route handler by calling next(error). This passes the error to the error-handling middleware or the default error handler, allowing you to centralize error handling. Using a try-catch block won't catch asynchronous errors, and the other options are not standard practices for error handling in Express.js.
Which type of testing focuses on verifying the functionality of individual components in isolation?
- Unit Testing
- Integration Testing
- System Testing
- Performance Testing
Unit Testing focuses on verifying the functionality of individual components (or units) in isolation. It helps ensure that each component works correctly on its own.
Which of the following is the correct syntax for destructuring an array in JavaScript?
- let [x, y] = [1, 2];
- let {x, y} = [1, 2];
- let (x, y) = [1, 2];
- let x = [1, 2];
Destructuring an array in JavaScript is done using square brackets []. The correct syntax is let [x, y] = [1, 2];. The other options are either for object destructuring or use incorrect syntax.
How is the Buffer class in Node.js useful when dealing with binary data?
- The Buffer class provides methods to efficiently work with binary data, making it suitable for tasks like reading and writing files, working with network protocols, and handling binary data in memory.
- The Buffer class is used for debugging purposes and is not recommended for handling binary data.
- The Buffer class is primarily used for string manipulations and should not be used for binary data.
- The Buffer class is outdated and has been replaced by Typed Arrays in modern Node.js.
The Buffer class in Node.js is extremely useful when dealing with binary data. It provides methods for efficiently working with raw binary data, making it suitable for tasks such as reading and writing files, working with network protocols, and handling binary data in memory.