46 Ofte stillede DevOps-interviewspørgsmål og -svar [2023]

Vil du vide, hvilke spørgsmål du skal stille under dit næste DevOps-interview? Kom godt i gang med vores praktiske guide.

Udtrykket DevOps blev opfundet i 2007-2008, men er nu blevet en af ​​de mest populære karrierer inden for software engineering. DevOps er et kulturskifte, der berører alle aspekter af udvikling og drift.

De to teams (udvikling og drift) arbejder sammen fra planlægning og bygning til overvågning og iteration. Dette er de mest almindelige spørgsmål, du sandsynligvis støder på, hvis du søger en rolle som DevOps-ingeniør.

Indholdsfortegnelse

Hvad er DevOps?

DevOps er den korte form for udvikling og drift. Denne softwareingeniørpraksis samler udviklings- og driftsteamene for at automatisere alle faser af et projekt. Et DevOps-team fokuserer på ressourcestyring, kommunikation og teamwork.

Hvad er de forskellige faser i DevOps-metoden

  • Kontinuerlig udvikling. Dette er planlægnings- og kodningsfasen.
  • Kontinuerlig integration. Dette er den fase, hvor udviklingsteamet integrerer forskellige komponenter og sikrer, at koden ikke går i stykker.
  • Løbende test. Dette er den forudplanlagte og automatiserede testfase.
  • Kontinuerlig implementering. Denne fase sikrer problemfri udvikling, som ikke påvirker hele appens ydeevne.
  • Kontinuerlig overvågning. Denne fase sikrer appens overordnede effektivitet.
  • Løbende feedback. Problemer og ydeevne, som rapporteret af slutbrugere, analyseres.
  • Kontinuerlig drift. Giver udviklere mulighed for at bygge bedre versioner af produktet og opdage problemer hurtigt.
  Sorter alle Reddit-indlæg i links, billeder og videoer

Hvad er fordelene ved DevOps?

  • Hurtigere og bedre produktlevering
  • Større skalerbarhed
  • Hurtig problemløsning
  • Bedre ressourceudnyttelse

Nævn nogle DevOps KPI

  • Implementeringsfrekvens
  • Skift lydstyrke
  • Implementeringstid
  • Mislykkede implementeringshastigheder
  • Tidsregistrering
  • Defekt flugthastighed

Forskellen mellem DevOps og agile

DevOps er en kultur, der fremmer samarbejde mellem alle teammedlemmer, der er involveret i udvikling og vedligeholdelse af software.

Agile er en udviklingsmetodologi designet til at gøre teams produktive og drive udgivelser baseret på skiftende behov.

Hvad er AWS’ rolle i DevOps

AWS har et sæt fleksible tjenester, der hjælper virksomheder med at udvikle applikationer pålideligt og hurtigt. AWS-tjenester forenkler implementering af kode, levering og forenkling af infrastruktur, automatisering af softwareudgivelsesprocesser og overvågning af infrastrukturens ydeevne.

Hvad er brugen af ​​SSH?

SSH (Secure Shell) er en protokol, der tillader en sikker forbindelse mellem forskellige computere. SSH tjener forskellige formål, såsom at tilbyde; stærk autentificering, stærk kryptering, opretholdelse af forbindelsesintegritet, stærk forbindelse og sikkerhed.

Hvad er kontinuerlig integration?

Kontinuerlig integration giver softwareudviklere mulighed for at flette deres kode ind i et centralt lager. Koden tages derefter gennem automatiserede builds og tests.

Hvad er konfigurationsstyring?

Det er et systems konstruktionsproces med at etablere og opretholde konsistens af et systems/produktets ydeevne og funktionelle og fysiske egenskaber gennem hele dets livscyklus.

Hvad er kontinuerlig test?

Dette er forudplanlagt og automatiseret test af en applikation, efterhånden som udviklingen fortsætter.

Hvad er Git?

Dette er et open source og gratis værktøj til kildekodestyring. Dette værktøj er designet til at håndtere små og store projekter.

Nævn nogle grundlæggende Git-kommandoer

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>

Forklar forskellen mellem Git merge og Git rebase

Git merge-kommandoen tillader udviklere at flette forskellige Git-grene, mens logfilerne for de respektive grene forbliver intakte.

Git rebase-kommandoen tillader udviklere at integrere ændringer fra en gren til en anden, og logfilerne ændres, når processen er færdig.

Forklar forskellen mellem Git fetch og Git pull

Git fetch fortæller git at hente/tjekke de seneste metadata fra originalen. Den udfører dog ikke nogen filoverførsel, men kontrollerer bare.

Git pull tjekker og bringer ændringer fra fjernlageret til det lokale projekt.

Hvad er en fusionskonflikt?

