46 Často kladené otázky a odpovědi v rozhovoru pro DevOps [2023]

Chcete vědět, jaké otázky položit během vašeho příštího rozhovoru DevOps? Začněte s naším praktickým průvodcem.

Termín DevOps byl vytvořen v letech 2007-2008, ale nyní se stal jednou z nejpopulárnějších kariér v softwarovém inženýrství. DevOps je kulturní posun, který se dotýká každého aspektu vývoje a provozu.

Oba týmy (vývoj a provoz) spolupracují od plánování a budování až po monitorování a opakování. Toto jsou nejčastější otázky, se kterými se pravděpodobně setkáte, pokud hledáte roli inženýra DevOps.

Table of Contents

Co je DevOps?

DevOps je krátká forma vývoje a operací. Tato praxe softwarového inženýrství spojuje vývojové a provozní týmy za účelem automatizace každé fáze projektu. Tým DevOps se zaměřuje na správu zdrojů, komunikaci a týmovou práci.

Jaké jsou různé fáze v metodologii DevOps

  • Neustálý vývoj. Toto je fáze plánování a kódování.
  • Průběžná integrace. Toto je fáze, kdy vývojový tým integruje různé komponenty a zajišťuje, že se kód nerozbije.
  • Průběžné testování. Toto je předem naplánovaná a automatizovaná testovací fáze.
  • Průběžné nasazení. Tato fáze zajišťuje bezproblémový vývoj, který neovlivňuje výkon celé aplikace.
  • Průběžné sledování. Tato fáze zajišťuje celkovou účinnost aplikace.
  • Průběžná zpětná vazba. Jsou analyzovány problémy a výkon, jak je nahlásili koncoví uživatelé.
  • Nepřetržité operace. Umožňuje vývojářům vytvářet lepší verze produktu a rychle detekovat problémy.

Jaké jsou výhody DevOps?

  • Rychlejší a lepší dodání zboží
  • Větší škálovatelnost
  • Rychlé řešení problému
  • Lepší využití zdrojů

Pojmenujte některé KPI DevOps

  • Frekvence nasazení
  • Změňte hlasitost
  • Doba nasazení
  • Míra neúspěšného nasazení
  • Detekce času
  • Rychlost úniku defektu

Rozdíl mezi DevOps a agilní

DevOps je kultura, která podporuje spolupráci mezi všemi členy týmu zapojenými do vývoje a údržby softwaru.

Agile je vývojová metodika navržená tak, aby týmy byly produktivní a řídily vydání na základě měnících se potřeb.

Jaká je role AWS v DevOps

AWS má sadu flexibilních služeb, které pomáhají společnostem spolehlivě a rychle vyvíjet aplikace. Služby AWS zjednodušují nasazování kódu, zřizování a zjednodušují infrastrukturu, automatizují procesy uvolňování softwaru a monitorují výkon infrastruktury.

Jaké je použití SSH?

SSH (Secure Shell) je protokol, který umožňuje bezpečné spojení mezi různými počítači. SSH slouží různým účelům, jako je nabídka; silné ověřování, silné šifrování, zachování integrity připojení, silné připojení a zabezpečení.

Co je kontinuální integrace?

Nepřetržitá integrace umožňuje vývojářům softwaru sloučit svůj kód do centrálního úložiště. Kód pak prochází automatizovanými sestavami a testy.

Co je správa konfigurace?

Jedná se o systémový inženýrský proces zavádění a udržování konzistence výkonnosti systému/produktu a funkčních a fyzických atributů během jeho životního cyklu.

Co je to neustálé testování?

Jedná se o předem naplánované a automatické testování aplikace v průběhu vývoje.

Co je Git?

Jedná se o open-source a bezplatný nástroj pro správu zdrojového kódu. Tento nástroj je navržen tak, aby zvládl malé i velké projekty.

Uveďte některé základní příkazy Git

git clone <https://name-of-the-repository-link>
git branch <branch-name>
git checkout <name-of-your-branch>
git add <file>
git commit -m "commit message"
git push <remote> <branch-name>
git pull <remote>

Vysvětlete rozdíl mezi sloučením Git a rebase Git

Příkaz Git merge umožňuje vývojářům sloučit různé větve Git, zatímco protokoly odevzdání příslušných větví zůstanou nedotčeny.

Příkaz Git rebase umožňuje vývojářům integrovat změny z jedné větve do druhé a protokoly se po dokončení procesu změní.

Vysvětlete rozdíl mezi Git fetch a Git pull

Git fetch říká git, aby načetl/zkontroloval nejnovější metadata z originálu. Neprovádí však žádný přenos souborů, ale pouze kontrolu.

Git Pull kontroluje a přenáší změny ze vzdáleného úložiště do místního projektu.

Co je konflikt sloučení?

Ke konfliktům sloučení dochází, když sloučíte dvě větve s konkurenčními potvrzeními. Ke konfliktům sloučení obvykle dochází, když různí vývojáři změní stejný řádek kódu nebo souboru.

