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.

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 handle missing data for a numerical feature in a dataset before training a machine learning model?

  • Ignore missing data, it won't affect the model
  • Remove the rows with missing data
  • Replace missing values with a random value
  • Replace missing values with the mean of the feature
Handling missing data is crucial. Replacing missing values with the mean of the feature is a common practice as it retains data and doesn't introduce bias, especially in numerical features. Removing rows or using random values can lead to loss of information or noise.

How would you apply a decorator to a class method that needs to access the class itself?

  • Use a class method decorator with @classmethod
  • Use a function decorator with @func
  • Use a property decorator with @property
  • Use a static method decorator with @staticmethod
To apply a decorator to a class method that needs to access the class itself, you should use a class method decorator with @classmethod. Class methods have access to the class itself as their first argument, conventionally named cls. Static methods do not have access to the class, and property decorators are used to define getter, setter, and deleter methods for class attributes. Function decorators without specifying @func are not standard in Python.

How would you implement a custom loss function in a TensorFlow or PyTorch model?

  • Call the loss function during evaluation
  • Define a function that calculates the loss
  • Use the built-in loss functions
  • Use the optimizer to define a loss function
To implement a custom loss function, you need to define a function that calculates the loss based on your specific requirements. This function is used in the training loop to compute the loss during training.

How would you chain multiple decorators on a single function?

  • By defining an array of decorators and applying them using a loop.
  • By wrapping the function in multiple decorator functions within the function definition, e.g., function myFunction() { return decorator1(decorator2(innerFunction)); }
  • JavaScript doesn't support chaining multiple decorators.
  • Using the @ symbol and listing decorators one after another before a function definition, e.g., @decorator1 @decorator2 function myFunction() {...}
In JavaScript, you can chain multiple decorators by using the @ symbol and listing them one after another before a function definition. This is a common technique in modern JavaScript to apply multiple decorators to a single function.

How would you create a decorator to measure the execution time of a function?

  • By adding timestamps manually at the beginning and end of the function.
  • By using the @timer decorator.
  • By wrapping the function with timeit module functions.
  • Python does not support measuring execution time with decorators.
You can create a decorator to measure execution time by adding timestamps manually at the start and end of the function, then calculating the time elapsed. This allows you to track how long a function takes to execute.