46 Vanliga DevOps-intervjufrågor och svar [2023]

Vill du veta vilka frågor du ska ställa under din nästa DevOps-intervju? Kom igång med vår praktiska guide.

Termen DevOps myntades 2007-2008 men har nu blivit en av de mest populära karriärerna inom mjukvaruteknik. DevOps är ett kulturskifte som berör alla aspekter av utveckling och verksamhet.

De två teamen (utveckling och drift) arbetar tillsammans från planering och byggande till övervakning och iterering. Det här är de vanligaste frågorna du kommer att stöta på om du söker en roll som DevOps-ingenjör.

Innehållsförteckning

Vad är DevOps?

DevOps är den korta formen för utveckling och drift. Denna praxis för mjukvaruteknik samlar utvecklings- och driftteamen för att automatisera varje steg i ett projekt. Ett DevOps-team fokuserar på resurshantering, kommunikation och lagarbete.

Vilka är de olika faserna i DevOps metodik

  • Kontinuerlig utveckling. Detta är planerings- och kodningsfasen.
  • Kontinuerlig integration. Detta är fasen där utvecklingsteamet integrerar olika komponenter och säkerställer att koden inte går sönder.
  • Kontinuerlig testning. Detta är den förschemalagda och automatiserade testfasen.
  • Kontinuerlig distribution. Denna fas säkerställer problemfri utveckling, vilket inte påverkar hela appens prestanda.
  • Kontinuerlig övervakning. Denna fas säkerställer appens övergripande effektivitet.
  • Kontinuerlig feedback. Problem och prestanda, som rapporterats av slutanvändare, analyseras.
  • Kontinuerlig verksamhet. Tillåter utvecklare att bygga bättre versioner av produkten och upptäcka problem snabbt.

Vilka är fördelarna med DevOps?

  • Snabbare och bättre produktleverans
  • Större skalbarhet
  • Snabb problemlösning
  • Bättre resursutnyttjande

Nämn några DevOps KPI

  • Distributionsfrekvens
  • Ändra volym
  • Utplaceringstid
  • Misslyckade distributionshastigheter
  • Tidsdetektering
  • Defekt flykthastighet

Skillnaden mellan DevOps och agile

DevOps är en kultur som främjar samarbete mellan alla teammedlemmar som är involverade i utveckling och underhåll av mjukvara.

Agile är en utvecklingsmetodik utformad för att göra team produktiva och driva releaser baserat på förändrade behov.

Vilken roll har AWS i DevOps

AWS har en uppsättning flexibla tjänster som hjälper företag att på ett tillförlitligt och snabbt sätt utveckla applikationer. AWS-tjänster förenklar driftsättning av kod, tillhandahåller och förenklar infrastruktur, automatiserar processer för programutgivning och övervakning av infrastrukturens prestanda.

Vad är användningen av SSH?

SSH (Secure Shell) är ett protokoll som möjliggör en säker anslutning mellan olika datorer. SSH tjänar olika syften, såsom att erbjuda; stark autentisering, stark kryptering, bibehålla anslutningsintegritet, stark anslutning och säkerhet.

Vad är kontinuerlig integration?

Kontinuerlig integration tillåter mjukvaruutvecklare att slå samman sin kod till ett centralt arkiv. Koden tas sedan genom automatiserade builds och tester.

Vad är konfigurationshantering?

Det är ett systems ingenjörsprocess för att etablera och upprätthålla konsistens av ett systems/produkts prestanda och funktionella och fysiska egenskaper under hela dess livscykel.

Vad är kontinuerlig testning?

Detta är förplanerad och automatiserad testning av en applikation allt eftersom utvecklingen pågår.

Vad är Git?

Detta är ett gratis verktyg med öppen källkod för källkodshantering. Detta verktyg är designat för att hantera små och stora projekt.

Nämn några grundläggande Git-kommandon

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>

Förklara skillnaden mellan Git merge och Git rebase

Git merge-kommandot tillåter utvecklare att slå samman olika Git-grenar medan loggarna över commits för respektive grenar förblir intakta.

Git rebase-kommandot tillåter utvecklare att integrera ändringar från en gren till en annan, och loggarna ändras när processen är klar.

Förklara skillnaden mellan Git fetch och Git pull

Git fetch säger åt git att hämta/kontrollera den senaste metadatan från originalet. Den gör dock ingen filöverföring utan kontrollerar bara.

Git pull kontrollerar och överför ändringar från fjärrlagret till det lokala projektet.