Co je řízení verzí a jaké jsou různé typy?

Kontrola verzí (kontrola zdroje) je proces sledování a správy změn v softwarovém kódu.

Toto jsou různé typy ovládání verzí;

  • Centralizované – mít jednu „centrální“ kopii zdrojového kódu na serveru a všechny změny jsou svěřeny do „centrální“ kopie. Subversion (SVN) a Perforce jsou příklady centralizovaného řízení verzí.
  • Distribuované (DVCS) – nemají centrální server pro ukládání všech souborů projektu. Git a Mercurial jsou příklady DVCS.

Jaké jsou výhody používání správy verzí?

  • Pomáhá vývojářům zachovat efektivitu a agilitu
  • Poskytuje kompletní protokol o každé změně projektu/souboru
  • Zlepšit sledovatelnost
  • Pomáhá při správě slučování a větvení
  • Umožňuje spolupráci

Co je větvení?

Větvení znamená vytvoření samostatné/nové verze hlavního úložiště. Větve vám umožňují pracovat na různých částech projektu bez dopadu na hlavní větev.

Co jsou to strategie větvení?

Slučovací strategie jsou metodiky, které týmy vývoje softwaru přijímají při psaní, slučování a nasazování kódu. Takový přístup zajišťuje, že chyby a chyby jsou opraveny ve fázi větve před tím, než jsou sloučeny s hlavním projektem.

Co je automatizační testování a jak automatizovat testování v DevOps?

Automatizační testování je technika automatické kontroly a ověřování kódu. Testování automatizace se provádí za účelem kontroly, zda byly splněny standardy kvality pro funkčnost (obchodní logiku), styl kódu a uživatelskou zkušenost.

Testování automatizace se provádí pomocí nástrojů, jako je Selenium a Katalon.

Co je Jenkinsfile?

Jenkinsfile je textový soubor obsahující definici Jenkinsova potrubí. Jenkinsfile je zkontrolován v úložišti kontroly zdroje. Některá z jeho použití jsou; umožňuje auditní záznam pro kanál, umožňuje kontrolu kódu a iteraci v kanálu a poskytuje jediný zdroj pravdy v kanálu.

Vysvětlete architekturu v Jenkins

Jenkins má architekturu pán-otrok. To znamená, že pro jednoho „pána“ pracuje mnoho „otroků“. Jenkins Distributed Build tak může spouštět identické testy v různých prostředích, přičemž výsledky se shromažďují a kombinují na hlavním uzlu pro monitorování.

Jaké jsou nejlepší Jenkins pluginy?

  • Blue Ocean Plugin pro Jenkinse
  • Mailer Plugin pro Jenkinse
  • Git plugin pro Jenkinse
  • Jira plugin pro Jenkinse
  • Docker plugin pro Jenkinse
  • Maven Integration Plugin pro Jenkins
  • Plugin Kubernetes pro Jenkinse
  • Plugin SonarQube pro Jenkins
  • Plugin Amazon EC2 pro Jenkins

Co je Selenium IDE?

Selenium IDE je nástroj, který zaznamenává interakce prohlížeče pro testovací případy. Pomocí integrovaného vývojového prostředí Selenium můžete nastavit body přerušení a zkontrolovat a pozastavit proměnné, když dojde k chybám.

Jaké jsou různé složky selenu?

Jaké jsou různé typy testování selenu?

  • End-to-end testování
  • Regresní testování
  • Testování systému
  • Testování výkonu
  • Testování kompatibility

Jaké jsou různé výjimky v Selenu?

  • ElementNotSellectableException
  • NoAlertPresentException
  • InvalidSelectorException
  • NoSuchSessionException
  • StaleElementReferenceException
  • NoSuchWindowException
  • NoSuchFrameException
  • NoSuchElementException
  • TimeoutException
  • ElementNotVisibleException

Co jsou driver.close() a driver.quit() ve WebDriver?

Příkaz driver.close() zavře okno prohlížeče při aktivaci. Pokud je otevřen pouze jeden prohlížeč, zavře se celá relace prohlížeče.

Příkaz driver.quit() zavře celou relaci prohlížeče s vyskakovacími okny, kartami a okny prohlížeče.

Co je to Dockerfile?

Dockerfile je textový dokument se všemi příkazy, které může uživatel použít na příkazovém řádku k sestavení obrázku.

Rozdíly mezi obrázky dockeru a kontejnerem dockeru

Obrázky Docker jsou šablony pouze pro čtení vytvořené se zdrojovými kódy, nástroji, knihovnami, externími závislostmi a dalšími soubory potřebnými pro úspěšné spuštění jakékoli aplikace na jakémkoli operačním systému nebo platformě.

Ukotvitelný kontejner je box, který spouští šablony obrázků dockeru.

Vysvětlete architekturu Dockeru

Docker se řídí architekturou klient-server a zahrnuje Docker Client, Docker Host a Docker Registry.