Merge-konflikter opstår, når du slår to brancher sammen med konkurrerende commits. Fletkonflikter opstår normalt, når forskellige udviklere ændrer den samme kodelinje eller fil.

Hvad er versionskontrol, og hvad er de forskellige typer?

Versionskontrol (kildekontrol) er processen med at spore og administrere ændringer i softwarekode.

Disse er de forskellige typer versionskontrol;

  • Centraliseret – har en enkelt “central” kopi af kildekoden på en server, og alle ændringerne er forpligtet til den ‘centrale’ kopi. Subversion (SVN) og Perforce er eksempler på centraliseret versionskontrol.
  • Distribueret (DVCS) – har ikke en central server til at gemme alle projektets filer. Git og Mercurial er eksempler på DVCS.
  14 Kraftfuld SEO API til marketingfolk og virksomheder

Hvad er fordelene ved at bruge versionskontrol?

  • Hjælper udviklere med at bevare effektivitet og smidighed
  • Giver en komplet log over hver ændring af et projekt/fil
  • Forbedre sporbarheden
  • Hjælper med at administrere sammenfletning og forgrening
  • Muliggør samarbejde

Hvad er forgrening?

Forgrening refererer til at skabe en separat/ny version af hovedlageret. Filialer giver dig mulighed for at arbejde på forskellige dele af projektet uden at påvirke hovedgrenen.

Hvad er forgreningsstrategier?

Fletningsstrategier er de metoder, som softwareudviklingsteams anvender, når de skriver, flettes og implementerer kode. En sådan tilgang sikrer, at fejl og fejl bliver rettet på et filialtrin, før de fusioneres med hovedprojektet.

Hvad er automatiseringstest, og hvordan automatiserer man test i DevOps?

Automationstest er en teknik til automatisk at gennemgå og validere kode. Automatiseringstest udføres for at kontrollere, om kvalitetsstandarder for funktionalitet (forretningslogik), kodestil og brugeroplevelse er overholdt.

Automationstest udføres ved hjælp af værktøjer som Selenium og Katalon.

Hvad er Jenkinsfile?

Jenkinsfile er en tekstfil, der indeholder definitionen af ​​en Jenkins-pipeline. Jenkinsfile tjekkes ind i kildekontrollageret. Nogle af dens anvendelser er; det tillader et revisionsspor for pipelinen, tillader kodegennemgang og iteration på pipelinen og giver en enkelt kilde til sandhed i pipelinen.

Forklar arkitekturen i Jenkins

Jenkins har en master-slave-arkitektur. Det betyder, at der er mange ‘slaver’, der arbejder for én ‘mester’. Jenkins Distributed Build kan således køre identiske test på forskellige miljøer, med resultater indsamlet og kombineret på masterknudepunktet til overvågning.

Hvad er de bedste Jenkins-plugins?

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

Hvad er Selenium IDE?

Selenium IDE er et værktøj, der registrerer browserinteraktioner til testcases. Du kan indstille brudpunkter og kontrollere og sætte variabler på pause, når der opstår fejl med Selenium Integrated Development Environment.

Hvad er de forskellige selenkomponenter?

Hvad er de forskellige typer test i selen?

  • End-to-end test
  • Regressionstest
  • System test
  • Præstationstest
  • Kompatibilitetstest

Hvad er de forskellige undtagelser i Selen?

  • ElementNotSelectableException
  • NoAlertPresentException
  • InvalidSelectorException
  • NoSuchSessionException
  • StaleElementReferenceException
  • NoSuchWindowException
  • NoSuchFrameException
  • NoSuchElementException
  • Timeout Undtagelse
  • ElementNotVisibleException

Hvad er driver.close() og driver.quit() i WebDriver?

Kommandoen driver.close() lukker browservinduet ved fokus. Hvis kun én browser er åben, lukker den hele browsersessionen.

Kommandoen driver.quit() lukker hele browsersessionen med browser-pop-ups, faner og vinduer.

Hvad er en Dockerfile?

Dockerfile er et tekstdokument med alle de kommandoer, en bruger kan bruge på en kommandolinje til at samle et billede.

  Sådan sletter du Netflix-profil

Forskelle mellem docker-billeder og docker-container

Docker-billeder er skrivebeskyttede skabeloner, der er lavet med kildekoder, værktøjer, biblioteker, eksterne afhængigheder og andre filer, der er nødvendige for, at enhver applikation kan køre med succes på ethvert operativsystem eller platform.

En docker-container er en boks, der kører docker-billedskabeloner.

Forklar Dockers arkitektur

Docker følger en Client-Server-arkitektur og omfatter Docker Client, Docker Host og Docker Registry.

Docker Client bruger REST API’er og kommandoer til at kommunikere med serveren (Docker Daemon).

Docker Client bruger CLI til at køre disse kommandoer

docker build

docker pull

