Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- 1. **What do you know about DevOps?**
- - Combines software development (Dev) with IT operations (Ops).
- - Aims to improve efficiency and quality of software development, delivery, and deployment.
- - Emphasizes collaboration, automation, continuous integration, delivery, and deployment.
- 2. **How is DevOps different from agile methodology?**
- - Agile focuses on iterative development with customer feedback.
- - DevOps focuses on collaboration between development and operations teams, emphasizing automation and continuous delivery.
- 3. **Which are some of the most popular DevOps tools?**
- - Selenium, Puppet, Chef, Git, Jenkins, Ansible, Docker.
- 4. **What are the different phases in DevOps?**
- - Plan, code, build, test, integrate, deploy, operate, monitor.
- 5. **Mention some of the core benefits of DevOps.**
- - Continuous software delivery, less complex problems to manage, early defect detection, faster delivery of features, improved collaboration.
- 6. **How will you approach a project that needs to implement DevOps?**
- - Assess existing processes, create proof of concept, implement DevOps step by step.
- 7. **What is the difference between continuous delivery and continuous deployment?**
- - Continuous delivery ensures code can be safely deployed but requires human approval.
- - Continuous deployment deploys every change automatically without human intervention.
- 8. **What is the role of configuration management in DevOps?**
- - Manages and changes multiple systems, standardizes configurations, aids in infrastructure management.
- 9. **How does continuous monitoring help maintain the entire architecture of the system?**
- - Detects, identifies, and reports faults or threats in the infrastructure, ensures proper functioning of services and applications.
- 10. **What is the role of AWS in DevOps?**
- - Provides flexible, scalable, and automated services for DevOps practices.
- 11. **Name three important DevOps KPIs.**
- - Meantime to failure recovery, deployment frequency, percentage of failed deployments.
- 12. **Explain the term "Infrastructure as Code" (IaC) as it relates to configuration management.**
- - Writing code to manage configuration, provisioning, and deployment.
- - Ensures consistent provisioning and management of infrastructure components.
- 13. **How is IaC implemented using AWS?**
- - Developers write infrastructure entities using formats like JSON or YAML.
- - AWS services allow for automated provisioning and management of infrastructure.
- 14. **Why Has DevOps Gained Prominence over the Last Few Years?**
- - Adoption by major organizations like Netflix and Facebook.
- - Accelerates application deployment, improves quality, and reduces costs.
- 15. **What are the fundamental differences between DevOps & Agile?**
- - Agile focuses on iterative development and customer feedback.
- - DevOps emphasizes collaboration, automation, and continuous delivery.
- 16. **What are the anti-patterns of DevOps?**
- - Blaming the team for inability to implement DevOps.
- - Assigning production management solely to developers.
- - Assuming DevOps is a universal solution for all organizational problems.
- 17. **What are the benefits of using version control?**
- - Facilitates collaboration and tracking of changes.
- - Provides version history and rollback capabilities.
- - Supports parallel development and ensures consistency.
- 18. **Describe the branching strategies you have used.**
- - Release branching for stable releases.
- - Feature branching for isolated feature development.
- - Task branching for individual task implementation.
- 19. **Can you explain the "Shift left to reduce failure" concept in DevOps?**
- - Shifts focus on security and quality to earlier stages of development.
- - Helps detect and fix issues early in the development lifecycle.
- 20. **What is the Blue/Green Deployment Pattern?**
- - A method for deploying updates with minimal downtime.
- - Involves swapping between two identical production environments.
- 21. **What is Continuous Testing?**
- - Running automated tests as part of the software delivery pipeline.
- - Provides instant feedback on business risks in the latest release.
- 22. **What is Automation Testing?**
- - Automating manual testing procedures using testing tools.
- - Reduces manual effort, improves accuracy, and enables repeated test execution.
- 23. **What are the benefits of Automation Testing?**
- - Saves time and money, enables unattended execution.
- - Supports parallel execution and reduces human errors.
- 24. **How to automate Testing in the DevOps lifecycle?**
- - Integrate testing into the CI/CD pipeline using automated testing tools.
- - Execute tests automatically on each code change.
- 25. **Why is Continuous Testing important for DevOps?**
- - Detects issues early in the development cycle.
- - Enables high-quality and frequent releases.
- 26. **What are the key elements of Continuous Testing tools?**
- - Test optimization, advanced analysis, policy analysis, risk assessment, service virtualization, requirements traceability.
- 27. **Explain the difference between a centralized and distributed version control system (VCS).**
- - Centralized VCS stores files on a central server.
- - Distributed VCS gives each developer a copy of the entire repository.
- 28. **What is the git command that downloads any repository from GitHub to your computer?**
- - `git clone <repository URL>`
- 29. **How do you push a file from your local system to the GitHub repository using Git?**
- - `git push origin master`
- 30. **How is a bare repository different from the standard way of initializing a Git repository?**
- - Bare repository does not contain a working directory.
- - It stores Git revision history in the root folder.
- 31. **Which of the following CLI commands can be used to rename files?**
- - `git mv`
- 32. **What is the process for reverting a commit that has already been pushed and made public?**
- - Use `git revert <commit id>` to create a new commit that undoes changes.
- 33. **Explain the difference between git fetch and git pull.**
- - `git fetch` downloads new data from a remote repository.
- - `git pull` updates the current branch with new changes from the remote server.
- 34. **What is Git stash?**
- - Saves modified files on a stack of unfinished changes.
- - Allows developers to switch to another task without committing changes.
- 35. **Explain the concept of branching in Git.**
- - Allows developers to work on new features or fixes without affecting the main branch.
- - Changes made in a branch can be merged back into the main branch when ready.
- 36. **What is the difference between Git Merge and Git Rebase?**
- - `Git merge` creates extra merge commits when integrating changes.
- - `Git rebase` incorporates changes by rewriting project history.
- 37. **How do you find a list of files that have been changed in a particular commit?**
- - Use `git diff-tree –r <commit hash>` to list changed files in a commit.
- 38. **What is a merge conflict in Git, and how can it be resolved?**
- - Occurs when merging branches with competing commits.
- - Resolved by manually editing conflicted files.
- - Can also be resolved using GitHub conflict editor or command line.
- 39. **What is Git bisect? How can you use it to determine the source of a regression bug?**
- - Tool using binary search to locate bug-introducing commit.
- - Mark "bad" commit where the bug occurs, "good" commit before bug.
- - Git bisect tool iterates through commits to find bug-introducing commit.
- 40. **Explain some basic Git commands.**
- - `git init`: Start a new repository.
- - `git config`: Set username and email for commits.
- - `git clone <repository path>`: Create local copy of existing repository.
- - `git add`: Add file(s) to staging area.
- - `git commit`: Create snapshot of staged file(s).
- - `git diff`: Show differences between branches or staged files.
- - `git status`: List files to be committed.
- - `git rm <file name(s)>`: Delete file(s) and stage changes.
- - `git show <commit>`: Show content changes and metadata of commit.
- - `git branch`: Create, delete, or list branches.
- 41. **Explain the master-slave architecture of Jenkins.**
- - Jenkins master pulls code from remote repository.
- - Distributes workload to Jenkins slaves.
- - Slaves execute builds, tests, and produce reports on request from master.
- 42. **What is Jenkinsfile?**
- - Definition of Jenkins pipeline checked into source control.
- - Text file enabling code review, audit trail, and single source of truth for pipeline.
- 43. **Which of the following commands runs Jenkins from the command line?**
- - A) `java –jar Jenkins.war`
- 44. **What concepts are key aspects of the Jenkins pipeline?**
- - Pipeline, Node, Step, Stage.
- 45. **Which file is used to define dependency in Maven?**
- - B) `pom.xml`
- 46. **Explain the two types of pipelines in Jenkins, along with their syntax.**
- - Scripted Pipeline: Groovy script-based, uses node blocks.
- - Declarative Pipeline: Simple syntax, defines pipeline block.
- 47. **How do you create a backup and copy files in Jenkins?**
- - Backup JENKINS_HOME directory periodically.
- 48. **How can you copy Jenkins from one server to another?**
- - Copy corresponding job directory.
- - Clone job directory with different name.
- - Rename existing job directory.
- 49. **Name three security mechanisms Jenkins uses to authenticate users.**
- - Internal database.
- - Lightweight Directory Access Protocol (LDAP) server.
- - Authentication mechanism of deployed application server.
- 50. **How is a custom build of a core plugin deployed?**
- - Copy .hpi file to $JENKINS_HOME/plugins.
- - Remove plugin's development directory.
- - Create empty file `<plugin>.hpi.pinned`.
- - Restart Jenkins and use custom build.
- 51. **How can you temporarily turn off Jenkins security if the administrative users have locked themselves out of the admin console?**
- - Set `<useSecurity>` to false in Config file.
- 52. **What are the ways in which a build can be scheduled/run in Jenkins?**
- - Source code management commits.
- - After completion of other builds.
- - Scheduled time.
- - Manual build requests.
- 53. **What are the commands that you can use to restart Jenkins manually?**
- - `Jenkins_url/restart` or `Jenkins_url/safeRestart`.
- 54. **Explain how you can set up a Jenkins job?**
- - New Job > Build a free-style software project.
- - Configure triggers, steps, SCM, etc.
- Here are the concise bullet-point answers for the remaining questions:
- 55. **What are the different Selenium components?**
- - Selenium IDE: Simple framework for prototyping, easy-to-install Firefox plug-in.
- - Selenium Remote Control (RC): Testing framework for coding in any language.
- - Selenium WebDriver: Automates browser activities without relying on JavaScript.
- - Selenium Grid: Runs tests on different nodes using browsers.
- 56. **What are the different exceptions in Selenium WebDriver?**
- - TimeoutException: Command operation doesn't complete in stipulated time.
- - NoSuchElementException: Element with specific attributes not found.
- - ElementNotVisibleException: Element present in DOM but not visible.
- - SessionNotFoundException: WebDriver performing action after quitting browser.
- 57. **Can Selenium test an application on an Android browser?**
- - Yes, using an Android driver like Selendroid or Appium for native or web apps.
- 58. **What are the different test types that Selenium supports?**
- - Functional: Black-box testing based on software specification.
- - Regression: Finds new errors or regressions after code alterations.
- - Load Testing: Monitors response of system under load conditions.
- 59. **How can you access the text of a web element?**
- - Use `getText()` method of `WebElement` to retrieve text.
- 60. **How can you handle keyboard and mouse actions using Selenium?**
- - Use advanced user interaction API with methods like `clickAndHold()`, `dragAndDrop()`, etc.
- 61. **When do we use findElement() and findElements()?**
- - `findElement()`: Finds first element matching locator value.
- - `findElements()`: Finds all elements matching locator value.
- 62. **What are driver.close() and driver.quit() in WebDriver?**
- - `driver.close()`: Closes current browser window.
- - `driver.quit()`: Closes all browser windows and ends WebDriver session.
- 63. **How can you submit a form using Selenium?**
- - Use `submit()` method on the WebElement representing the form.
- 64. **What are the Testing types supported by Selenium?**
- - Functional Testing: Tests software functional points or features.
- - Regression Testing: Retests product after bug fixes.
- 65. **What is Selenium IDE?**
- - All-in-one Selenium script development environment, available as a Firefox extension.
- Here are the concise bullet-point answers for the remaining questions:
- 66. **What is the difference between Assert and Verify commands in Selenium?**
- - Verify: Determines if a condition is true, does not halt program execution on failure.
- - Assert: Determines if a condition is true, halts program execution on failure.
- 67. **How to launch Browser using WebDriver?**
- - Use the respective driver instantiation:
- - `WebDriver driver = new InternetExplorerDriver();`
- - `WebDriver driver = new ChromeDriver();`
- - `WebDriver driver = new FirefoxDriver();`
- 68. **What is the difference between Asset Management and Configuration Management?**
- - Configuration Management:
- - Deals with operational relationships.
- - Manages troubleshooting data.
- - Concerned with deployment to retirement lifecycle.
- - Focuses on operations.
- - Asset Management:
- - Deals with incidental relationships.
- - Manages taxes data.
- - Concerned with purchase to disposal lifecycle.
- - Focuses on finances.
- 69. **Why are SSL certificates used in Chef?**
- - SSL certificates ensure secure communication between Chef server and clients.
- - Each node has a private-public key pair, with the public key stored at the Chef server.
- - SSL certificates validate the identity of nodes, granting access to required data.
- 70. **Which of the following commands would you use to stop or disable the 'httpd' service when the system boots?**
- - Correct answer: `# systemctl disable httpd.service`
- 71. **What is Test Kitchen in Chef?**
- - Test Kitchen is a command-line tool for spinning up instances and testing cookbooks before deploying them on actual nodes.
- 72. **How does chef-apply differ from chef-client?**
- - `chef-apply`: Applies a specific recipe on the client system.
- - `chef-client`: Applies all cookbooks in the server's run list to the client system.
- 73. **What is the command to sign the requested certificates?**
- - Puppet version 2.7:
- - `# puppetca –sign hostname-of-agent`
- 74. **Which open-source or community tools do you use to make Puppet more powerful?**
- - Tracked using Jira for changes, Git and Puppet's code manager app for version control, and Jenkins for continuous integration pipeline.
- 75. **What are the resources in Puppet?**
- - Basic units of configuration management tool, representing features of a node like software packages or services.
- 76. **What is a class in Puppet?**
- - Named blocks in Puppet manifests configuring functionalities of a node like services, files, and packages, executed when explicitly invoked.
- 77. **What is an Ansible role?**
- - An Ansible role is an independent block of tasks, variables, files, and templates embedded inside a playbook.
- - Example: A playbook that installs Tomcat on node1.
- 78. **When should I use '{{ }}'?**
- - Always use `{{}}` for variables, except in conditional statements like "when: …".
- - Using brackets makes it simpler to distinguish between strings and undefined variables.
- - Ensures Ansible doesn't recognize the line as a dictionary declaration.
- 79. **What is the best way to make content reusable/redistributable?**
- - Three ways to make content reusable/redistributable in Ansible:
- 1. Use roles to manage tasks in a playbook, easily shared via Ansible Galaxy.
- 2. Use "include" to add a submodule or another file to a playbook for multiple uses.
- 3. Use "import" to add a file only once, helpful for recursive runs.
- 80. **How is Ansible different from Puppet?**
- - Ansible:
- - Easy agentless installation.
- - Based on Python.
- - Configuration files written in YAML.
- - No support for Windows.
- - Puppet:
- - Agent-based installation.
- - Based on Ruby.
- - Configuration files written in DSL.
- - Support for all popular OS's.
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement