46 Ofte stilte DevOps-intervjuspørsmål og svar [2023]

Vil du vite hvilke spørsmål du bør stille under ditt neste DevOps-intervju? Kom i gang med vår praktiske guide.

Begrepet DevOps ble laget i 2007-2008, men har nå blitt en av de mest populære karrierene innen programvareteknikk. DevOps er et kulturskifte som berører alle aspekter av utvikling og drift.

De to teamene (utvikling og drift) jobber sammen fra planlegging og bygging til overvåking og iterasjon. Dette er de vanligste spørsmålene du sannsynligvis kommer over hvis du søker en DevOps-ingeniørrolle.

Innholdsfortegnelse

Hva er DevOps?

DevOps er den korte formen for utvikling og drift. Denne programvareteknikkpraksisen samler utviklings- og driftsteamene for å automatisere hvert trinn i et prosjekt. Et DevOps-team fokuserer på ressursstyring, kommunikasjon og teamarbeid.

Hva er de forskjellige fasene i DevOps-metodikken

  • Kontinuerlig utvikling. Dette er planleggings- og kodingsfasen.
  • Kontinuerlig integrering. Dette er fasen hvor utviklingsteamet integrerer ulike komponenter og sikrer at koden ikke går i stykker.
  • Kontinuerlig testing. Dette er den forhåndsplanlagte og automatiserte testfasen.
  • Kontinuerlig utplassering. Denne fasen sikrer problemfri utvikling, som ikke påvirker hele appens ytelse.
  • Kontinuerlig overvåking. Denne fasen sikrer den generelle effektiviteten til appen.
  • Kontinuerlig tilbakemelding. Problemer og ytelse, som rapportert av sluttbrukere, analyseres.
  • Kontinuerlig drift. Lar utviklere bygge bedre versjoner av produktet og oppdage problemer raskt.
  Hva er nytt i Java 17?

Hva er fordelene med DevOps?

  • Raskere og bedre produktlevering
  • Større skalerbarhet
  • Rask problemløsning
  • Bedre ressursutnyttelse

Nevn noen DevOps KPI

  • Distribusjonsfrekvens
  • Endre volum
  • Utplasseringstid
  • Mislykkede distribusjonshastigheter
  • Tidsdeteksjon
  • Rømningsrate for defekter

Forskjellen mellom DevOps og smidig

DevOps er en kultur som fremmer samarbeid mellom alle teammedlemmene som er involvert i utvikling og vedlikehold av programvare.

Agile er en utviklingsmetodikk designet for å gjøre team produktive og drive utgivelser basert på endrede behov.

Hva er rollen til AWS i DevOps

AWS har et sett med fleksible tjenester som hjelper bedrifter med å utvikle applikasjoner pålitelig og raskt. AWS-tjenester forenkler distribusjon av kode, klargjøring og forenkling av infrastruktur, automatiserer programvareutgivelsesprosesser og overvåker infrastrukturytelsen.

Hva er bruken av SSH?

SSH (Secure Shell) er en protokoll som tillater en sikker tilkobling mellom forskjellige datamaskiner. SSH tjener forskjellige formål, som å tilby; sterk autentisering, sterk kryptering, opprettholde tilkoblingsintegritet, sterk tilkobling og sikkerhet.

Hva er kontinuerlig integrasjon?

Kontinuerlig integrasjon lar programvareutviklere slå sammen koden sin til et sentralt depot. Koden tas deretter gjennom automatiserte bygg og tester.

Hva er konfigurasjonsadministrasjon?

Det er et systems konstruksjonsprosess for å etablere og opprettholde konsistens av et systems/produktets ytelse og funksjonelle og fysiske egenskaper gjennom hele livssyklusen.

Hva er kontinuerlig testing?

Dette er forhåndsplanlagt og automatisert testing av en applikasjon etter hvert som utviklingen pågår.

Hva er Git?

Dette er et åpen kildekode og gratis verktøy for kildekodebehandling. Dette verktøyet er utviklet for å håndtere små og store prosjekter.

Nevn noen grunnleggende 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 forskjellen mellom Git merge og Git rebase

Git merge-kommandoen lar utviklere slå sammen forskjellige Git-grener mens loggene over forpliktelser til de respektive grenene forblir intakte.

Git rebase-kommandoen lar utviklere integrere endringer fra en gren til en annen, og loggene endres når prosessen er fullført.

Forklar forskjellen mellom Git fetch og Git pull

Git fetch forteller git å hente/sjekke de siste metadataene fra originalen. Den gjør imidlertid ingen filoverføring, men sjekker bare.

Git pull sjekker og bringer endringer fra det eksterne depotet til det lokale prosjektet.

Hva er en sammenslåingskonflikt?

