How can you simulate user actions like clicks or keyboard inputs in Jest?
- jest.spyOn()
- jest.mock()
- jest.fn()
- jest.simulate()
In Jest, you can simulate user actions like clicks or keyboard inputs using jest.fn(). This allows you to create mock functions that can simulate user interactions and track their calls. The other options have different purposes; jest.spyOn() is used to spy on method calls, jest.mock() is used to mock modules, and jest.simulate() is not a valid Jest method for simulating user actions.
In which scenario would denormalization be considered a suitable option for query optimization?
- When you want to minimize data redundancy and improve data integrity.
- When you want to improve query performance, even at the cost of some data redundancy and update anomalies.
- Denormalization is never considered a suitable option for query optimization.
- When you want to reduce the size of the database.
Denormalization is considered when you want to optimize read-heavy queries and reduce the number of JOIN operations. It involves introducing redundancy to improve query performance, but it can lead to data anomalies.
In JavaScript, a variable declared without the var, let, or const keyword inside a function becomes a property of the ________ object.
- "window"
- "global"
- "local"
- "this"
In JavaScript, a variable declared without the var, let, or const keyword inside a function becomes a property of the "global" object. This can lead to unexpected behavior, so it's important to declare variables properly.
What strategies can be employed to optimize aggregation queries in NoSQL databases like MongoDB?
- Aggregation queries in NoSQL databases like MongoDB can be optimized by using the aggregation framework provided by MongoDB, creating proper indexes on fields used in aggregation stages, leveraging server resources efficiently, and using projection to limit the output data size.
- Aggregation queries in NoSQL databases cannot be optimized.
- Aggregation queries in NoSQL databases can only be optimized by using raw database queries with no additional strategies.
- Aggregation queries in NoSQL databases should be avoided altogether.
Aggregation queries in NoSQL databases can be resource-intensive, but they can be optimized using MongoDB's aggregation framework and other techniques to improve query performance.
How can you handle CORS to allow cookies to be included in requests?
- Access-Control-Allow-Origin: *
- Access-Control-Allow-Credentials: true
- Access-Control-Allow-Headers: *
- Access-Control-Allow-Methods: GET, POST
To allow cookies to be included in CORS requests, you should set the Access-Control-Allow-Credentials header to true. The other options are related to different aspects of CORS, but they don't specifically enable cookie handling.
What is the primary use of the spread operator in JavaScript?
- To merge arrays and objects
- To create a new array with the same elements
- To create a deep copy of an object
- To remove elements from an array
The primary use of the spread operator (...) in JavaScript is to merge arrays and objects. It can also be used to clone an array or object, effectively creating a new array or object with the same elements or properties.
How can you handle error responses in Express for cleaner error reporting?
- Using the throw statement
- Using the try...catch block
- Implementing custom error handling middleware
- Ignoring errors for cleaner logs
To handle error responses in Express for cleaner error reporting, you can implement custom error handling middleware. This middleware can catch errors and provide a standardized way to handle and respond to them, improving error reporting and debugging.
How can the 'done' callback be used in asynchronous testing with Mocha?
- done is used to terminate the Mocha test suite prematurely.
- done is used to indicate that the test is asynchronous and should wait for it to complete.
- done is used to skip a test case in Mocha.
- done is not used in Mocha for asynchronous testing.
In Mocha, the done callback is used to indicate that a test is asynchronous and should wait for it to complete before considering the test case finished. It prevents the test case from finishing prematurely. The other options provide incorrect information about the use of done.
How can you create an object in JavaScript that does not inherit the prototype from Object?
- Object.create(null)
- Object() constructor
- {} constructor
- Object.assign({})
In JavaScript, you can create an object that does not inherit the prototype from Object by using Object.create(null). This creates an object with no prototype, making it a clean slate. The other options either inherit from Object or use Object's prototype.
In Express, how can you enable Cross-Origin Resource Sharing (CORS) for your API?
- app.use(cors())
- app.enable(cors)
- app.allow(CORS)
- app.cors(true)
To enable Cross-Origin Resource Sharing (CORS) in Express, you should use the cors middleware by adding app.use(cors()) to your application. This middleware allows or restricts cross-origin HTTP requests. The other options are not valid ways to enable CORS in Express.