每個 Kubernetes 應聘者應該知道的 5 個面試題
如果你是要面試 Kubernetes 相關職位的應聘者,這裡給出了要提問的問題以及這些問題的重要性。
面試對面試官及候選人來說都很不容易。最近,我發現面試 Kubernetes 相關工作的候選人似乎尤其困難。為什麼呢?一方面,很難找到可以回答他們問題的人。而且,不管回答者回答的怎樣,都很難確定他們是否有正確的經驗。
跳過這個問題,讓我們來看看面試 Kubernetes 求職者時應該提問的一些問題。
Kubernetes 是什麼?
我發現這個問題是面試中最好的問題之一。我經常聽到有人說“我用 Kubernetes 工作”,但是當我問道“Kubernetes 是什麼”時,從來都沒有得到過一個滿意答案。
我最喜歡 Chris Short 給出的答案:“Kubernetes 就是帶有一些 YAML 檔案的 API 。”
雖然他的回答沒有錯,但我會給你更詳細的解釋。 Kubernetes 是一個可移植容器的編排工具,用於自動執行管理、監控、擴充套件和部署容器化應用程式。
我認為“用於部署容器化應用程式的編排工具”這個回答可能與你期望的答案差不多了。能回答出這個,我覺得已經很不錯了。儘管許多人認為 Kubernetes 做了更多更棒的工作,但總的來說,它為其核心功能——容器編排——新增了許多 API。
我認為,這是你在面試中可以提問的最好的問題之一,因為它至少證明了候選人是否知道 Kubernetes 是什麼。
Kubernetes 的節點和 Pod 有什麼區別?
該問題揭示了候選人對 Kubernetes 複雜性的初步瞭解。它將面試對話轉換為對體系結構的概述,並可能導向許多有趣的後續細節問題。我已經聽到了無數次關於該問題的錯誤解釋了。
節點 是工作計算機。該計算機可以是虛擬機器(VM)或物理計算機,具體取決於你是在虛擬機器監控程式上執行還是在裸機上執行。該節點包含用於執行容器的服務,包括 kubelet、kube-proxy 和容器執行時。
Pod 包括:一個或多個容器、具有共享網路和儲存,以及有關如何執行一起部署的容器的規範。這四個細節都很重要。更進一步,職位申請人應從技術層面解釋,Pod 是 Kubernetes 可以建立和管理的最小可部署單元,而不是容器。
對於這個問題,我聽到的最好的簡答是:“節點是計算機,而 Pod 是容器執行於其中的東西。”這個區別很重要。Kubernetes 管理員的大部分工作是知道什麼時間要部署什麼,而節點的部署成本可能非常非常高,具體取決於它們的執行位置。我不希望有人一遍又一遍地部署節點,他們需要做的就是部署一堆 Pod。
kubectl 是什麼?(你怎麼發音?)
這個問題是我優先順序較高的問題之一,但可能與你和你的團隊無關。在我的團隊中,我們不會使用圖形化介面來管理 Kubernetes 環境,我們使用命令列操作。
那麼什麼是 kubectl?它是 Kubernetes 的命令列介面。你可以從該介面獲取並設定任何內容,從收集日誌和事件到編輯部署環境和機密檔案。隨機提問候選人關於如何使用此工具對測試候選人對 kubectl 的熟悉度是很有幫助的。
你是怎麼讀的?好吧,你隨便吧(對此有很大的分歧),但是我很高興向你介紹我朋友 Waldo 的精彩影片演示。
名稱空間是什麼?
在多次面試中,我都沒有得到關於這個問題的答案。我不確定在其他環境中使用的名稱空間是否會在我所在的團隊經常使用。我在這裡給出一個簡短的答案:名稱空間是 Pod 中的虛擬叢集。這種抽象可以使你將多個虛擬集保留在多個環境中以此來進行隔離。
容器是什麼?
瞭解 Pod 中正在部署的內容總是有幫助的,因為如果都不知道其中部署的是什麼,何談部署?容器是打包程式碼及其所有依賴項的軟體的標準單元。我收到了兩個可以接受的答案,其中包括:a)精簡的作業系統映象,以及 b)在受限的作業系統環境中執行的應用程式。如果你可以叫得出使用 Docker 以外的其他容器的編排軟體(例如你最喜歡的公共雲的容器服務),則可以得到加分。
其他問題
如果你想知道為什麼我沒有在此問題列表中新增更多問題,那麼我可以給出一個簡單的答案:我所列出的這些問題是在面試候選人時應瞭解的最基本的問題。接下來的問題應該是基於具體的團隊、環境及組織。當你仔細研究這些內容時,嘗試尋找有關技術如何相互作用的有趣問題,以瞭解人們如何應對基礎架構挑戰。考慮一下你的團隊最近遇到的挑戰(中斷),要求逐步進行部署,或者考慮改善團隊積極想要改進的策略(例如減少部署時間)。問題越不抽象,對面試後真正重要的技能的詢問就越多。
沒有兩個環境是完全相同的。這也適用於面試中。我在每次面試中都會混合提問。我也有一個測試面試者的小環境。我經常發現回答問題是最容易的部分,而你所做的工作才是對你的真正的考驗。
我給面試官的最後一點建議是:如果你遇到一個很有潛力但沒有經驗的候選人時,請給他們一個證明自己的機會。如果當初沒有人看到我的潛力,沒有給我機會的話,我不會擁有今天的知識和經驗。
還有哪些重要的問題?請留言告訴我們。
via: https://opensource.com/article/19/12/kubernetes-interview-questions
作者:Jessica Repka 選題:lujun9972 譯者:Morisun029 校對:wxy
本文由 LCTT 原創編譯,Linux中國 榮譽推出
相關文章
- 每個 Java 開發者都應該知道的 5 個註解Java
- 每個開發者都應該知道的33個JavaScript概念JavaScript
- 每個 Linux 新手都應該知道的 10 個命令Linux
- 每個綠帶都應該知道的事
- 技術面試應該問些什麼?應聘者應該如何應對?面試
- 每個人都應該知道的jQuery的提示jQuery
- 除了面試題,你應該知道的面試技巧!面試題
- 每個運維人員應該知道的 10 個 Linux 命令!運維Linux
- IT職場:每個黑帶都應該知道的事
- 每個Python新手都應該知道的程式設計技巧Python程式設計
- 每個開發人員都應該知道的 10 個 GitHub 倉庫Github
- 你應該知道的 Laravel 面試問題,要搞懂Laravel面試
- 每個開發人員都應該知道的WebSockets知識Web
- 應聘機器學習工程師?這是你需要知道的12個基礎面試問題機器學習工程師面試
- 關於前端應該知道的5個小知識前端
- 每個高階前端工程師都應該知道的前端佈局前端工程師
- 每個程式設計師都應該知道的下一個程式語言——Kotlin程式設計師Kotlin
- 每個資料科學專家都應該知道的六個概率分佈資料科學概率分佈
- [譯] 為什麼每個 Android 開發者都應該嘗試 FlutterAndroidFlutter
- 每個開發者都應該使用的VSCode外掛 - tvkoushikVSCode
- 重要!每個開發者都應該掌握的9個核心演算法演算法
- 你應該知道的16個linux命令Linux
- 每個人都應該懂點攻防
- 每個Java軟體架構師都應該知道的20件事Java架構
- 每個人都應該知道網站建設的製作流程與方法!網站
- 面試應該知道的任務排程平臺面試
- 每個黑帶大師都應該知道的10件事(建議收藏)
- 應聘騰訊,面試官和我聊了一個小時的人生面試
- 乾貨丨實現UI自動化測試,這5個常見問題你應該知道!UI
- 每個人都應該瞭解的金融小知識 — 利率計算 (含一道碼農面試題)面試題
- 關於理財你最應該知道幾個問題
- 面試必問的8個CSS響應式單位,你知道幾個?面試CSS
- 每個Java開發人員應該知道的五種RESTful客戶端程式碼JavaREST客戶端
- 每個JavaScript開發人員都應該知道的新ES2018功能(譯文)JavaScript
- Laravel 你應該知道的幾個最佳實踐Laravel
- Mac小白應該要知道的幾個小技巧Mac
- 面試開發崗位,你應該知道的回答技巧!面試
- [翻譯]每一個計算機專業的學生應該知道的知識(一)計算機