Sammenslåingskonflikter oppstår når du slår sammen to grener med konkurrerende forpliktelser. Sammenslåingskonflikter oppstår vanligvis når forskjellige utviklere endrer samme kodelinje eller fil.

Hva er versjonskontroll, og hva er de forskjellige typene?

Versjonskontroll (kildekontroll) er prosessen med å spore og administrere endringer i programvarekode.

Dette er de forskjellige typene versjonskontroller;

  • Sentralisert – ha en enkelt «sentral» kopi av kildekoden på en server og alle endringene er forpliktet til den «sentrale» kopien. Subversion (SVN) og Perforce er eksempler på sentraliserte versjonskontroller.
  • Distribuert (DVCS) – har ikke en sentral server for å lagre alle prosjektets filer. Git og Mercurial er eksempler på DVCS.
  Hvordan finne registrerte eiere av kjøretøy gratis

Hva er fordelene med å bruke versjonskontroll?

  • Hjelper utviklere å bevare effektivitet og smidighet
  • Gir en komplett logg over hver endring i et prosjekt/fil
  • Forbedre sporbarheten
  • Hjelper med å administrere sammenslåing og forgrening
  • Muliggjør samarbeid

Hva er forgrening?

Forgrening refererer til å lage en egen/ny versjon av hovedlageret. Grener lar deg jobbe med ulike deler av prosjektet uten å påvirke hovedgrenen.

Hva er forgreningsstrategier?

Sammenslåingsstrategier er metodene som programvareutviklingsteam bruker når de skriver, slår sammen og distribuerer kode. En slik tilnærming sikrer at feil og feil blir fikset på et grenstadium før de slås sammen med hovedprosjektet.

Hva er automatiseringstesting, og hvordan automatisere testing i DevOps?

Automatiseringstesting er en teknikk for automatisk gjennomgang og validering av kode. Automatiseringstesting gjøres for å sjekke om kvalitetsstandarder for funksjonalitet (forretningslogikk), kodestil og brukeropplevelse er oppfylt.

Automatiseringstesting utføres ved hjelp av verktøy som Selenium og Katalon.

Hva er Jenkinsfile?

Jenkinsfile er en tekstfil som inneholder definisjonen av en Jenkins-rørledning. Jenkinsfile sjekkes inn i kildekontrolllageret. Noen av bruksområdene er; den tillater et revisjonsspor for rørledningen, tillater kodegjennomgang og iterasjon på rørledningen, og gir en enkelt kilde til sannhet i rørledningen.

Forklar arkitekturen i Jenkins

Jenkins har en mester-slave-arkitektur. Dette betyr at det er mange «slaver» som jobber for en «mester». Jenkins Distributed Build kan dermed kjøre identiske tester på forskjellige miljøer, med resultater samlet inn og kombinert på masternoden for overvåking.

Hva er de beste Jenkins-pluginene?

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

Hva er Selenium IDE?

Selenium IDE er et verktøy som registrerer nettleserinteraksjoner for testtilfeller. Du kan angi bruddpunkter og sjekke og pause variabler når det oppstår feil med Selenium Integrated Development Environment.

Hva er de forskjellige selenkomponentene?

Hva er de forskjellige typene testing i Selen?

  • End-to-end testing
  • Regresjonstesting
  • Systemtesting
  • Ytelsestesting
  • Kompatibilitetstesting

Hva er de forskjellige unntakene i Selen?

  • ElementNotSelectableException
  • NoAlertPresentException
  • InvalidSelectorException
  • NoSuchSessionException
  • StaleElementReferenceException
  • NoSuchWindowException
  • NoSuchFrameException
  • NoSuchElementException
  • Unntak for tidsavbrudd
  • ElementNotVisibleException

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

Kommandoen driver.close() lukker nettleservinduet ved fokus. Hvis bare én nettleser er åpen, lukker den hele nettleserøkten.

Kommandoen driver.quit() lukker hele nettleserøkten med popup-vinduer, faner og vinduer i nettleseren.

Hva er en Dockerfile?

Dockerfile er et tekstdokument med alle kommandoene en bruker kan bruke på en kommandolinje for å sette sammen et bilde.

  Trenger du Anti-Ransomware-programvare til PC-en din?

Forskjeller mellom docker-bilder og docker-beholder

Docker-bilder er skrivebeskyttede maler laget med kildekoder, verktøy, biblioteker, eksterne avhengigheter og andre filer som er nødvendige for at ethvert program skal kjøre vellykket på et hvilket som helst operativsystem eller plattform.

En docker-beholder er en boks som kjører docker-bildemaler.

Forklar arkitekturen til Docker

Docker følger en Client-Server-arkitektur og består av Docker Client, Docker Host og Docker Registry.

Docker Client bruker REST APIer og kommandoer for å kommunisere med Server (Docker Daemon).

Docker Client bruker CLI til å kjøre disse kommandoene

