下面列出了常見的DevOps面試問題和答案。
1) 解釋DevOps?
DevOp 是兩個詞的組合,一個是軟件 Development(開發)、另一個是 Operations (運營)。它允許一個團隊處理從開發到測試、部署和運營的整個應用程序生命周期。DevOps 可幫助您減少軟件開發人員、質量保證(QA)工程師和系統管理員之間的聯系。
2) DevOps 的原則是什么?
DevOps 背后的原則是:
-
持續部署
-
基礎設施即代碼
-
自動化
-
監控
-
安全
3) DevOps 對開發人員有何幫助?
DevOps 對開發人員修復錯誤並快速實現新功能非常有幫助。它還有助於團隊成員之間更透明的溝通。
4) 解釋一些流行的 DevOps 工具?
下面是一些流行的 DevOps 工具,例如:
-
Jenkins: Jenkins 是一個 DevOps 工具,用於監視重復任務的執行。Jenkins 允許持續集成的軟件,安裝在進行集中構建的服務器上。
-
Ansible: Ansible 是領先的DevOps工具。 Ansible 是一個開源 IT 引擎,可自動執行應用程序部署、雲供應、內部服務編排和其他 IT 工具。
-
Nagios: Nagios 是 DevOps 較為有用的工具之一。它可以確定錯誤,並在網絡、基礎架構、服務器和日志監視系統的幫助下進行糾正。
-
Docker: Docker 是一種高端 DevOps 工具,它允許在多個系統上構建,發布和運行分布式應用程序。
-
Git: Git 是一個開源的分布式版本控制系統,每個人都可以免費使用。它旨在快速高效地處理各種規模的項目。
5) 實施 DevOps 的前提條件是什么?
以下是實現 DevOps 的一些有用的先決條件:
-
團隊成員之間的適當溝通。
-
至少一個版本控制軟件。
-
自動化測試。
-
自動化部署。
6) DevOps 在應用開發和基礎架構方面的核心操作是什么?
DevOps 應用開發和基礎架構的核心操作是:
應用開發
-
代碼建設
-
代碼覆蓋率
-
單元測試
-
打包
-
部署
基礎架構
-
供應
-
配置
-
編排
-
部署
7) DevOps 的關鍵組件是什么?
DevOps的最重要的關鍵組件是:
-
持續集成
-
持續測試
-
y持續交付
-
持續販賣
8) 什么是 Vagrant?
Vagrant 是 DevOps 的工具,可以創建和管理用於測試和開發軟件的虛擬化環境。
9) DevOps 工作文化在技術和業務上有什么好處?
以下是 DevOps 工作文化的技術和業務優勢:
技術優勢
-
不要解決太復雜的問題。
-
持續交付軟件。
-
更快的錯誤解決。
業務優勢
-
最穩定的操作環境。
-
有更多時間可用來增加產品價值。
-
更快地交付功能以使客戶滿意。
10) 什么是 Scrum?
Scrum 用於通過迭代和增加實踐將復雜的軟件和產品開發任務划分為較小的塊。Scrum 由三個角色組成,例如:
-
產品擁有者
-
Scrum 大師
-
團隊
11) 什么是版本控制?
它是一個隨時間記錄對一個文件或一組文件的更改的系統,因此您可以調用特定版本。
版本控制系統由一個中央共享存儲庫組成,團隊成員可以在其中將更改提交到一個文件或一組文件中。它允許:
-
將文件還原到以前的狀態。
-
比較一段時間內的變化。
-
將整個項目還原到以前的狀態。
-
查看誰修改了文件中的內容。
12) DevOps 中使用了哪些腳本工具?
DevOps 中使用了Python和Ruby腳本工具。
13) AWS 在 DevOps 中的作用是什么?
AWS 是 Amazon 提供的基於雲的服務,可通過無限的計算能力和存儲來確保可擴展性。它使 IT 企業能夠開發和交付經驗豐富的產品,並在雲上部署應用程序。
14) 為什么開源工具可以提升 DevOps?
由於 DevOps 在組織構建、發布、變更管理和基礎架構管理領域的各個方面都具有自動化的特點,開源工具被大部分組織用於流水線中。
15) 組織劇本作為角色的需求是什么?
在考慮刪除Oracle DB后MySQL安裝的任務時,作為角色的組織劇本為任何角色提供了更多的可靠性和可重用性。在安裝java之后,安裝MySQL還需要另一個需求。在這兩種情況下,都需要安裝MySQL,但是如果沒有角色,就需要分別為這兩種用例編寫劇本。不過,一旦使用了角色,通過調用site.yaml中的邏輯,就可以創建任意次數的MySQL安裝角色。
16) 有多少雲平台可用於 DevOps 實施?
以下是用於 DevOps 實施的一些雲計算平台,例如:
-
谷歌雲
-
亞馬遜網絡服務
-
微軟Azure
17) 解釋兩因素身份驗證?
兩因素身份驗證是一種安全性方法,用戶可以通過它提供來自不同類別的兩種身份驗證方法。18)PTR在DNS中的用途是什么?
PTR是用於反向DNS查找的指針記錄。
18) PTR 在 DNS 中的用途是什么?
PTR 是用於反向 DNS 查找的指針記錄。
19) 說出一些網絡監視工具?
一些最重要的網絡監視工具是:
-
Nagios
-
OpenNMS
-
Splunk
-
Icinga 2
-
Wireshark
20) 列出三個重要的DevOps KPI?
三個最重要的DevOps KPI是:
-
部署頻率
-
失敗部署的百分比
-
平均故障恢復時間
21) 解釋關於 DevOps 的結對編程?
結對編程是極限編程規則的一種工程實踐。在這種情況下,兩個程序員使用相同的設計或算法在同一系統上工作。
一個程序員充當驅動者,另一個充當觀察員,他不斷監視項目進度以發現問題。這些角色可以在任何時間點互換,而無需事先通知。
22) 什么是CBD?
基於組件的開發(CBD)是進行產品開發的獨特方法。在這種方法中,開發人員始終在尋找現有的定義良好、經過測試和驗證的組件,以將它們組合並組裝成產品,而不是從頭開始開發。
23) 給出 DevOps 自動化的定義?
自動化是 DevOps 實踐的關鍵需求,使一切自動化是 DevOps 的基本原則。自動化從開發人員計算機上的代碼生成開始,直到將代碼推送到代碼,以監視生產中的應用和系統。
DevOps 中的自動化可提高速度、一致性、更高的准確性、可靠性、並增加交付數量。
24) 什么是 DevOps 流水線?
軟件工程團隊中的流水線是一組自動化流程,使 DevOps 專業人員和開發人員能夠可靠、高效地將其代碼編譯、生成並部署到生產平台。
25) 什么是Azure DevOps?
Azure DevOps 也稱為 Microsoft Visual Studio 團隊服務(VSTS)。它是為雲構建的一組協作開發工具。 VSTS通常被用作獨立術語,Azure DevOps 是一個由幾種不同產品組成的平台,例如:
-
Azure Test Plans
-
Azure Boards
-
Azure Repos
-
Azure Pipeline
-
Azure Artifacts
26) 哪些因素使 AWS DevOps 具有高度可訪問性?
以下是使AWS DevOps廣受歡迎的一些原因,例如:
-
AWS CloudFormation
-
AWS EC2
-
AWS CloudWatch
-
AWS CodePipeline
27) DevOps 中的構建是什么?
構建是一種方法,其中將源代碼放在一起以檢查其是否作為單個單元工作。在構建創建過程中,將對源代碼進行編譯、測試、檢查和部署。
28) 說明哪個場景中使用了 SSH?
您可以使用SSH登錄到遠程計算機並在命令行上工作。此外,您還可以使用它來隧穿系統,以促進不安全網絡上的兩個主機之間的安全加密通信。
29) AWS中如何執行基礎架構代碼?
在 AWS 中:
-
基礎結構的代碼將采用簡單的 JSON 格式。
-
此 JSON 代碼將組織到稱為模板的文件中。
-
這些模板可以部署在 AWS DevOps 上,然后作為堆棧進行管理。
-
稍后,CloudFormation服務將在堆棧中執行創建、刪除、更新等操作。
30) 請解釋 Git Bisect?
Git Bisect 使用二進制搜索幫助查找哪些提交引入了錯誤。
