1. Which of the following is the primary goal of software engineering?
A. To design beautiful user interfaces
B. To ensure the development of reliable, scalable, and maintainable
software
C. To make software free for the user
D. To develop software without testing
Answer: B) To ensure the development of reliable, scalable, and
maintainable software
Rationale: The primary goal of software engineering is to produce
high-quality software that is reliable, scalable, maintainable, and meets
user requirements.
2. Which of the following is a core principle of the Agile software
development methodology?
A. Big upfront planning
B. Rigid structure and process
C. Iterative and incremental development
D. Complete documentation
Answer: C) Iterative and incremental development
Rationale: Agile emphasizes iterative and incremental development
with frequent feedback from stakeholders, allowing for flexibility and
responsiveness to change.
3. Which type of machine learning algorithm is used when the output is
categorical?
A. Supervised learning
B. Unsupervised learning
C. Reinforcement learning
D. Classification
Answer: D) Classification
Rationale: Classification is a type of supervised machine learning used
when the output variable is categorical, such as predicting whether an
email is spam or not.
,4. In the context of software testing, what does the term "unit testing"
refer to?
A. Testing the entire system as a whole
B. Testing individual components or functions
C. Testing the user interface
D. Testing user acceptance
Answer: B) Testing individual components or functions
Rationale: Unit testing focuses on verifying the correctness of
individual units (functions, methods, classes) of the software.
5. Which of the following is an advantage of using deep learning over
traditional machine learning?
A. Requires less data
B. Does not need feature engineering
C. Faster model training
D. More interpretable results
Answer: B) Does not need feature engineering
Rationale: Deep learning models automatically extract features from
raw data, eliminating the need for manual feature engineering.
6. Which of the following is a key benefit of using version control
systems in software development?
A. Reducing the complexity of the software
B. Keeping track of code changes and collaboration
C. Optimizing the performance of the software
D. Eliminating the need for testing
Answer: B) Keeping track of code changes and collaboration
Rationale: Version control systems help track changes, facilitate
collaboration, and allow developers to manage different versions of the
code.
7. In machine learning, what is the purpose of the training set?
A. To evaluate the performance of the model
B. To apply the model in real-world scenarios
C. To train the model by providing input-output pairs
D. To optimize the model's hyperparameters
, Answer: C) To train the model by providing input-output pairs
Rationale: The training set is used to train the model by providing
labeled data that allows the model to learn patterns and make
predictions.
8. What does "overfitting" refer to in machine learning?
A. The model performs well on new, unseen data
B. The model is too complex and performs well only on the training
data
C. The model cannot be trained due to insufficient data
D. The model is undertrained and unable to make predictions
Answer: B) The model is too complex and performs well only on the
training data
Rationale: Overfitting occurs when a model learns the details and noise
of the training data to an extent that it negatively impacts its
performance on new, unseen data.
9. Which of the following is a technique used to evaluate machine
learning models?
A. Feature scaling
B. Cross-validation
C. Data augmentation
D. Hyperparameter tuning
Answer: B) Cross-validation
Rationale: Cross-validation is a technique for assessing the performance
of a machine learning model by splitting the data into multiple training
and validation sets.
10. In software development, what is "refactoring"?
A. Rewriting the software from scratch
B. Adding new features to the software
C. Improving the internal structure of the code without changing its
functionality
D. Fixing bugs in the software
Answer: C) Improving the internal structure of the code without
changing its functionality
A. To design beautiful user interfaces
B. To ensure the development of reliable, scalable, and maintainable
software
C. To make software free for the user
D. To develop software without testing
Answer: B) To ensure the development of reliable, scalable, and
maintainable software
Rationale: The primary goal of software engineering is to produce
high-quality software that is reliable, scalable, maintainable, and meets
user requirements.
2. Which of the following is a core principle of the Agile software
development methodology?
A. Big upfront planning
B. Rigid structure and process
C. Iterative and incremental development
D. Complete documentation
Answer: C) Iterative and incremental development
Rationale: Agile emphasizes iterative and incremental development
with frequent feedback from stakeholders, allowing for flexibility and
responsiveness to change.
3. Which type of machine learning algorithm is used when the output is
categorical?
A. Supervised learning
B. Unsupervised learning
C. Reinforcement learning
D. Classification
Answer: D) Classification
Rationale: Classification is a type of supervised machine learning used
when the output variable is categorical, such as predicting whether an
email is spam or not.
,4. In the context of software testing, what does the term "unit testing"
refer to?
A. Testing the entire system as a whole
B. Testing individual components or functions
C. Testing the user interface
D. Testing user acceptance
Answer: B) Testing individual components or functions
Rationale: Unit testing focuses on verifying the correctness of
individual units (functions, methods, classes) of the software.
5. Which of the following is an advantage of using deep learning over
traditional machine learning?
A. Requires less data
B. Does not need feature engineering
C. Faster model training
D. More interpretable results
Answer: B) Does not need feature engineering
Rationale: Deep learning models automatically extract features from
raw data, eliminating the need for manual feature engineering.
6. Which of the following is a key benefit of using version control
systems in software development?
A. Reducing the complexity of the software
B. Keeping track of code changes and collaboration
C. Optimizing the performance of the software
D. Eliminating the need for testing
Answer: B) Keeping track of code changes and collaboration
Rationale: Version control systems help track changes, facilitate
collaboration, and allow developers to manage different versions of the
code.
7. In machine learning, what is the purpose of the training set?
A. To evaluate the performance of the model
B. To apply the model in real-world scenarios
C. To train the model by providing input-output pairs
D. To optimize the model's hyperparameters
, Answer: C) To train the model by providing input-output pairs
Rationale: The training set is used to train the model by providing
labeled data that allows the model to learn patterns and make
predictions.
8. What does "overfitting" refer to in machine learning?
A. The model performs well on new, unseen data
B. The model is too complex and performs well only on the training
data
C. The model cannot be trained due to insufficient data
D. The model is undertrained and unable to make predictions
Answer: B) The model is too complex and performs well only on the
training data
Rationale: Overfitting occurs when a model learns the details and noise
of the training data to an extent that it negatively impacts its
performance on new, unseen data.
9. Which of the following is a technique used to evaluate machine
learning models?
A. Feature scaling
B. Cross-validation
C. Data augmentation
D. Hyperparameter tuning
Answer: B) Cross-validation
Rationale: Cross-validation is a technique for assessing the performance
of a machine learning model by splitting the data into multiple training
and validation sets.
10. In software development, what is "refactoring"?
A. Rewriting the software from scratch
B. Adding new features to the software
C. Improving the internal structure of the code without changing its
functionality
D. Fixing bugs in the software
Answer: C) Improving the internal structure of the code without
changing its functionality