docker build

docker pull

docker run
  • Docker Host gir et miljø for å kjøre og kjøre applikasjoner. Laget av docker-demon, lagring, bilder, containere og nettverk.
  • Docker Registry administrerer og lagrer Docker-bilder.

Skyplattformer som støtter docker

Plattformene som støtter docker-hosting er;

Hva er Nagios?

Nagios er et verktøy som overvåker hele IT-infrastrukturen for å sikre at forretningsprosesser, systemer, tjenester og applikasjoner fungerer som de skal.

Hvordan fungerer Nagios?

  • Overvåkning. IT-personalet konfigurerer Nagios til å overvåke nettverksprotokoller, systemmålinger, applikasjoner, nettverksinfrastruktur, tjenester og servere.
  • Varsler. Nagios sender varsler når kritiske komponenter svikter. Varsler kan være via SMS, egendefinert kode eller e-post.
  • Respons. IT-teamet bekrefter varsler og handlinger.
  • Rapporter. Rapporter som gir en historisk oversikt over varsler, avbrudd, varselsvar og hendelser for senere gjennomgang genereres.
  • Vedlikehold. Planlagt nedetid forhindrer at varsler sendes under vedlikehold.

Nevn noen plugins i Nagios

  • Offisielle Nagios-plugins utviklet og vedlikeholdt av det offisielle teamet
  • Tilpassede plugins-skrevet av enkeltpersoner/bedrifter for å passe individuelle behov
  • Fellesskapsplugins utviklet av medlemmene av Nagios-fellesskapet

Forklar virtualisering med Nagios

Nagios tilbyr muligheten til å overvåke ulike beregninger på ulike virtualiseringsplattformer. Nagios kan kjøres fra ulike virtualiseringsplattformer som Xen, Amazon EC2, VMware og Microsoft Virtual PC.

Hvordan hjelper Nagios med overvåking?

Nagios bruker agenter som NRPE, check_mk eller SNMP for å samle inn statistikk på serveren din og sende et varsel hvis beregningene er over den forhåndsdefinerte terskelen.

Hvilke portnumre bruker Nagios til overvåkingsformål?

SNMP, porter 161 og 162

Hva er en Nagios-nettverksanalysator?

Nagios nettverksanalysator er en sflow-dataanalyseprogramvare som lar brukere proaktivt løse unormal atferd, strømbrudd og sikkerhetstrusler før de avbryter forretningsdriften. Dette kommersielle verktøyet gir utvidet innsikt i nettverkstrafikk og IT-infrastruktur.

Variabler som påvirker arv og rekursjon i Nagios

  • Navn-en mal «navn» som kan arve objektvariablene/egenskapene.
  • Bruk- spesifiser malens objektnavn som du vil arve variabler/egenskaper fra.
  • Register indikerer om malobjektets navn skal «registreres» hos Nagios.

Hva er Puppet?

Puppet er et åpen kildekodeverktøy for administrasjon og distribusjon av programvarekonfigurasjon.

Hva er et marionettmanifest?

Puppet manifest er en fil som inneholder Puppet-konfigurasjonsspråk som beskriver hvordan ressurser skal konfigureres.

Hva er Puppet-koden?

Puppet-kode er en deklarativ kode, som betyr at du beskriver den ved å bruke systemets ønskede tilstand og ikke trinnene som trengs for å komme dit.

Hva er kokk?

Chef er et konfigurasjonsadministrasjonsverktøy som konverterer infrastruktur til kode. Dette verktøyet fokuserer på å skrive kode i stedet for den manuelle prosessen.

Hvordan jobber kokk?

Chefens arbeid begynner når systemadministratorer eller utviklere definerer oppgaver som skal automatiseres. Kokebøkene og oppskriftene (små programmer skrevet på et domenespesifikt språk) blir deretter fanget opp og testet ved hjelp av ulike verktøy som Test Kitchen, ChefSpec og Foodcritic.

Hvis kokebøkene og oppskriftene fungerer som forventet, distribueres de til Chef-serveren ved hjelp av kniv- og chef-kommandolinjeverktøy. En kokk-distribusjonsprosess har en Chef-server, arbeidsstasjoner og noder. Du kan velge mellom over 3000 kokebokmaler og tilpasse dem til dine behov. Kokken vil deretter ta seg av resten av arbeidet.

Sammendrag

I følge Glassdoor er gjennomsnittslønnen til en DevOps-ingeniør $104281 per år i USA. Selv om DevOps er en ny karriere, kan vi nå se at flere selskaper ansetter for denne rollen og publiserer ulike kurs for å utstyre fagfolk med de essensielle ferdighetene. Over er noen spørsmål du sannsynligvis vil møte i et DevOps-intervju.

Du kan også utforske noen gode nettkurs for å lære DevOps.