Klient Docker používá REST API a příkazy ke komunikaci se serverem (Docker Daemon).

Klient Docker používá CLI ke spouštění těchto příkazů

docker build

docker pull

docker run
  • Docker Host poskytuje prostředí pro spouštění a spouštění aplikací. Skládá se z démona dockeru, úložiště, obrázků, kontejnerů a sítí.
  • Docker Registry spravuje a ukládá obrazy Docker.

Cloudové platformy, které podporují docker

Platformy, které podporují hostování dockerů, jsou;

Co je Nagios?

Nagios je nástroj, který monitoruje celou IT infrastrukturu, aby zajistil správné fungování obchodních procesů, systémů, služeb a aplikací.

Jak Nagios funguje?

  • Sledování. IT pracovníci konfigurují Nagios tak, aby monitoroval síťové protokoly, systémové metriky, aplikace, síťovou infrastrukturu, služby a servery.
  • Upozornění. Nagios odesílá výstrahy, když kritické komponenty selžou. Upozornění mohou být prostřednictvím SMS, vlastního kódu nebo e-mailu.
  • Odezva. IT tým uznává výstrahy a jedná.
  • Zprávy. Jsou generovány zprávy, které poskytují historický záznam oznámení, výpadků, odpovědí na výstrahy a událostí pro pozdější kontrolu.
  • Údržba. Plánovaná odstávka zabraňuje odesílání výstrah během údržby.

Zmínit některé pluginy v Nagios

  • Oficiální pluginy Nagios-vyvinuté a spravované oficiálním týmem
  • Vlastní pluginy-napsané jednotlivci/firmami, aby vyhovovaly individuálním potřebám
  • Komunitní pluginy – vyvinuté členy komunity Nagios

Vysvětlete virtualizaci s Nagios

Nagios nabízí možnost sledovat různé metriky na různých virtualizačních platformách. Nagios lze spustit z různých virtualizačních platforem, jako jsou Xen, Amazon EC2, VMware a Microsoft Virtual PC.

Jak Nagios pomáhá s monitorováním?

Nagios používá agenty jako NRPE, check_mk nebo SNMP ke shromažďování statistik na vašem serveru a odesílání upozornění, pokud jsou metriky nad předdefinovaným prahem.

Jaká čísla portů používá Nagios pro účely monitorování?

SNMP, porty 161 a 162

Co je síťový analyzátor Nagios?

Analyzátor sítě Nagios je software pro analýzu tokových dat, který uživatelům umožňuje proaktivně řešit abnormální chování, výpadky a bezpečnostní hrozby před přerušením obchodních operací. Tento komerční nástroj nabízí rozšířený přehled o síťovém provozu a IT infrastruktuře.

Proměnné, které ovlivňují dědičnost a rekurzi v Nagios

  • Název – šablona „jméno“, která může zdědit proměnné/ vlastnosti objektu.
  • Použít – zadejte název objektu šablony, ze kterého chcete dědit proměnné/vlastnosti.
  • Registrovat označuje, zda má být název objektu šablony „registrován“ u Nagios.

Co je Puppet?

Puppet je open-source nástroj pro správu a nasazení konfigurace softwaru.

Co je to loutkový manifest?

Manifest Puppet je soubor, který obsahuje konfigurační jazyk Puppet, který popisuje, jak by měly být prostředky konfigurovány.

Co je kód loutky?

Loutkový kód je deklarativní kód, což znamená, že jej popisujete pomocí požadovaného stavu vašeho systému a ne pomocí kroků potřebných k tomu, abyste se tam dostali.

co je šéfkuchař?

Chef je nástroj pro správu konfigurace, který převádí infrastrukturu na kód. Tento nástroj se zaměřuje na psaní kódu namísto ručního procesu.

Jak šéfkuchař pracuje?

Práce šéfkuchaře začíná, když správci systému nebo vývojáři definují úkoly, které mají být automatizovány. Kuchařky a recepty (malé programy napsané v jazyce specifickém pro doménu) jsou poté zachyceny a testovány pomocí různých nástrojů, jako je Test Kitchen, ChefSpec a Foodcritic.

Pokud kuchařky a recepty fungují podle očekávání, jsou poté nasazeny na server Chef pomocí nástrojů příkazového řádku nože a šéfkuchaře. Proces nasazení šéfkuchaře má server šéfkuchaře, pracovní stanice a uzly. Můžete si vybrat z více než 3000 šablon kuchařek a přizpůsobit je svým potřebám. O zbytek práce se pak postará šéfkuchař.

souhrn

Podle Glassdoor je průměrný plat inženýra DevOps v USA 104 281 $ ročně. I když je DevOps nová kariéra, nyní můžeme vidět více společností, které najímají tuto roli a publikují různé kurzy, aby vybavili profesionály nezbytnými dovednostmi. Výše jsou některé otázky, se kterými se pravděpodobně setkáte v rozhovoru pro DevOps.

Můžete také prozkoumat několik dobrých online kurzů, abyste se naučili DevOps.