In a Flask application, you are required to implement user authentication. How would you securely manage user passwords?
- Hash and salt user passwords before storage
- Store passwords in plain text for easy retrieval
- Transmit passwords in HTTP headers for convenience
- Use symmetric encryption for password storage
Securely managing user passwords in Flask involves hashing and salting them before storage. This ensures that even if the database is compromised, attackers can't easily recover passwords.
In algorithm analysis, ____ denotes the upper bound of the running time of an algorithm.
- Big-O
- O-notation
- Θ-notation
- Ω-notation
In algorithm analysis, Big-O notation (often represented as O-notation) denotes the upper bound of the running time of an algorithm. It provides an upper limit on how the algorithm's runtime scales with input size.
In deep learning models built using TensorFlow or PyTorch, the ____ method is used to update the model parameters based on the computed gradients.
- backward
- fit
- optimize
- predict
In deep learning frameworks like TensorFlow or PyTorch, the optimize method (or optimizer) is used to update the model parameters (weights) based on the computed gradients during training. This step is a crucial part of the training process as it helps the model learn from the data.
How would you use a mock object in Python for testing a function that makes an HTTP request?
- Create a mock object that simulates the behavior of an HTTP request, allowing you to test the function's behavior without making actual network requests.
- Modify the function to skip the HTTP request when testing, replacing it with a placeholder function.
- Use a third-party library like httpretty to intercept and mock HTTP requests within the function.
- Use the built-in unittest.mock library to automatically mock HTTP requests made by the function.
To test a function making HTTP requests, creating a mock object that simulates HTTP behavior is a common practice. This ensures that tests are isolated and don't depend on external services.
Imagine you are developing a plugin system where plugins need to register themselves upon definition. How could a metaclass facilitate this registration process?
- Metaclasses can automatically register plugins by scanning the codebase for plugin classes.
- Metaclasses can create a global registry and automatically register plugins when they are defined by modifying the metaclass's __init__ method.
- Metaclasses cannot assist in plugin registration.
- Plugins can self-register by implementing a specific interface, and the metaclass can validate their registration by checking for this interface.
Metaclasses can help manage plugin registration by imposing registration checks and maintaining a central registry for plugins as they are defined.
How would you design a class that shouldn’t be instantiated?
- By declaring the class as abstract.
- By defining a private constructor.
- By making the class private.
- By using the final keyword.
To prevent a class from being instantiated, you can define a private constructor. When the constructor is private, it cannot be called from outside the class, effectively preventing object creation.
How would you enable Cross-Origin Resource Sharing (CORS) in a Flask application?
- CORS is enabled by default in Flask
- Modify the browser's settings
- Use the "@cross_origin" decorator
- Use the Flask-CORS extension
You can enable CORS in Flask by using the Flask-CORS extension. The other options are not the recommended way to enable CORS in Flask.
How would you enable Cross-Origin Resource Sharing (CORS) in a Flask application?
- Add Access-Control-Allow-Origin header to each route manually.
- CORS is not applicable to Flask applications.
- Set CORS_ENABLED = True in the Flask app configuration.
- Use the @cross_origin decorator from the flask_cors extension.
To enable CORS in a Flask application, you typically use the @cross_origin decorator provided by the flask_cors extension. This allows you to control which origins are allowed to access your API.
How would you ensure that a piece of code in a module is only executed when the module is run as a standalone program and not when it is imported?
- #execute_if_standalone
- #only_run_when_main
- #standalone_code
- if name == "main":
To ensure that a piece of code in a Python module is only executed when the module is run as a standalone program and not when it is imported, you can use the special if __name__ == "__main__": conditional statement. Code inside this block will only run when the module is the main entry point of the program.
How would you find the loop in a linked list?
- Iterate through the list and check for a null reference
- Use a hash table to store visited nodes
- Use a stack to track visited nodes
- Use Floyd's Tortoise and Hare algorithm
Floyd's Tortoise and Hare algorithm is a popular technique to detect a loop in a linked list. It involves two pointers moving at different speeds through the list. If there's a loop, they will eventually meet. The other options are not efficient for loop detection.