2022 年 Devops 面試問答 – 最常見問題

已發表: 2021-01-08

目錄

DevOps 面試問答

你是一名 devops 工程師,現在正在尋找工作,所以讓我們看看最常見的Devops 面試問題

與其他計算機科學領域相比,DevOps 並不是很受歡迎。 但那是因為理解起來既簡單又復雜。

首先,它不是工具或軟件。 相反,它是一種工作文化和方法論,開發(軟件開發人員)和運營(部署人員)團隊結合在一起進行持續開發、集成、測試、部署和監控。 最終目標是更快地創建和交付產品,並儘可能降低故障率。 它補充並與敏捷方法一起工作,但與它不同。

如果您對該領域的混合性質感興趣並想在其中工作,那麼以下面試問題將幫助您克服障礙並獲得您夢想中的工作。

  • 有哪些流行的 DevOps 工具?
    • 木偶
    • Ansible
    • 吉特
    • Maven
    • 廚師
    • 詹金斯
    • 碼頭工人
    • 納吉奧斯
    • 麋鹿
  • DevOps 的核心操作是什麼?
    • 發展
    • 版本控制
    • 測試
    • 一體化
    • 部署
    • 送貨
    • 配置
    • 監控
    • 回饋
  • DevOps 的 3 個重要 KPI 是什麼?
    • 部署頻率
    • 失敗部署的百分比
    • 平均故障恢復時間
  • 什麼是版本控制系統?
    VCS 是一種軟件,它使軟件開發人員能夠一起工作,同時保留在任何時候完成的工作的整個歷史。
  • VCS 有 2 種類型:
    • 中央 VCS。 示例:Git
    • 分佈式/去中心化 VCS。 示例:SVN
  • VCS 成為 DevOps 不可或缺的一部分的原因是:
    • 它允許開發人員一起處理一段代碼
    • 它不允許他們覆蓋彼此的更改
    • 它維護了每個版本的歷史
  • Git pull 和 Git fetch 有什麼區別?
    以簡單方程的形式,
    Git 拉取 = Git 提取 + Git 合併
    git pull 命令用於從中央存儲庫的分支中將任何新更改或提交到本地存儲庫中的目標分支。
    git fetch 命令也有同樣的目的。 但是,它不會將新的更改和提交存儲在目標分支中,而是將它們存儲在新分支中。 為了確保更改也反映在目標分支中,我們必須使用 git merge 命令。
    該等式在記住每個命令的功能時非常方便。
  • 我們如何知道 Git 中的某個分支是否已合併到 master 中?
    通過使用git branch -merged 或 git branch -no-merged 命令。
    前者顯示已與當前分支合併的所有分支,而後者顯示尚未合併的分支。
  • 哪些分支策略可用於 Git?
    • 特徵分支
      在這個分支策略中,一個特性的所有更改都保存在分支內。 當自動化測試測試和驗證功能分支時,該分支被合併到主分支中。
    • 任務分支
      在這種策略下,每個任務都在自己的分支中實現。 任務鍵與分支名稱一起包含。 這個鍵的存在可以很容易地看出哪個任務是由哪個代碼實現的。
    • 發布分支
      一旦開發分支準備好其功能,它就會被克隆以形成發布分支。 創建此分支會啟動發布週期,因此無法添加任何新功能。 唯一可以執行的任務是:錯誤修復、文檔生成和其他與發布相關的任務。 該版本被合併到主版本中,並在準備好發佈時用版本號標記。
  • 什麼是 SubGit?
    SubGit 是用於將 SVN 遷移到 Git 的工具。
  • 我們如何使用 Jenkins 克隆 Git 存儲庫?
    第一步是在 Jenkins 系統中輸入一個人的用戶名和電子郵件。 然後轉到您的作業目錄並執行“git config”命令。
  • Ansible Playbook 和 Roles 有什麼區別?
    劇本:
    包含戲劇
    充當主機和角色之間的映射
    示例:webservers.yml、site.yml
    角色:
    是可重複使用的劇集子集
    是完成某個角色的一組任務
    示例:common, webservers
  • 什麼是 Docker?
    Docker 是一種將所有應用程序和相關依賴項打包到容器中的技術,從而確保您的應用程序在任何環境中都能順利、完美地運行。 Docker 鏡像用於創建這些容器。

它僅在 Linux 和雲平台上運行:

  • openSUSE 12.3+
  • 琴圖
  • ArchLinux
  • RHEL 6.5+
  • Fedora 20+
  • 微軟天青
  • 機架空間

僅舉幾例。

  • 什麼是 Scrum?
    Scrum 就像一個任務解決者,它使用迭代和增量實踐將復雜的軟件和開發任務分成更小的可行塊。 每次迭代運行 2 週。
  • Jenkins 支持哪些 SCM 工具?
    • 實時時鐘
    • 強制執行
    • 透明盒
    • 吉特
    • 顛覆
    • CVS

DevOps 涵蓋的領域非常廣泛,因為它融合了軟件創建的 2 個獨特階段。 上面的列表給出了被問到的問題類型的概念,並且絕不是詳盡的。 但是,對於一個強有力的開端,你不會出錯。 祝你面試準備好!

從世界頂級大學在線學習軟件工程課程獲得行政 PG 課程、高級證書課程或碩士課程,以加快您的職業生涯。

結論

至此,我們完成了Devops 面試問答。 我們希望我們的指南對您有所幫助。 我們將定期更新指南,讓您隨時了解最新情況。

如果您有興趣成為 DevOps 工程師,請查看 IIIT-B 和 upGrad 的全棧軟件開發計劃中的執行 PG 計劃。

什麼是 DevOps?

DevOps 是一個術語,用於描述軟件開發人員、站點可靠性工程師和質量保證工程師之間的協作。 它可以被視為一種方法論或文化。 這是一種通過軟件開發人員和 IT 運營部門的協作用於應用程序開發和交付的理念。 DevOps 一詞是開發和運營這兩個詞的混合。 已經開發和實施了新的 DevOps 實踐,以幫助軟件開發人員更有效地相互協作,並幫助 IT 運營人員更快地向客戶交付軟件。

DevOps 中使用的版本控制工具是什麼?

Git 是 DevOps 中最流行的工具之一。 它是一個分佈式版本控制系統,主要用於源代碼管理。 Git 將項目的每個修訂版存儲在自己的存儲庫中。 Git 最大的特點是它的分佈式特性。 任何程序員都可以輕鬆地與團隊中的其他人協作和共享代碼。 最好的部分是它在開發人員編碼時為他們節省了大量時間,從而帶來更好的工作。

DevOps 開發人員做什麼?

DevOps 這個詞是兩個術語的組合:開發和運營。 該術語由 Patrick Debois 創造,它指的是最近將軟件開發生命週期的兩個方面合併並模糊其職責的傳統界限的趨勢。 DevOps 工程師與開發軟件的團隊和運行服務器的團隊一起工作。 DevOps 工程師的角色可以概括如下: 擁有與交付單個服務或系統以及所有支持服務和系統相關的所有事情的所有權, 與開發團隊一起確定開發和運營之間的依賴關係,與運營團隊合作,幫助自動化運營和交付流程的開發, 作為開發和運營團隊與產品和項目管理團隊之間的聯絡人。