Vad är en sammanslagningskonflikt?

Merge-konflikter uppstår när du slår samman två grenar med konkurrerande commits. Sammanslagningskonflikter uppstår vanligtvis när olika utvecklare ändrar samma kodrad eller fil.

Vad är versionskontroll, och vilka är de olika typerna?

Versionskontroll (källkontroll) är processen att spåra och hantera ändringar i programvarukod.

Dessa är de olika typerna av versionskontroller;

  • Centraliserad – ha en enda ”central” kopia av källkoden på en server och alla ändringar är förpliktade till den ”centrala” kopian. Subversion (SVN) och Perforce är exempel på centraliserade versionskontroller.
  • Distribuerad (DVCS) – har inte en central server för att lagra alla projektets filer. Git och Mercurial är exempel på DVCS.

Vilka är fördelarna med att använda versionskontroll?

  • Hjälper utvecklare att bevara effektivitet och smidighet
  • Ger en komplett logg över varje ändring av ett projekt/fil
  • Förbättra spårbarheten
  • Hjälper till att hantera sammanslagning och förgrening
  • Möjliggör samarbete

Vad är förgrening?

Förgrening avser att skapa en separat/ny version av huvudförvaret. Filialer låter dig arbeta med olika delar av projektet utan att påverka huvudgrenen.

Vad är förgreningsstrategier?

Sammanslagningsstrategier är de metoder som mjukvaruutvecklingsteam använder när de skriver, slår samman och distribuerar kod. Ett sådant tillvägagångssätt säkerställer att buggar och misstag åtgärdas i ett grenskede innan de slås samman med huvudprojektet.

Vad är automationstestning och hur automatiserar man testning i DevOps?

Automationstestning är en teknik för att automatiskt granska och validera kod. Automationstestning görs för att kontrollera om kvalitetsstandarder för funktionalitet (affärslogik), kodstil och användarupplevelse har uppfyllts.

Automationstestning görs med hjälp av verktyg som Selenium och Katalon.

Vad är Jenkinsfile?

Jenkinsfile är en textfil som innehåller definitionen av en Jenkins pipeline. Jenkinsfilen checkas in i källkontrollförrådet. Några av dess användningsområden är; det tillåter ett granskningsspår för pipelinen, tillåter kodgranskning och iteration på pipelinen och ger en enda källa till sanning i pipelinen.

Förklara arkitekturen i Jenkins

Jenkins har en master-slave-arkitektur. Detta betyder att det finns många ”slavar” som arbetar för en ”mästare”. Jenkins Distributed Build kan alltså köra identiska tester på olika miljöer, med resultat som samlas in och kombineras på masternoden för övervakning.

Vilka är de bästa Jenkins plugins?

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

Vad är Selenium IDE?

Selenium IDE är ett verktyg som registrerar webbläsarinteraktioner för testfall. Du kan ställa in brytpunkter och kontrollera och pausa variabler när fel uppstår med Selenium Integrated Development Environment.

Vilka är de olika selenkomponenterna?

Vilka är de olika typerna av testning i Selen?

  • End-to-end-testning
  • Regressionstestning
  • Systemtestning
  • Prestandatester
  • Kompatibilitetstestning

Vilka är de olika undantagen i Selen?

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

Vad är driver.close() och driver.quit() i WebDriver?

Kommandot driver.close() stänger webbläsarfönstret vid fokus. Om bara en webbläsare är öppen stänger den hela webbläsarsessionen.

Kommandot driver.quit() stänger hela webbläsarsessionen med webbläsarpopup-fönster, flikar och fönster.

Vad är en Dockerfile?

Dockerfile är ett textdokument med alla kommandon en användare kan använda på en kommandorad för att sammanställa en bild.

Skillnader mellan docker-bilder och docker-container

Docker-bilder är skrivskyddade mallar skapade med källkoder, verktyg, bibliotek, externa beroenden och andra filer som behövs för att alla applikationer ska kunna köras framgångsrikt på alla operativsystem eller plattformar.

En docker-container är en box som kör docker-bildmallar.

Förklara Dockers arkitektur

Docker följer en Client-Server-arkitektur och består av Docker Client, Docker Host och Docker Registry.

Docker Client använder REST API:er och kommandon för att kommunicera med servern (Docker Daemon).

Docker Client använder CLI för att köra dessa kommandon

docker build

docker pull

