In Django, the ____ file is used to store the settings of a project, such as database configurations.
- models
- settings
- templates
- views
In Django, the settings.py file is used to store project-level settings, including database configurations, middleware, and other global settings. It's a central configuration file for a Django project.
In Django, the ____ method is used to handle HTTP GET requests specifically in class-based views.
- fetch
- get
- obtain
- retrieve
In Django class-based views, the get method is used to handle HTTP GET requests. This method is called when a user accesses a view via a GET request, allowing you to define how the view should respond to such requests.
In Django, what is the name of the file used to define the URL patterns of an app?
- links.py
- patterns.py
- routes.py
- urls.py
In Django, the file used to define URL patterns for an app is usually named urls.py. This file maps URLs to views, helping Django route incoming requests to the appropriate view functions.
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.
In a ____, each element points to the next one, forming a sequence.
- Array
- Heap
- Linked List
- Stack
In a "Linked List," each element (node) contains data and a reference (or pointer) to the next node, forming a sequence. Linked lists are versatile data structures used in various applications, including dynamic data storage.
In a ____, each node contains a reference to the next node in the sequence.
- Array
- Linked List
- Queue
- Stack
A Linked List is a data structure in which each node contains a reference to the next node. This makes it a suitable choice for dynamic data structures where elements can be easily added or removed at any position.
In a binary tree, a node with no children is called a _____.
- Branch node
- Leaf node
- Root node
- Traversal
In a binary tree, a node with no children is called a "leaf node." Leaf nodes are the endpoints of the tree and have no child nodes. They are essential in various tree operations and algorithms.
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.