SDM MCQ Bank
SDM MCQ Bank
SDM MCQ Bank
Q3. Which of the following is NOT a challenge faced when developing an application in a team?
a) Differences in coding standards and practices.
b) Difficulty in merging code changes.
c) Communication and coordination issues.
d) Lack of version control system.
Q5. How does team development contribute to the quality of the application?
a) It results in more bugs and issues in the application.
b) It allows developers to work on their preferred tasks only.
c) It promotes code reviews and ensures higher code quality.
d) It decreases the need for testing and validation.
Q6. What is a common issue faced by developers in a team regarding coding standards?
a) Following the same coding standards can lead to conflicts.
b) Each developer adheres to their own coding style, making the code inconsistent.
c) Developers do not pay attention to coding standards.
d) Coding standards are unnecessary in a team environment.
Answer: b) Each developer adheres to their own coding style, making the code inconsistent.
Q7. Why is it important to address communication issues in a team?
a) Communication issues can lead to a better understanding of the project requirements.
b) Effective communication is not essential for team collaboration.
c) Communication issues can hinder progress and lead to misunderstandings.
d) Addressing communication issues can slow down the development process.
Q9. What is the impact of not addressing issues promptly in a team environment?
a) Issues have no impact on the project's progress.
b) It can lead to increased collaboration among team members.
c) Issues can escalate and disrupt the development process.
d) Ignoring issues leads to better teamwork and cohesion.
Q10. How can team members overcome challenges and issues when working together?
a) By working in isolation and not seeking help from others.
b) By blaming others for any issues that arise.
c) By fostering a culture of collaboration, open communication, and problem-solving.
d) By ignoring the issues and hoping they will resolve on their own.
Answer: c) It facilitates collaboration and enables developers to work on the same codebase
simultaneously.
Answer: d) Python
Q14. How does a code versioning system help in managing code changes?
a) It automatically resolves conflicts in the code.
b) It keeps track of every change made to the codebase and who made it.
c) It prevents developers from making any changes to the code.
d) It reduces the need for communication among team members.
Answer: b) It keeps track of every change made to the codebase and who made it.
Q16. What is the primary purpose of version control systems in software development?
a) To store code backups on a local machine.
b) To keep track of code changes and facilitate collaboration among developers.
c) To automate the coding process.
d) To replace the need for code reviews.
Answer: b) To keep track of code changes and facilitate collaboration among developers.
Q17. When did the concept of version control systems first emerge?
a) In the 1990s
b) In the 1960s
c) In the 1980s
d) In the 2000s
Q18. Which of the following is considered the first version control system?
a) Git
b) Subversion (SVN)
c) Concurrent Versions System (CVS)
d) Mercurial
Q19. What was the main limitation of early version control systems like CVS?
a) They were slow and inefficient in handling large codebases.
b) They did not support branching and merging effectively.
c) They lacked user-friendly interfaces.
d) They were not compatible with Windows operating systems.
Q20. Which version control system was created by Linus Torvalds and became widely popular in the
software development community?
a) Git
b) Subversion (SVN)
c) Concurrent Versions System (CVS)
d) Mercurial
Answer: a) Git
1.4.1. Different tools available for versioning
Answer: a) Git
Q22. What is the primary difference between centralized and distributed version control systems?
a) Centralized systems require a central server, while distributed systems do not.
b) Distributed systems require a central server, while centralized systems do not.
c) Centralized systems are faster than distributed systems.
d) Distributed systems are slower than centralized systems.
Answer: a) Centralized systems require a central server, while distributed systems do not.
Q23. Which version control system is known for its ease of use and integration with the Windows
operating system?
a) Git
b) Subversion (SVN)
c) Concurrent Versions System (CVS)
d) Mercurial
Q25. Which version control system is written in Python and is designed to be lightweight and fast?
a) Git
b) Subversion (SVN)
c) Concurrent Versions System (CVS)
d) Mercurial
Answer: d) Mercurial
Q29. Which software development workflow emphasizes incremental development and frequent
releases?
a) Waterfall
b) Agile
c) Scrum
d) Kanban
Answer: c) Scrum
Q30. What is the primary advantage of following a structured software development workflow?
a) It eliminates the need for version control systems.
b) It ensures that developers work independently without any coordination.
c) It provides a clear roadmap and guidelines for the development process.
d) It speeds up the development process by skipping unnecessary steps.
Answer: c) It provides a clear roadmap and guidelines for the development process.
Answer: b) It facilitates collaboration among team members and tracks code changes.
Q35. Which command is used to initialize a new Git repository?
a) git commit
b) git init
c) git push
d) git clone
Answer: c) It creates a commit object that represents the change and adds it to the repository's history.
Answer: c) To organize and review code changes before committing them to the repository.
Q41. How do you add code changes to the staging area in Git?
a) By using the git stage command
b) By using the git commit command
c) By using the git add command
d) By using the git push command
Answer: c) The changes are organized and ready for review before committing.
Q43. What is the purpose of reviewing code changes in the staging area before committing?
a) To share the changes with other team members.
b) To ensure that the changes do not conflict with other code.
c) To discard any changes that are not needed.
d) To speed up the development process.
Answer: b) To ensure that the changes do not conflict with other code.
Q44. After adding code changes to the staging area, what is the next step in the Git workflow?
a) Pushing the changes to the remote repository
b) Committing the changes to the local repository
c) Discarding the changes
d) Reviewing the changes with team members
Answer: c) A parallel version of the code that diverges from the main development line.
Answer: c) To experiment with new features or bug fixes without affecting the main development line.
Q50. When is it appropriate to merge a branch into the main development line?
a) After experimenting with new features or bug fixes in the branch.
b) After adding code changes to the staging area.
c) After committing code changes to the local repository.
d) After creating a new branch.
Answer: a) After experimenting with new features or bug fixes in the branch.
2. Lecture: Software Engineering and Software Development Life Cycles
Q3. What does the term "Software Process" refer to in Software Engineering?
a) The physical design of software products
b) The step-by-step plan for building software products
c) The testing phase of software development
d) The marketing and distribution of software products
Answer: c) The end result of the software development process that satisfies user needs
Q8. What does the "Maintenance" phase in the software process involve?
a) Developing new features and enhancements for the software product.
b) Testing the software product for defects and bugs.
c) Writing user manuals and documentation.
d) Fixing issues and updating the software product based on user feedback.
Answer: d) Fixing issues and updating the software product based on user feedback.
Answer: c) A visual representation of the steps and activities involved in software development.
Q11. In the Waterfall Model, when is the testing phase typically performed?
a) After the coding phase
b) Before the design phase
c) After the deployment phase
d) Throughout the entire development process
Answer: c) The end result of the software development process that satisfies user needs
Q18. What are the benefits of using Software Engineering principles in software development?
a) It guarantees that software will be bug-free and error-proof.
b) It helps manage software development projects effectively.
c) It eliminates the need for testing and debugging.
d) It allows developers to skip the design phase and directly start coding.
Q20. How does Software Engineering contribute to the success of software products?
a) By focusing on hardware components and device compatibility
b) By ensuring that software products are highly priced in the market
c) By applying systematic approaches to develop reliable and efficient software
d) By creating user manuals and documentation for software products
Answer: b) It provides a step-by-step approach to guide the development process from conception to
deployment.
Q23. What are the common phases of a Software Development Life Cycle (SDLC)?
a) Design, coding, testing, and deployment.
b) Planning, execution, monitoring, and control.
c) Identification, analysis, specification, and validation.
d) Documentation, evaluation, reporting, and optimization.
Q24. Which phase of SDLC involves writing code and implementing the design?
a) Design phase
b) Testing phase
c) Coding phase
d) Planning phase
2.3.1. Planning
Q26. What activities are typically performed during the Planning phase?
a) Writing code and testing the software product.
b) Identifying hardware components for the software.
c) Creating user manuals and documentation.
d) Conducting market research and defining project objectives.
Q28. Why is it essential to create a project plan during the Planning phase?
a) To determine the cost of the software product.
b) To define the overall approach and resources required for the project.
c) To conduct market research for the software product.
d) To design the user interface of the software.
Answer: b) To define the overall approach and resources required for the project.
2.3.2. Design
Q30. What activities are typically performed during the Design phase?
a) Writing code and testing the software product.
b) Creating user manuals and documentation.
c) Defining the user interface and layout of the software product.
d) Conducting market research and analyzing customer feedback.
Answer: c) Defining the user interface and layout of the software product.
Answer: b) The user interface design and layout of the software product.
Q32. Why is it essential to have a well-defined user interface design in the Design phase?
a) To determine the cost of the software product.
b) To define the overall approach and resources required for the project.
c) To create a visually appealing user interface for the software product.
d) To conduct market research for the software product.
Answer: c) To create a visually appealing user interface for the software product.
2.3.3. Coding
Q34. What activities are typically performed during the Coding phase?
a) Designing the user interface and layout of the software product.
b) Creating user manuals and documentation.
c) Writing code to implement the design and functionality of the software product.
d) Conducting market research and defining project objectives.
Answer: c) Writing code to implement the design and functionality of the software product.
Q37. Which phase of requirements engineering involves analyzing and documenting user needs?
a) Identification
b) Validation
c) Specification
d) Analysis
Answer: d) Analysis
Q39. Why is it essential to validate software requirements during the requirements engineering phase?
a) To ensure that the hardware components used are of high quality
b) To identify and fix defects in the software requirements
c) To create user manuals and documentation for the software product
d) To conduct market research for the software product
Q41. What is the difference between Function-Oriented and Object-Oriented Systems in software
engineering?
a) Function-Oriented systems focus on user interface design, while Object-Oriented systems focus on
hardware components.
b) Function-Oriented systems use hardware components, while Object-Oriented systems do not use any
hardware components.
c) Function-Oriented systems are based on procedures, while Object-Oriented systems are based on
objects and classes.
d) Function-Oriented systems are more expensive to develop than Object-Oriented systems.
Answer: c) Function-Oriented systems are based on procedures, while Object-Oriented systems are
based on objects and classes.
Answer: b) Breaking the software product into small, independent, and manageable components
Answer: c) A design approach that organizes software components into hierarchical layers
Q48. What is the primary difference between Function-Oriented and Object-Oriented Systems?
a) Function-Oriented systems focus on user interface design, while Object-Oriented systems focus on
hardware components.
b) Function-Oriented systems use hardware components, while Object-Oriented systems do not use any
hardware components.
c) Function-Oriented systems are based on procedures, while Object-Oriented systems are based on
objects and classes.
d) Function-Oriented systems are more expensive to develop than Object-Oriented systems.
Answer: c) Function-Oriented systems are based on procedures, while Object-Oriented systems are
based on objects and classes.
Answer: c) A combination of data and methods that represent a real-world entity in the software.
Answer: a) Breaking the software product into small, independent, and manageable components.
Q52. Which of the following statements is true about "cohesion" in software design?
a) It refers to the degree of interaction between software components.
b) It indicates how closely the elements in a module are related to each other.
c) It refers to the degree to which a module depends on other modules.
d) It indicates the level of user satisfaction with the software product.
Answer: b) It indicates how closely the elements in a module are related to each other.
Answer: c) A design approach that organizes software components into hierarchical layers.
Answer: c) A diagram or representation that helps visualize the design of the software product.
Answer: a) Flowchart
2.5.5. UML
Answer: c) To visualize and document the software design using standardized diagrams.
2.6. Coding
Q63. Which phase of the software development life cycle (SDLC) involves writing code?
a) Design phase
b) Testing phase
c) Coding phase
d) Planning phase
Q64. What activities are typically performed during the Coding phase?
a) Designing the user interface and layout of the software product.
b) Creating user manuals and documentation.
c) Writing code to implement the design and functionality of the software product.
d) Conducting market research and defining project objectives.
Answer: c) Writing code to implement the design and functionality of the software product.
Q67. Which of the following programming principles emphasizes breaking down a complex problem
into smaller, manageable tasks?
a) DRY (Don't Repeat Yourself) principle
b) KISS (Keep It Simple, Stupid) principle
c) SRP (Single Responsibility Principle)
d) DIP (Dependency Inversion Principle)
Q68. What does the DRY (Don't Repeat Yourself) principle suggest in programming?
a) Reusing code to avoid duplication and improve maintainability.
b) Keeping code simple and easy to understand.
c) Ensuring each class has a single responsibility.
d) Avoiding tight coupling between classes.
Answer: a) Rules and guidelines that define the syntax and formatting of code for consistency and
readability.
Q71. Which of the following is a coding convention for naming variables and functions in software
development?
a) Using random and ambiguous names for variables and functions.
b) Using meaningful and descriptive names that reflect their purpose.
c) Using variable names that start with a number.
d) Using single-letter names for functions.
Answer: b) Using meaningful and descriptive names that reflect their purpose.
Answer: c) It improves code readability and makes it easier to understand and maintain.
Q73. Which of the following coding conventions is related to indentation and formatting of code?
a) Using meaningful and descriptive names for variables and functions.
b) Ensuring each class has a single responsibility.
c) Following a consistent style for indentation and spacing.
d) Using single-letter names for functions.
Answer: c) An approach to analyzing and designing software systems based on objects and classes.
Q76. Which of the following is a characteristic of Object-Oriented Analysis and Design (OOAD)?
a) Writing code without any comments or documentation.
b) Breaking the software product into small, independent, and manageable components.
c) Designing hardware components for the software product.
d) Creating user manuals and documentation for the software.
Answer: b) Breaking the software product into small, independent, and manageable components.
Answer: b) A combination of data and methods that represent a real-world entity in the software.
3. Lecture: Agile Development and Atlassian Jira
Answer: a) 2000
Answer: c) Waterfall
Q13. Which of the following is a benefit of Agile development for the development team?
a) Reduced need for regular meetings and communication
b) Less frequent delivery of software increments
c) A strict and fixed scope throughout the project
d) Continuous feedback and improvement opportunities
Q16. Which of the following is NOT a common tool used for Agile web development?
a) Jira
b) Trello
c) GitHub
d) Microsoft Excel
Q18. Which Agile development tool is specifically designed for visual project management using
boards and cards?
a) Jira
b) Trello
c) GitHub
d) Jenkins
Answer: b) Trello
Answer: d) To track changes in the source code and manage code collaboration
Q20. Continuous Integration (CI) tools in Agile development are used for:
a) Tracking and managing project progress and tasks
b) Documenting comprehensive project plans
c) Automating the process of code integration and testing
d) Creating user interfaces for the software product
Q23. Which of the following features of Jira allows users to prioritize and plan work for a specific time
frame?
a) Product backlog
b) Sprint planning
c) Project boards
d) Gantt chart
Answer: b) To visualize project progress and tasks using boards and cards
Answer: c) Sprints allow users to manage and plan tasks for specific time frames.
Q27. When creating a new project in Jira, users can choose from different project templates. What are
the available project templates?
a) Agile, Scrum, Kanban, and Waterfall
b) Development, Marketing, Sales, and HR
c) Software, Hardware, and Documentation
d) User stories, Epics, and Tasks
Q28. What is the purpose of assigning project roles and permissions in Jira?
a) To create and manage user stories and tasks
b) To track changes in the source code and manage code collaboration
c) To control access and actions that users can perform within the project
d) To visualize project progress and tasks using boards and cards
Answer: c) To control access and actions that users can perform within the project
Answer: d) A designated user responsible for configuring and managing the project in Jira
Answer: c) To control who can view, create, edit, and delete issues within the project
Answer: b) A specific task or sub-task that needs to be completed within the project
Answer: b) To break down a larger task into smaller, more manageable sub-tasks
Answer: b) The sub-task is marked as "done," and the main task's progress is updated.
Q35. In Jira, how can users track the progress of a task and its sub-tasks?
a) By using the Gantt chart view in the Agile board
b) By analyzing user feedback and customer satisfaction
c) By viewing the task and sub-tasks on the Agile board and their status
d) By conducting regular meetings and communication with stakeholders
Answer: c) By viewing the task and sub-tasks on the Agile board and their status
Q37. What is the significance of creating sprints in Jira for Agile development?
a) Sprints allow users to manage and plan tasks for specific time frames.
b) Sprints help in conducting market research and gathering user feedback.
c) Sprints allow users to visualize project progress and tasks using boards and cards.
d) Sprints enable users to create user stories and requirements.
Answer: a) Sprints allow users to manage and plan tasks for specific time frames.
Answer: b) Jira tracks the progress of tasks within the sprint and provides real-time updates.
Q39. Which of the following statements is true about managing tasks within a sprint in Jira?
a) Tasks cannot be added or modified once a sprint has started.
b) Tasks can be moved between sprints as needed.
c) Sprints can be created or modified during the sprint planning phase only.
d) Tasks that are not completed within the sprint are automatically removed.
Answer: b) Each microservice can have its own database and data storage.
Q5. What is the term used to describe the process of dividing a monolithic application into
microservices?
a) Aggregation
b) Monetization
c) Decomposition
d) Integration
Answer: c) Decomposition
Answer: d) They define the interfaces and communication protocols for each microservice.
Q12. In microservices architecture, what is the purpose of using containers, such as Docker?
a) To facilitate direct method calls between services
b) To ensure high coupling between microservices
c) To isolate and manage each microservice and its dependencies
d) To establish shared memory and data structures
Q18. What is the role of service contracts in managing the fragmentation of business requirements?
a) Service contracts define the terms of service between the application and the database.
b) Service contracts specify the business requirements for each service.
c) Service contracts ensure that all services share the same codebase.
d) Service contracts govern the data sharing policies among microservices.
Answer: b) Service contracts specify the business requirements for each service.
Q20. Which of the following is a challenge related to the fragmentation of business requirements in
microservices architecture?
a) Difficulty in deploying the application in a distributed environment
b) Inability to implement security measures for individual services
c) Overlapping functionality and data duplication among services
d) Lack of flexibility in choosing different technology stacks for each service
Answer: c) It provides high availability and fault tolerance for the application.
Q24. Which deployment pattern is characterized by combining all microservices into a single
deployment unit?
a) Monolithic deployment
b) Centralized deployment
c) Decentralized deployment
d) Hierarchical deployment
Q26. Which of the following statements is true about hierarchical deployment in microservices
architecture?
a) It involves deploying all services on a single physical server.
b) It allows for centralized management of all services.
c) It is not suitable for large-scale applications with multiple services.
d) It requires the use of different databases for each service.
Q27. What is the purpose of using load balancing in the deployment of microservices?
a) To ensure that all services have the same amount of data
b) To distribute network traffic evenly among multiple service instances
c) To reduce the number of servers needed for deployment
d) To centralize the management of all services
Answer: b) It is a single entry point that handles client requests and forwards them to the appropriate
services.
Q29. What are the benefits of using an API gateway in microservices architecture?
a) Reduced communication overhead between services
b) Centralized control over all services
c) Elimination of the need for service contracts
d) Simplified deployment of microservices
Q31. How does an API gateway handle service discovery in microservices architecture?
a) It automatically detects and registers new services.
b) It requires manual configuration for each service.
c) It uses a centralized database for service discovery.
d) It delegates service discovery to individual services.
Answer: d) It acts as a reverse proxy and forwards client requests to the appropriate microservices.
Q36. Which of the following is a benefit of using service discovery in microservices architecture?
a) Reduced complexity and improved service communication
b) Centralized control and management of all services
c) Elimination of the need for API gateways
d) Simplified deployment of microservices
Q37. In microservices architecture, service discovery is closely related to which software development
principle?
a) Object-Oriented Programming (OOP)
b) Service-Oriented Architecture
(SOA)
c) Load testing
d) Design patterns
Q38. Which statement best describes how service discovery enables scalability in microservices
architecture?
a) It automatically deploys multiple instances of the same service on different servers.
b) It allows services to communicate directly with each other without a central gateway.
c) It uses a centralized database to manage service information.
d) It ensures that each service has its own separate database.
Answer: a) It automatically deploys multiple instances of the same service on different servers.
Answer: c) Facilitate communication between services without knowing their physical locations
Q40. In microservices architecture, how are databases managed for individual services?
a) All services share a single database for data storage.
b) Each service has its own separate database.
c) Services use a centralized database management system.
d) Databases are managed manually by developers.
Q41. What is the primary advantage of having separate databases for each service in microservices
architecture?
a) It ensures that all services share the same data.
b) It simplifies database management and administration.
c) It eliminates the need for service contracts.
d) It allows for better data isolation and scalability for individual services.
Answer: d) It allows for better data isolation and scalability for individual services.
Q43. Which of the following is a benefit of using distributed databases in microservices architecture?
a) Simplified communication between services
b) Reduced data duplication and improved data consistency
c) Elimination of the need for service contracts
d) Use of the same technology stack for all services
Q44. What is the role of service contracts in managing databases for microservices?
a) Service contracts define the terms of service between the application and the database.
b) Service contracts specify the structure and format of data stored in the database.
c) Service contracts ensure that all services share the same database.
d) Service contracts govern the data sharing policies among microservices.
Answer: b) Service contracts specify the structure and format of data stored in the database.
Q45. Which statement best describes how microservices architecture handles data access across
services?
a) All services directly access a single centralized database.
b) Services communicate with each other to retrieve data.
c) Each service independently manages its own data and database.
d) The API gateway handles data access for all services.
Answer: c) Each service independently manages its own data and database.
Q46. What is the primary advantage of using distributed databases in microservices architecture?
a) Centralized control over all data and databases
b) Reduced data duplication and improved data consistency
c) Elimination of the need for service contracts
d) Simplified communication between services
Q47. Which of the following statements is true about managing databases in microservices architecture?
a) All services must share the same database to ensure data consistency.
b) Database management is independent of individual services in the architecture.
c) Microservices architecture does not support the use of distributed databases.
d) Services must communicate directly with each other to access data.
Q48. Which software development concept is closely related to database management in microservices
architecture?
a) Load testing
b) Object-Oriented Programming (OOP)
c) Service-Oriented Architecture (SOA)
d) Design patterns
Q49. How does microservices architecture handle data sharing between services that have separate
databases?
a) Data is automatically synchronized among all services.
b) Each service sends data updates to a centralized repository.
c) Services use service contracts to define data sharing policies.
d) Services communicate directly with each other to exchange data.
Q4. DevOps is not concerned with which of the following aspects of software development?
a) Collaboration between teams
b) Automation of tasks
c) Continuous monitoring and feedback
d) Separate development and operations processes
Q7. Which practice in DevOps focuses on ensuring that code is always in a deployable state?
a) Continuous Monitoring
b) Continuous Integration
c) Continuous Deployment
d) Continuous Feedback
Q8. What does a "Version Control System" (VCS) do in the DevOps ecosystem?
a) It automatically deploys software to production environments
b) It monitors and optimizes infrastructure performance
c) It keeps track of changes made to the source code
d) It manages containerization technologies
Q9. Which tool in the DevOps ecosystem is used for automating the build, test, and deployment
processes?
a) Jenkins
b) Docker
c) Kubernetes
d) Nagios
Answer: a) Jenkins
Q12. Which tool is commonly used in the DevOps ecosystem for container orchestration and
management?
a) Docker
b) Ansible
c) Kubernetes
d) Jenkins
Answer: c) Kubernetes
Q13. What is the primary purpose of "Continuous Delivery" in the DevOps ecosystem?
a) To ensure that software is always delivered on time
b) To automate the delivery of software to production environments
c) To manually deploy software in a controlled manner
d) To prioritize operations tasks over development tasks
Q14. In the DevOps ecosystem, what is the role of "Artifact Repository Management"?
a) To manage the physical hardware components in the infrastructure
b) To store and manage versioned software artifacts such as binaries and libraries
c) To provide access control for cloud environments
d) To automate the creation of virtual machines
Answer: b) To store and manage versioned software artifacts such as binaries and libraries
5.3. DevOps phases
Q15. What are the three key phases in the DevOps lifecycle?
a) Design, Development, Deployment
b) Planning, Testing, Production
c) Development, Testing, Release
d) Continuous Integration, Continuous Deployment, Continuous Monitoring
Q16. In which DevOps phase does the team perform code reviews and unit testing?
a) Development
b) Testing
c) Release
d) Deployment
Answer: a) Development
Q17. What is the primary focus of the "Testing" phase in the DevOps lifecycle?
a) To develop new features and functionalities
b) To monitor the production environment
c) To ensure the quality and reliability of the software
d) To manually deploy the software to production
Q18. Which phase in the DevOps lifecycle involves the actual deployment of the software to
production environments?
a) Development
b) Testing
c) Release
d) Deployment
Answer: c) Release
Q19. What is the goal of the "Release" phase in the DevOps lifecycle?
a) To manually deploy the software to production
b) To monitor the production environment
c) To automate the deployment process and ensure a successful release
d) To prioritize development tasks over operations tasks
Q20. What is the significance of the "Continuous Integration and Continuous Deployment" (CI/CD)
phase in the DevOps lifecycle?
a) It focuses on development and testing activities only
b) It ensures that code changes are continuously integrated and deployed to production
c) It involves manual deployment of the software to production
d) It
Answer: b) It ensures that code changes are continuously integrated and deployed to production
Q21. Which of the following is a key benefit of implementing "Continuous Monitoring" in the DevOps
lifecycle?
a) Faster development cycles
b) Proactive detection of issues in the production environment
c) Reduction in the number of development phases
d) Manual monitoring and reporting of application health
Answer: c) A technology that encapsulates applications and their dependencies into portable containers
Q24. Which of the following is an advantage of containerization over traditional virtual machines?
a) Containers require more system resources compared to virtual machines
b) Containers are less secure than virtual machines
c) Containers provide faster startup and lower overhead
d) Containers can run only on specific operating systems
Answer: c) Docker
Q27. How does containerization contribute to application scalability in the DevOps ecosystem?
a) It reduces the need for automated testing
b) It enables the deployment of applications on multiple physical servers
c) It increases the manual effort required for application deployment
d) It limits application deployment to a single server
Q29. What is the primary advantage of using Docker in the DevOps ecosystem?
a) It replaces the need for version control systems
b) It simplifies the management of virtual machines
c) It provides a centralized repository for storing code
d) It allows for consistent and isolated application deployments
Answer: b) Exposes ports within the Docker image to allow communication with the host machine
Q39. How can you specify the base image for a Docker image in a Dockerfile?
a) Using the "BASE" instruction
b) Using the "BASEIMAGE" instruction
c) Using the "FROM" instruction
d) Using the "STARTFROM" instruction
Answer: b) It runs a specific command during the build process of the Docker image
Q41. What is the first step in the life cycle of a Docker container?
a) Stopping the container
b) Creating the container
c) Removing the container
d) Running the container
Answer: b)
Q43. What happens when you remove a Docker container using the "docker rm" command?
a) The container is permanently deleted from the system
b) The container is stopped but not deleted
c) The container's data is preserved, but the container itself is deleted
d) The container is stopped, and its data is preserved
Q44. How can you view the logs of a running Docker container?
a) Using the "docker logs" command
b) Using the "docker start" command
c) Using the "docker stop" command
d) Using the "docker create" command
Q46. What happens when a Docker container is stopped using the "docker stop" command?
a) The container is immediately removed from the system
b) The container is paused and can be resumed later
c) The container's state is saved, and it can be restarted later
d) The container is permanently deleted
Q48. How can you remove a Docker container that is in a stopped state?
a) Using the "docker start" command
b) Using the "docker pause" command
c) Using the "docker stop" command
d) Using the "docker rm" command
Answer: a) .yml
Answer: a) Spaces
Q7. What is the purpose of the "---" at the beginning of a YAML file?
a) It specifies the file type as YAML
b) It indicates the start of a new section in the YAML file
c) It denotes a comment in the YAML file
d) It separates key-value pairs in the YAML file
Q11. How is a Docker Swarm service represented in Docker Compose YAML syntax?
a) service:
b) container:
c) swarm:
d) stack:
Answer: a) service:
Q15. Which of the following commands is used to initialize a Docker Swarm cluster?
a) docker start swarm
b) docker create swarm
c) docker swarm init
d) docker swarm create
Q20. Which of the following is a Kubernetes object that defines how containers should run?
a) Pod
b) Service
c) ReplicaSet
d) Namespace
Answer: a) Pod
Answer: a) service:
Q23. Which Kubernetes object is responsible for exposing a set of Pods to the network?
a) Pod
b) Service
c) ReplicaSet
d) Namespace
Answer: b) Service
Answer: d) They enable automatic deployment, scaling, and management of containerized applications
Q25. What is the minimum number of nodes required to create a Kubernetes cluster?
a) One
b) Two
c) Three
d) Five
Answer: c) Three
Q26. Which of the following commands is used to create a Kubernetes cluster using kubeadm?
a) kubectl create cluster
b) kubectl init
c) kubeadm init
d) kubeadm create cluster
Answer: d) The node agent that runs on each node in the cluster and manages containers
Q28. Which component is responsible for scheduling containers to run on nodes in a Kubernetes
cluster?
a) kube-proxy
b) kube-controller-manager
c) kube-scheduler
d) kubelet
Answer: c) kube-scheduler
Q30. How can you join additional nodes to an existing Kubernetes cluster created using kubeadm?
a) By using the "kubeadm join" command on each additional node
b) By using the "kubectl add node" command on the master node
c) By running the "kubeadm create node" command on each additional node
d) By running the "kubectl join" command on each additional node
Answer: c) To expose a set of Pods to the network and provide a stable endpoint
Answer: a) service:
Q33. Which type of Kubernetes Service is used to expose a set of Pods within the cluster?
a) NodePort
b) ClusterIP
c) LoadBalancer
d) ExternalName
Answer: b) ClusterIP
Q34. What type of Kubernetes Service is used to expose a set of Pods to the outside world?
a) NodePort
b) ClusterIP
c) LoadBalancer
d) ExternalName
Answer: c) LoadBalancer
Q35. How is a Kubernetes Service created and exposed using the kubectl command?
a) kubectl create service
b) kubectl expose service
c) kubectl apply service
d) kubectl add service
Answer: a) A graphical user interface (GUI) for managing and monitoring Kubernetes clusters
Answer: d) By using the "kubectl proxy" command and then accessing the Dashboard URL
Q39. What level of access does the "cluster-admin" role provide in Kubernetes?
a) Read-only access to cluster resources
b) Full control and management of all cluster resources
c) Access to specific namespaces only
d) Access to view and modify the cluster configuration
Q40. How can you deploy an application using the Kubernetes Dashboard?
a) By uploading a YAML file describing the application
b) By using the "kubectl create" command with specific flags
c) By dragging and dropping Docker images onto the Dashboard interface
d) By using the "kubectl deploy" command
Q42. What is the recommended approach to manage sensitive information, such as passwords, in
Kubernetes manifests?
a) Storing the information in plain text in the manifests
b) Using environment variables in the manifests
c) Using ConfigMaps or Secrets to store the sensitive information
d) Storing the information in a separate configuration file
Q43. How can you delete a Kubernetes Service using the kubectl command?
a) kubectl delete service [service-name]
b) kubectl remove service [service-name]
c) kubectl stop service [service-name]
d) kubectl destroy service [service-name]
Q44. What happens to the Pods associated with a Kubernetes Deployment when the Deployment is
deleted?
a) The Pods continue to run until manually stopped
b) The Pods are automatically scaled down and deleted
c) The Pods are paused and can be resumed later
d) The Pods are automatically restarted on a different node
Q45. How can you delete all resources in a specific namespace using the kubectl command?
a) kubectl delete namespace [namespace-name]
b) kubectl remove namespace [namespace-name]
c) kubectl stop namespace [namespace-name]
d) kubectl destroy namespace [namespace-name]
Q47. What is the Kubernetes object that defines a set of rules for how requests are routed to Pods?
a) Deployment
b) Service
c) ReplicaSet
d) Ingress
Answer: d) Ingress
Q48. How can you view the logs of a specific Pod in Kubernetes?
a) kubectl logs [pod-name]
b) kubectl view logs [pod-name]
c) kubectl get logs [pod-name]
d) kubectl show logs [pod-name]
Q3. What is the role of testing in the software development life cycle?
a) Testing is not part of the software development life cycle
b) Testing is performed only after deployment to production
c) Testing is done during various phases of the software development life cycle
d) Testing is only performed by quality assurance teams
Answer: c) Testing is done during various phases of the software development life cycle
Q4. Which type of testing focuses on verifying individual units or components of the software?
a) Integration testing
b) System testing
c) Unit testing
d) Acceptance testing
Q7. Which testing technique examines the code logic to identify errors and defects?
a) Black-box testing
b) White-box testing
c) Regression testing
d) Performance testing
Answer: b) White-box testing
Answer: c) To test the software after each code change to catch new defects
Q9. Which type of testing focuses on evaluating the software's performance under different conditions?
a) Security testing
b) Load testing
c) Usability testing
d) Functional testing
Q11. What is the difference between verification and validation in software testing?
a) Verification ensures the software meets the specified requirements, while validation checks if the
software works as intended.
b) Verification ensures the software works as intended, while validation checks if the software meets
the specified requirements.
c) Verification and validation are the same concepts in software testing.
d) Verification is the process of debugging, while validation is the process of code review.
Answer: a) Verification ensures the software meets the specified requirements, while validation checks
if the software works as intended.
Q13. Which type of testing focuses on assessing whether the software meets the user's expectations and
needs?
a) Integration testing
b) User acceptance testing
c) System testing
d) Regression testing
Q14. During which phase of the software development life cycle is validation typically performed?
a) Requirements gathering and analysis
b) Design and architecture
c) Coding and implementation
d) Testing and quality assurance
Answer: c) To test the software after each code change to catch new defects
Q16. Which testing technique examines the code logic to identify errors and defects?
a) Black-box testing
b) White-box testing
c) Regression testing
d) Performance testing
Q18. Which testing technique focuses on evaluating the software's behavior under various loads and
conditions?
a) Stress testing
b) Acceptance testing
c) Performance testing
d) Usability testing
Q19. Which type of testing examines how well the software recovers from crashes or failures?
a) Recovery testing
b) Load testing
c) Security testing
d) Regression testing
Q21. Which term is defined as the systematic process of ensuring that a product meets specified
requirements?
a) Quality assurance
b) Quality control
c) Testing
d) Verification
Q22. What is the primary difference between quality assurance and quality control?
a) Quality assurance focuses on preventing defects, while quality control focuses on identifying defects.
b) Quality assurance is performed before testing, while quality control is performed after testing.
c) Quality assurance is the responsibility of developers, while quality control is the responsibility of
testers.
d) Quality assurance is a manual process, while quality control is an automated process.
Answer: a) Quality assurance focuses on preventing defects, while quality control focuses on
identifying defects.
Q26. Which principle of software testing suggests that testing should be carried out using a systematic
and planned approach?
a) Exhaustive testing
b) Early testing
c) Defect clustering
d) Planned testing
Q27. Which testing principle suggests that testing should start as early as possible in the software
development life cycle?
a) Early testing
b) Defect clustering
c) Pesticide paradox
d) Exhaustive testing
Q28. What does the principle of "defect clustering" imply in software testing?
a) Most defects are clustered in a few modules or components.
b) Defect clustering occurs only in legacy software systems.
c) Defect clustering is the same as the "pesticide paradox."
d) All defects have equal importance and impact on the software.
Q29. Which type of testing involves executing the software without performing actual data processing?
a) Unit testing
b) Load testing
c) Stub testing
d) Regression testing
Apologies for the oversight. Let's provide 10 MCQs with answers for each topic 7.4 and 7.5:
Q31. Which principle of software testing states that exhaustive testing is impossible?
a) Defect clustering
b) Early testing
c) Pesticide paradox
d) Exhaustive testing
Answer: c) The effectiveness of test cases declines over time if not changed.
Q33. Which principle of software testing suggests that testing should begin as soon as possible in the
software development process?
a) Pesticide paradox
b) Early testing
c) Defect clustering
d) Planned testing
Q34. Which testing principle advocates for reviewing and updating test cases regularly?
a) Defect clustering
b) Pesticide paradox
c) Early testing
d) Exhaustive testing
Q36. Which principle of software testing suggests that testing should be planned and executed based on
risk assessment?
a) Defect clustering
b) Planned testing
c) Pesticide paradox
d) Early testing
Answer: a) To prioritize testing efforts based on potential impact and likelihood of failure
Q38. Which type of testing focuses on the software's ability to recover from crashes or failures?
a) Recovery testing
b) Security testing
c) Performance testing
d) Load testing
Q40. Which type of testing evaluates how well the software performs under varying loads and
conditions?
a) Stress testing
b) Acceptance testing
c) Performance testing
d) Usability testing
Q44. Which type of testing evaluates how well the software performs under varying loads and
conditions?
a) Stress testing
b) Acceptance testing
c) Performance testing
d) Usability testing
Q46. Which type of testing involves executing the software with real user data and real-world scenarios?
a) System testing
b) User acceptance testing
c) Integration testing
d) Regression testing
Answer: c) To ensure that new changes do not adversely affect existing functionality
8. Lecture: Software Testing Methods and Selenium Introduction
Q1. What does STLC stand for in the context of software testing?
a) Software Technical Life Cycle
b) System Testing and Lifecycle Control
c) Software Testing Life Cycle
d) System Technical Lifecycle Coordination
Q2. The Software Testing Life Cycle (STLC) defines the various phases and activities involved in:
a) Software development
b) Software design and architecture
c) Software testing process
d) Software documentation
Q7. Which phase of the V Model involves designing test cases based on the requirements?
a) Validation phase
b) Verification phase
c) Implementation phase
d) Testing phase
Q10. Which of the following is an advantage of manual testing over automated testing?
a) Faster and more reliable results
b) Greater test coverage and accuracy
c) Reduced human intervention and errors
d) Flexibility in exploring ad-hoc test scenarios
Q12. Which type of testing is suitable for testing the user interface and user experience of a web
application?
a) Manual testing
b) Automated testing
c) Performance testing
d) Load testing
Answer: d) It ensures that new code changes do not adversely affect existing functionality.
8.3. Tools used for automation testing
Q15. Which of the following is a popular open-source test automation tool for web applications?
a) Selenium
b) JUnit
c) TestNG
d) Cucumber
Answer: a) Selenium
Q18. Which type of test automation framework allows testers to write test scripts in a programming
language?
a) Data-driven framework
b) Keyword-driven framework
c) Hybrid framework
d) Modular framework
Q21. Which testing method focuses on testing the internal structure and code of the software?
a) Black-box testing
b) White-box testing
c) Grey-box testing
d) Regression testing
Answer: b) White-box testing
Q23. Grey-box testing combines elements of both white-box and black-box testing. It involves:
a) Accessing and examining the source code
b) Testing the software without any knowledge of its internal structure
c) Collaborating with developers to design test cases
d) Only executing test cases from the existing test suite
Answer: c) Requires less effort and time compared to other testing methods
Q25. Which testing method is best suited for testing end-user functionality and user scenarios?
a) White-box testing
b) Grey-box testing
c) Black-box testing
d) Unit testing
Q30. Which type of functional testing involves testing the end-to-end functionality of the entire
software product?
a) Unit testing
b) Integration testing
c) System testing
d) User acceptance testing
Answer: b) The performance and behavior of the software under different conditions
Answer: c) Ensuring the software meets performance, security, and usability requirements
Answer: b) Testing the software's response time under heavy user load
Q2. In Selenium, which programming languages can be used to write test scripts?
a) Java, Python, and C#
b) JavaScript and PHP
c) Ruby and Swift
d) HTML and CSS
Q3. Which Selenium component allows executing test scripts on different web browsers?
a) Selenium WebDriver
b) Selenium Grid
c) Selenium IDE
d) Selenium RC
Q4. Which Eclipse IDE perspective is commonly used for Selenium test script development?
a) Java
b) Web
c) TestNG
d) Debug
Answer: a) Java
Q6. Which command is used to maximize the browser window using Selenium WebDriver?
a) driver.open()
b) driver.resize()
c) driver.maximize()
d) driver.setWindow()
Answer: c) driver.maximize()
Answer: a) WebElement
Answer: d) WebDriverWait
Q10. Which command is used to navigate to a specific URL using Selenium WebDriver?
a) driver.navigate()
b) driver.goTo()
c) driver.openURL()
d) driver.get()
Answer: d) driver.get()
Q11. In Selenium, which component is responsible for interacting with the web browser?
a) Selenium WebDriver
b) Selenium Grid
c) Selenium IDE
d) Selenium RC
Q12. To use Selenium WebDriver, you need to download and set up:
a) Eclipse IDE only
b) A web browser driver executable and a programming language SDK
c) Selenium IDE and a web browser driver executable
d) Selenium Grid and Eclipse IDE
Q13. Which of the following web browsers is NOT officially supported by Selenium WebDriver?
a) Google Chrome
b) Mozilla Firefox
c) Microsoft Edge
d) Internet Explorer
Answer: a) driver.forward()
Answer: a) BrowserDriver
Q17. To handle alerts and pop-up dialogs in Selenium WebDriver, you use:
a) driver.handleAlert()
b) driver.switchToAlert()
c) driver.acceptAlert()
d) driver.dismissAlert()
Answer: b) driver.switchToAlert()
Q18. Which command is used to refresh the current web page using Selenium WebDriver?
a) driver.refresh()
b) driver.reload()
c) driver.navigate().refresh()
d) driver.refreshPage()
Answer: c) driver.navigate().refresh()
Q19. To get the current URL of the web page being tested in Selenium WebDriver, you use:
a) driver.getCurrentURL()
b) driver.getCurrentPage()
c) driver.getCurrentLink()
d) driver.getCurrentAddress()
Answer: a) driver.getCurrentURL()
Q20. Which of the following is true about implicit waits in Selenium WebDriver?
a) Implicit waits introduce a delay in test execution for each test step.
b) Implicit waits are recommended for handling asynchronous events.
c) Implicit waits wait for a specific web element to be available on the page.
d) Implicit waits require explicit code implementation for each wait.
Answer: c) Implicit waits wait for a specific web element to be available on the page.
9.3. Create Selenium commands: locators - by ID, name, class, tag name, XPath
Q21. In Selenium WebDriver, which locator strategy is used to find an element by its unique ID
attribute?
a) ByTagName
b) ByClassName
c) ByID
d) ByXPath
Answer: c) ByID
Q23. Which of the following is true about XPath locators in Selenium WebDriver?
a) XPath locators are faster and more efficient than other locator strategies.
b) XPath locators are not recommended for finding elements based on their attributes.
c) XPath locators are useful for finding elements with complex and dynamic structures.
d) XPath locators can only locate elements based on their text content.
Answer: c) XPath locators are useful for finding elements with complex and dynamic structures.
Q25. Which locator strategy is used to find elements based on their HTML tag names in Selenium
WebDriver?
a) ByID
b) ByClassName
c) ByTagName
d) ByLinkText
Answer: c) ByTagName
Q26. To find multiple elements that match a given locator, you use:
a) findElement(By...)
b) findElements(By...)
c) getElements(By...)
d) getElementsByLocator(By...)
Answer: b) findElements(By...)
Answer: b) ByPartialLinkText
9.4. Add interactions: text box, radio button selection, check box selection, drop-down item selection,
keyboard actions, mouse actions, multi-select
Q31. To enter text into a text box using Selenium WebDriver, you use the method:
a) setText()
b) sendKeys()
c) typeText()
d) enterText()
Answer: b) sendKeys()
Answer: c) Select an option from a drop-down menu based on its visible text
Q34. To perform a mouse hover action on an element using Selenium WebDriver, you use:
a) hoverOverElement()
b) mouseHover()
c) moveToElement()
d) hover()
Answer: c) moveToElement()
Q37. To perform a right-click action on an element using Selenium WebDriver, you use:
a) rightClick()
b) contextClick()
c) clickAndHold()
d) doubleClick()
Answer: b) contextClick()
Q38. The "isSelected()" method in Selenium WebDriver is used to check if a radio button or checkbox
is:
a) Visible to the user on the web page
b) Selected (checked) in the DOM
c) Enabled and can receive user input
d) Present in the DOM
Answer: b) A sequence of automated stages that software code goes through before deployment
Q3. Which of the following is NOT a typical stage in the delivery pipeline?
a) Code compilation and build
b) Code review and approval
c) Automated testing
d) Manual deployment to production
Q5. How does the delivery pipeline benefit software development teams?
a) It increases the number of manual tasks in the software delivery process
b) It allows developers to skip the testing phase
c) It provides quick and continuous feedback on code changes
d) It reduces the need for version control and code repositories
Q6. Which of the following is true regarding the delivery pipeline's automation?
a) Manual interventions are frequent, leading to slower delivery.
b) Automated testing is omitted to save time and resources.
c) It reduces the reliability and consistency of the software delivery process.
d) It enables faster and more reliable software delivery.
Answer: b) Jenkins
Q10. What is the primary purpose of using Jenkins in the software development process?
a) To manually deploy software to production servers
b) To automate the testing and delivery of software code
c) To track and manage software requirements and user stories
d) To generate user manuals and documentation
Q12. What are Jenkins "jobs" used for in the CI/CD process?
a) To manually approve code changes before deployment
b) To automate the process of delivering software to end-users
c) To create user manuals and documentation for the software product
d) To define the steps and actions in the software delivery pipeline
Answer: d) To define the steps and actions in the software delivery pipeline
Q14. Which of the following is true regarding Jenkins integration with version control systems?
a) Jenkins does not integrate with any version control systems.
b) Jenkins can only integrate with GitHub.
c) Jenkins can integrate with various version control systems like Git, Subversion, and Mercurial.
d) Jenkins integration with version control systems requires manual code reviews.
Answer: c) Jenkins can integrate with various version control systems like Git, Subversion, and
Mercurial.
Q15. Jenkins allows users to schedule and automate jobs based on:
a) Weather conditions
b) Time of day
c) User experience ratings
d) Code changes and triggers
Answer: c) The end result of the CI/CD process, such as compiled binaries and build files
Q20. How can Jenkins artifacts be used in the software development process?
a) To replace the need for version control systems
b) To manually deploy software to production servers
c) To automatically trigger new builds based on code changes
d) To create user manuals and documentation for the software product
Answer: c) To offload build and testing tasks from the Jenkins master
Q26. How does adding slave nodes benefit the Jenkins server?
a) It reduces the number of artifacts generated in the delivery pipeline.
b) It allows for manual deployments and testing of software products.
c) It increases the workload on the Jenkins master server.
d) It enables Jenkins to handle more build and test jobs concurrently.
Answer: d) It enables Jenkins to handle more build and test jobs concurrently.
Q27. What is the typical setup for Jenkins master and slave nodes?
a) Both the master and slave nodes run on separate hardware components.
b) Both the master and slave nodes run on the same physical server.
c) The master node runs on physical hardware, and slave nodes run on virtual machines.
d) The master node runs on virtual machines, and slave nodes run on separate physical servers.
Answer: a) Both the master and slave nodes run on separate hardware components.
Q28. How are build and test jobs distributed among Jenkins master and slave nodes?
a) Only the Jenkins master can execute build and test jobs.
b) Jobs are randomly assigned to either the master or the slave nodes.
c) Jobs are distributed based on the type of hardware components used.
d) Jobs can be manually assigned to specific nodes by the Jenkins administrator.
Answer: d) Jobs can be manually assigned to specific nodes by the Jenkins administrator.
Answer: c) A sequence of automated stages that software code goes through before deployment
Q31. What is the significance of the "build" stage in the delivery pipeline?
a) It is the final stage where software is deployed to production servers.
b) It is the first stage where hardware components are assembled.
c) It involves compiling and packaging the software code into an executable form.
d) It is the only stage that requires manual intervention and approval.
Answer: c) It involves compiling and packaging the software code into an executable form.
Q32. What typically happens in the "testing" stage of the delivery pipeline?
a) Hardware components are tested for compatibility with the software.
b) Software code is manually reviewed for defects and bugs.
c) Automated tests are run to verify the functionality and quality of the software.
d) The software is manually deployed to production servers.
Answer: c) Automated tests are run to verify the functionality and quality of the software.
Q34. What is the purpose of the "deployment" stage in the delivery pipeline?
a) To test hardware components used in the software development process
b) To manually deploy software to production servers
c) To compile and package the software code into an executable form
d) To automate the process of delivering software to end-users
Q35. How does the delivery pipeline promote collaboration in software development teams?
a) By eliminating the need for automated testing
b) By automating the process of delivering software to end-users
c) By providing a manual process for delivering software to end-users
d) By providing quick and continuous feedback on code changes
Q36. How does Selenium integrate with Jenkins in the CI/CD process?
a) Selenium replaces Jenkins in the software delivery pipeline.
b) Selenium is used for version control and code collaboration.
c) Jenkins triggers Selenium test suites for automated testing.
d) Jenkins manages hardware components used in the Selenium framework.
Answer: c) Selenium automates the testing of web applications in the delivery pipeline.
Answer: b) Automated tests developed using Selenium for web application testing
Answer: c) It automates the testing of web applications, providing quick feedback on code changes.
Q41. What happens if a Selenium test fails during the CI/CD process?
a) The failed build is automatically deployed to production.
b) The failed build is discarded, and the pipeline proceeds to the next stage.
c) The pipeline comes to a halt, and manual intervention is required.
d) The pipeline automatically restarts from the beginning.
Q42. How can the integration of Selenium with Jenkins improve software development efficiency?
a) By increasing the number of manual tasks in the delivery pipeline
b) By providing a manual process for delivering software to end-users
c) By automating the testing of web applications, reducing manual efforts
d) By eliminating the need for version control systems and automated testing
Answer: b) A virtualized environment that allows users to access resources over the internet
Answer: b) On-demand self-service, broad network access, resource pooling, rapid elasticity, and
measured service
Answer: c) It allows users to access resources from anywhere with internet connectivity.
Answer: b) A technique that allows multiple virtual machines to run on a single physical machine
Answer: c) By dynamically allocating and sharing hardware resources among virtual machines
Answer: a) Type 1 hypervisors run on a host operating system, while Type 2 hypervisors run on bare
metal.
Answer: b) A virtualization software that runs on bare metal without the need for a separate OS
11.4. Cloud Computing, Cloud SPI Model, Cloud Computing Types (Public, Private, and Hybrid),
Cloud Security (SLA and IAM)
Q14. What is Cloud Computing?
a) A physical data center with advanced hardware components
b) A virtualized environment that allows users to access resources over the internet
c) A type of software used for gaming and multimedia applications
d) A term used for storing data on local servers
Answer: b) A virtualized environment that allows users to access resources over the internet
Answer: b) A cloud environment shared among multiple organizations and available to the public
Answer: a) A cloud environment owned and operated by a single organization for internal use
Q20. What is the significance of Service Level Agreements (SLAs) in cloud computing?
a) SLAs define the terms and conditions of using cloud services, including pricing and payment details.
b) SLAs are security measures implemented by cloud service providers to protect user data.
c) SLAs specify the hardware components used in cloud data centers.
d) SLAs ensure that cloud service providers allocate sufficient bandwidth to users.
Answer: a) SLAs define the terms and conditions of using cloud services, including pricing and
payment details.
Q21. What is Identity and Access Management (IAM) in the context of cloud security?
a) IAM refers to the physical security measures implemented in cloud data centers.
b) IAM is a framework for classifying different types of cloud services.
c) IAM is a security model that controls and manages user access to cloud resources.
d) IAM is a type of hardware used for virtualizing servers.
Answer: c) IAM is a security model that controls and manages user access to cloud resources.
Answer: c) IAM controls and manages user access to cloud resources, enhancing security.
Answer: b) A technique that allows multiple virtual machines to run on a single physical machine
Answer: b) A virtualization technique that allows multiple virtual machines to share the same hardware
Answer: c) By dynamically allocating and sharing hardware resources among virtual machines
Answer: a) A type of virtualization where virtual machines have direct access to the underlying
hardware components
Answer: c) A feature that allows for duplicating virtual machines for rapid deployment
Answer: d) It preserves the current state of a virtual machine, enabling easy rollback to that state.
Answer: b) A virtual machine image that can be used as a blueprint for creating new virtual machines
Q32. What is the primary difference between Containerization and Hardware Virtualization?
a) Containerization allows multiple virtual machines to share the same hardware, while Hardware
Virtualization isolates them.
b) Containerization requires manual provisioning of hardware resources, while Hardware Virtualization
dynamically allocates them.
c) Containerization virtualizes the operating system, while Hardware Virtualization virtualizes the
hardware.
d) Containerization and Hardware Virtualization are two terms for the same virtualization technique.
Answer: c) Containerization virtualizes the operating system, while Hardware Virtualization virtualizes
the hardware.
Answer: d) Containers are lightweight and share the host OS kernel, while virtual machines have their
own OS.
Q35. How does Operating System Virtualization differ from Hardware Virtualization?
a) Operating System Virtualization allows multiple virtual machines to share the same hardware, while
Hardware Virtualization isolates them.
b) Operating System Virtualization virtualizes the operating system, while Hardware Virtualization
virtualizes the hardware.
c) Operating System Virtualization requires manual provisioning of hardware resources, while
Hardware Virtualization dynamically allocates them.
d) Operating System Virtualization and Hardware Virtualization are two terms for the same
virtualization technique.
Answer: b) Operating System Virtualization virtualizes the operating system, while Hardware
Virtualization virtualizes the hardware.
12. Lecture: Cloud Architecture and AWS Introduction
Answer: c) It enables access to cloud-based applications over the internet from various devices.
Q5. Which component of cloud architecture ensures data redundancy and high availability?
a) Load balancer
b) Database server
c) Application server
d) Virtual machine
Answer: c) By replicating data and applications across multiple locations for redundancy
Answer: c) It allows users to run and manage virtual machines and networks.
Q12. Which of the following services falls under the category of PaaS?
a) Virtual machines and networks
b) Operating systems and databases
c) Development platforms and tools
d) Software applications and productivity tools
Q15. Which service model involves the most management responsibility for the cloud provider?
a) IaaS
b) PaaS
c) SaaS
d) All service models have equal management responsibility.
Answer: c) SaaS
Answer: a) A cloud environment shared among multiple organizations and available to the public
Answer: d) Flexibility to choose the optimal cloud environment for specific tasks
12.4. Services provided by Cloud (Compute, Database, Developer Tools, Storage, Media, Mobile, Web,
Security, Integration, etc.)
Q28. Which cloud service provides virtualized computing resources over the internet?
a) Database as a Service (DBaaS)
b) Compute as a Service (CaaS)
c) Media as a Service (MaaS)
d) Storage as a Service (SaaS)
Q30. Which cloud service provides on-demand access to development tools and platforms?
a) Database as a Service (DBaaS)
b) Compute as a Service (CaaS)
c) Developer Tools as a Service (DTaaS)
d) Software as a Service (SaaS)
Q32. Which cloud service provides a platform for hosting web applications and services?
a) Web as a Service (WaaS)
b) Security as a Service (SECaaS)
c) Software as a Service (SaaS)
d) Platform as a Service (PaaS)
Q34. Which cloud service provides security solutions and services over the internet?
a) Security as a Service (SECaaS)
b) Mobile as a Service (MaaS)
c) Platform as a Service (PaaS)
d) Media as a Service (MaaS)
Q36. Which cloud service provides managed services for audio and video content?
a) Web as a Service (WaaS)
b) Security as a Service (SECaaS)
c) Media as a Service (MaaS)
d) Database as a Service (DBaaS)
Q37. What are the key benefits of following cloud development best practices?
a) Reduced cloud service costs and increased complexity
b) Increased cloud service costs and reduced complexity
c) Improved cloud service performance, reliability, and security
d) Decreased cloud service performance, reliability, and security
Answer: c) Containers provide an isolated and portable environment for cloud applications.
Q41. What is the role of continuous integration and continuous deployment (CI/CD) in cloud
development?
a) CI/CD reduces the need for automated testing in cloud development.
b) CI/CD automates the process of cloud resource provisioning.
c) CI/CD allows for manual code deployment in the cloud.
d) CI/CD streamlines the development, testing, and deployment of cloud applications.
Answer: d) CI/CD streamlines the development, testing, and deployment of cloud applications.
Answer: b) Cloud development provides a centralized platform for sharing code and resources.
Answer: b) Cloud development involves sharing sensitive data with the public.
Answer: d) To enhance the security of cloud resources by requiring multiple forms of verification
Answer: c) It provides a secure and scalable storage solution for data and files.
Q54. How does AWS IAM (Identity and Access Management) enhance security?
a) By providing automated backup and recovery options
b) By automating the process of cloud resource provisioning
c) By requiring multiple forms of verification through multi-factor authentication
d) By eliminating the need for disaster recovery planning
Q58. How does AWS Lambda differ from traditional server-based computing?
a) AWS Lambda requires manual provisioning and management of servers.
b) AWS Lambda automatically scales based on demand without the need for server management.
c) AWS Lambda is not suitable for running web applications.
d) AWS Lambda requires physical servers for its operation.
Answer: b) AWS Lambda automatically scales based on demand without the need for server
management.
Q59. What is the main advantage of using AWS S3 (Simple Storage Service)?
a) It provides virtualized computing resources over the internet.
b) It offers a platform for hosting web applications and services.
c) It provides a secure and scalable storage solution for data and files.
d) It automates the process of cloud resource provisioning.
Answer: c) It provides a secure and scalable storage solution for data and files.
Q60. Which AWS service is best suited for running containerized applications?
a) AWS EC2 (Elastic Compute Cloud)
b) AWS Lambda
c) AWS S3 (Simple Storage Service)
d) AWS ECS (Elastic Container Service)
Q62. What is the primary benefit of using AWS S3 (Simple Storage Service)?
a) Automated scaling of virtual machines based on demand
b) Cost-effective storage for large amounts of data
c) Running serverless applications without managing servers
d) Providing multi-factor authentication for enhanced security
Q63. Which AWS service allows you to run code without provisioning or managing servers?
a) AWS EC2 (Elastic Compute Cloud)
b) AWS Lambda
c) AWS S3 (Simple Storage Service)
d) AWS RDS (Relational Database Service)