Which of the following is NOT a benefit of using Infrastructure as Code?

  • Enhanced Collaboration
  • Improved Version Control
  • Increased Scalability
  • Manual Configuration
Manual Configuration is not a benefit of using Infrastructure as Code. IaC aims to automate and streamline the process, reducing manual intervention and potential errors associated with manual configurations.

What are the differences between the Observer and Publisher-Subscriber design patterns?

  • Both patterns follow the same implementation structure
  • Observer pattern involves a subject and multiple observers, while Publisher-Subscriber involves multiple publishers and multiple subscribers
  • Observer pattern is used in event handling, while Publisher-Subscriber is used in UI components
  • Terms are used interchangeably
The key difference lies in the relationship structure. The Observer pattern involves a one-to-many relationship, while Publisher-Subscriber involves a many-to-many relationship between publishers and subscribers.

Your company is migrating its infrastructure to the cloud. How would you design a robust monitoring and logging strategy to support this transition and ensure visibility into the new environment?

  • Continue using on-premise tools for consistency
  • Disable monitoring during migration for performance reasons
  • Implement cloud-native monitoring and logging solutions
  • Rely on the cloud provider's default monitoring services
When migrating to the cloud, it's essential to implement cloud-native monitoring and logging solutions. These tools are optimized for cloud environments, providing better visibility, scalability, and integration capabilities. Continuing to use on-premise tools may not adapt well to the dynamic cloud environment. Relying solely on the cloud provider's default monitoring services may lack customization. Disabling monitoring during migration poses a risk of missing crucial insights into performance and issues.

The command "git bisect" is used for _______ debugging in Git.

  • Binary
  • Binary Search
  • Bisect
  • Incremental
The command "git bisect" is used for incremental debugging in Git. It helps locate the commit that introduced a bug by performing a binary search through the commit history. Developers mark good and bad commits, and Git efficiently narrows down the problematic commit.

_______ is a phenomenon where two or more transactions are waiting indefinitely for resources held by each other, resulting in none of them being able to proceed.

  • Concurrency
  • Deadlock
  • Starvation
  • Thrashing
Deadlock is a phenomenon in which two or more transactions are waiting indefinitely for resources held by each other, leading to a state where none of the transactions can proceed. It is a critical issue in concurrent systems and requires careful handling to avoid system gridlock.

Infrastructure as Code helps in achieving _______ infrastructure deployment.

  • Elastic
  • Incremental
  • Manual
  • Rapid
Infrastructure as Code helps in achieving rapid infrastructure deployment. By defining and managing infrastructure through code, deployment becomes faster, more consistent, and scalable.

A company wants to deploy a web application with high availability. Which cloud platform service would you suggest, and how does it ensure high availability?

  • AWS Elastic Beanstalk
  • Azure App Service
  • Google App Engine
  • IBM Cloud Foundry
Azure App Service is recommended for deploying a web application with high availability. It offers automatic load balancing, geographic distribution, and scaling capabilities to ensure high availability and performance.

In which phase of the SDLC are software requirements documented?

  • Design
  • Implementation
  • Requirements Definition
  • Testing
Software requirements are documented in the Requirements Definition phase of the SDLC. This phase involves specifying what the software should do and defining the features and functionalities it needs to have.

What does the term "zero-day vulnerability" refer to in the context of cybersecurity?

  • A flaw that exists for zero days before being patched
  • A security flaw that is exploited before the software vendor releases a fix
  • A vulnerability that doesn't require any action to mitigate
  • A vulnerability with zero impact on security
In cybersecurity, a "zero-day vulnerability" refers to a security flaw that is exploited before the software vendor releases a fix. It implies that attackers are already exploiting the vulnerability, and there are zero days of protection for users.

_______ involves making changes or enhancements to existing software to meet evolving user needs or address issues.

  • Debugging
  • Deployment
  • Maintenance
  • Refactoring
The correct answer is Maintenance. Maintenance in software development refers to the process of modifying and updating existing software to meet changing requirements, fix bugs, and enhance functionality. It is a crucial phase in the software development lifecycle.