docker run
  • Docker Host tillhandahåller en miljö för att köra och köra applikationer. Består av docker-demon, lagring, bilder, behållare och nätverk.
  • Docker Registry hanterar och lagrar Docker-bilder.

Molnplattformar som stöder docker

Plattformarna som stöder dockar-hosting är;

Vad är Nagios?

Nagios är ett verktyg som övervakar hela IT-infrastrukturen för att säkerställa att affärsprocesser, system, tjänster och applikationer fungerar korrekt.

Hur fungerar Nagios?

  • Övervakning. IT-personal konfigurerar Nagios för att övervaka nätverksprotokoll, systemmått, applikationer, nätverksinfrastruktur, tjänster och servrar.
  • Varning. Nagios skickar varningar när kritiska komponenter misslyckas. Varningar kan ske via SMS, anpassad kod eller e-post.
  • Svar. IT-teamet bekräftar varningar och agerar.
  • Rapporter. Rapporter som ger en historisk registrering av meddelanden, avbrott, varningssvar och händelser för senare granskning genereras.
  • Underhåll. Schemalagd driftstopp förhindrar att varningar skickas under underhåll.

Nämn några plugins i Nagios

  • Officiella Nagios-plugins utvecklade och underhållna av det officiella laget
  • Anpassade plugins-skrivna av privatpersoner/företag för att passa individuella behov
  • Community-plugins-utvecklade av medlemmarna i Nagios-communityt

Förklara virtualisering med Nagios

Nagios erbjuder möjligheten att övervaka olika mätvärden på olika virtualiseringsplattformar. Nagios kan köras från olika virtualiseringsplattformar som Xen, Amazon EC2, VMware och Microsoft Virtual PC.

Hur hjälper Nagios med övervakning?

Nagios använder agenter som NRPE, check_mk eller SNMP för att samla in statistik på din server och skicka en varning om mätvärdena ligger över den fördefinierade tröskeln.

Vilka portnummer använder Nagios för övervakningsändamål?

SNMP, portar 161 och 162

Vad är en Nagios nätverksanalysator?

Nagios nätverksanalysator är en sflow-dataanalysmjukvara som tillåter användare att proaktivt lösa onormala beteenden, avbrott och säkerhetshot innan de avbryter affärsverksamheten. Detta verktyg av kommersiell kvalitet ger utökad insikt i nätverkstrafik och IT-infrastruktur.

Variabler som påverkar arv och rekursion i Nagios

  • Namn-en mall ’namn’ som kan ärva objektvariablerna/egenskaperna.
  • Använd- ange mallens objektnamn från vilket du vill ärva variabler/egenskaper.
  • Register anger om mallobjektets namn ska ’registreras’ hos Nagios.

Vad är Puppet?

Puppet är ett verktyg med öppen källkod för hantering och distribution av programvara.

Vad är ett marionettmanifest?

Puppet manifest är en fil som innehåller Puppet konfigurationsspråk som beskriver hur resurser ska konfigureras.

Vad är Puppet-koden?

Puppet-kod är en deklarativ kod, vilket innebär att du beskriver den med hjälp av ditt systems önskade tillstånd och inte de steg som behövs för att komma dit.

Vad är kock?

Chef är ett konfigurationshanteringsverktyg som konverterar infrastruktur till kod. Det här verktyget fokuserar på att skriva kod istället för den manuella processen.

Hur fungerar Chef?

Chefens arbete börjar när systemadministratörer eller utvecklare definierar uppgifter som ska automatiseras. Kokböckerna och recepten (små program skrivna på ett domänspecifikt språk) fångas sedan in och testas med olika verktyg som Test Kitchen, ChefSpec och Foodcritic.

Om kokböckerna och recepten fungerar som förväntat, distribueras de sedan till Chef-servern med hjälp av kniv och chefs kommandoradsverktyg. En kockdistributionsprocess har en Chef-server, arbetsstationer och noder. Du kan välja bland över 3000 kokboksmallar och anpassa dem efter dina behov. Kocken tar sedan hand om resten av arbetet.

Sammanfattning

Enligt Glassdoor är medellönen för en DevOps-ingenjör $104281 per år i USA. Även om DevOps är en ny karriär kan vi nu se att fler företag anställer för denna roll och publicerar olika kurser för att utrusta yrkesverksamma med de nödvändiga färdigheterna. Ovan är några frågor som du sannolikt kommer att stöta på i en DevOps-intervju.

Du kan också utforska några bra onlinekurser för att lära dig DevOps.