docker run
  • Docker Host giver et miljø til at udføre og køre applikationer. Består af docker-dæmon, storage, billeder, containere og netværk.
  • Docker Registry administrerer og gemmer Docker-billeder.

Cloud-platforme, der understøtter docker

De platforme, der understøtter docker-hosting er;

Hvad er Nagios?

Nagios er et værktøj, der overvåger hele it-infrastrukturen for at sikre, at forretningsprocesser, systemer, tjenester og applikationer fungerer korrekt.

Hvordan virker Nagios?

  • Overvågning. IT-personale konfigurerer Nagios til at overvåge netværksprotokoller, systemmålinger, applikationer, netværksinfrastruktur, tjenester og servere.
  • Alarmering. Nagios sender advarsler, når kritiske komponenter fejler. Advarsler kan være via SMS, brugerdefineret kode eller e-mails.
  • Respons. IT-teamet anerkender advarsler og handlinger.
  • Rapporter. Rapporter, der giver en historisk registrering af meddelelser, udfald, advarselssvar og hændelser til senere gennemgang, genereres.
  • Vedligeholdelse. Planlagt nedetid forhindrer advarsler i at blive sendt under vedligeholdelse.

Nævn nogle plugins i Nagios

  • Officielle Nagios plugins-udviklet og vedligeholdt af det officielle hold
  • Brugerdefinerede plugins-skrevet af enkeltpersoner/virksomheder for at passe til individuelle behov
  • Fællesskabsplugins udviklet af medlemmerne af Nagios-fællesskabet

Forklar virtualisering med Nagios

Nagios tilbyder muligheden for at overvåge forskellige metrikker på forskellige virtualiseringsplatforme. Nagios kan køre fra forskellige virtualiseringsplatforme såsom Xen, Amazon EC2, VMware og Microsoft Virtual PC.

Hvordan hjælper Nagios med overvågning?

Nagios bruger agenter som NRPE, check_mk eller SNMP til at indsamle statistik på din server og sende en advarsel, hvis metrikken er over den foruddefinerede tærskel.

Hvilke portnumre bruger Nagios til overvågningsformål?

SNMP, porte 161 og 162

Hvad er en Nagios netværksanalysator?

Nagios netværksanalysator er en sflow-dataanalysesoftware, der giver brugerne mulighed for proaktivt at løse unormal adfærd, udfald og sikkerhedstrusler, før de afbryder forretningsdriften. Dette værktøj af kommerciel kvalitet giver udvidet indsigt i netværkstrafik og it-infrastruktur.

Variabler, der påvirker arv og rekursion i Nagios

  • Navn-en skabelon ‘navn’, der kan arve objektvariablerne/egenskaberne.
  • Brug – angiv skabelonens objektnavn, som du vil arve variabler/egenskaber fra.
  • Register angiver om skabelonobjektets navn skal ‘registreres’ hos Nagios.

Hvad er Puppet?

Puppet er et open source-værktøj til softwarekonfigurationsstyring og -implementering.

Hvad er et marionetmanifest?

Puppet manifest er en fil, der indeholder Puppet konfigurationssprog, der beskriver, hvordan ressourcer skal konfigureres.

Hvad er Puppet-koden?

Puppet-kode er en deklarativ kode, hvilket betyder, at du beskriver den ved hjælp af dit systems ønskede tilstand og ikke de nødvendige trin for at komme dertil.

Hvad er kok?

Chef er et konfigurationsstyringsværktøj, der konverterer infrastruktur til kode. Dette værktøj fokuserer på at skrive kode i stedet for den manuelle proces.

Hvordan arbejder kokken?

Kokkens arbejde begynder, når systemadministratorer eller udviklere definerer opgaver, der skal automatiseres. Kogebøgerne og opskrifterne (små programmer skrevet på et domænespecifikt sprog) bliver derefter fanget og testet ved hjælp af forskellige værktøjer som Test Kitchen, ChefSpec og Foodcritic.

Hvis kogebøgerne og opskrifterne fungerer som forventet, distribueres de derefter til Chef-serveren ved hjælp af kniv- og chef-kommandolinjeværktøjer. En chef-implementeringsproces har en Chef-server, arbejdsstationer og noder. Du kan vælge mellem over 3000 kogebogsskabeloner og tilpasse dem til dine behov. Kokken vil så tage sig af resten af ​​arbejdet.

Resumé

Ifølge Glassdoor er gennemsnitslønnen for en DevOps-ingeniør $104281 om året i USA. Selvom DevOps er en ny karriere, kan vi nu se flere virksomheder ansætte til denne rolle og udgive forskellige kurser for at udstyre fagfolk med de væsentlige færdigheder. Ovenfor er nogle spørgsmål, du sandsynligvis vil støde på i et DevOps-interview.

Du kan også udforske nogle gode onlinekurser for at lære DevOps.