Top 50 DevOps-interviewspørgsmål og -svar (PDF)
Her er DevOps-interviewspørgsmål og svar til både friskere og erfarne kandidater til at få deres drømmejob.
DevOps-interviewspørgsmål og svar til nybegyndere
1) Forklar, hvad DevOps er?
Det er et nyt begreb inden for it-området, som ikke er andet end en praksis, der lægger vægt på samarbejdet og kommunikationen mellem både softwareudviklere og implementerings- (drifts)team. Den fokuserer på at levere softwareprodukt hurtigere og sænke fejlfrekvensen for udgivelser.
👉 Gratis PDF-download: DevOps-interviewspørgsmål og -svar >>
2) Nævn, hvad de vigtigste aspekter eller principper bag DevOps er?
Nøgleaspekterne eller princippet bag DevOps er
- Infrastruktur som kode
- Kontinuerlig implementering
- Automation
- Overvågning
- Sikkerhed
3) Hvad er DevOps' kerneoperationer med applikationsudvikling og med infrastruktur?
DevOps' kerneoperationer er
Applikationsudvikling
- Kodebygning
- Kodedækning
- Enhedstest
- Emballage
- Deployment
Infrastruktur
- Provisioning
- Konfiguration
- Orchestration
- Deployment
4) Forklar hvordan "Infrastrukturkode" behandles eller udføres i AWS?
I AWS,
- Koden til infrastruktur vil være i simpelt JSON-format
- Denne JSON-kode vil blive organiseret i filer kaldet skabeloner
- Disse skabeloner kan implementeres på AWS devops og derefter administreres som stakke
- Later CloudFormation-tjenesten udfører handlingen Oprettelse, sletning, opdatering osv. i stakken
5) Forklar hvilket scriptsprog der er vigtigst for en DevOps-ingeniør?
Et enklere scriptsprog vil være bedre for en DevOps-ingeniør. Python synes at være meget populær.
6) Forklar, hvordan DevOps er nyttigt for udviklere?
DevOps kan være nyttigt for udviklere til at rette fejlen og implementere nye funktioner hurtigt. Det hjælper også til en klarere kommunikation mellem teammedlemmerne.
7) Liste over nogle populære værktøjer til DevOps?
Nogle af de populære værktøjer til DevOps er
- Jenkins
- Nagios
- Monit
- ELK (Elasticsearch, Logstash, Kibana)
- Jenkins
- Docker
- Ansible
- Git
8) Nævn, i hvilket tilfælde har du brugt SSH?
Jeg har brugt SSH til at logge ind på en ekstern maskine og arbejde på kommandolinjen. Udover dette har jeg også brugt det til at tunnelere ind i systemet for at lette sikker krypteret kommunikation mellem to ikke-pålidelige værter over et usikkert netværk.
9) Forklar, hvordan du ville håndtere revision (version) kontrol?
Min tilgang til håndtering af revisionskontrol ville være at poste koden på SourceForge eller GitHub, så alle kan se den. Jeg vil også poste tjeklisten fra den sidste revision for at sikre, at eventuelle uløste problemer er løst.
10) Hvilke typer Http-anmodninger er der?
Typerne af Http-anmodninger er
- GET
- HEAD
- PUT
- POST
- LAPPE
- SLET
- TRACE
- FORBINDE
- OPTIONS
11) Forklar, hvad du ville tjekke Hvis en Linux-build-server pludselig begynder at blive langsom?
Hvis en Linux-build-server pludselig begynder at blive langsom, vil du tjekke for følgende tre ting
Fejlfinding på applikationsniveau | RAM-relaterede problemer, Disk I/O-læse-skriveproblemer, Diskplads-relaterede problemer osv. |
Fejlfinding på systemniveau | Tjek for applikationslogfil ELLER applikationsserverlogfil, problemer med systemets ydeevne, webserverlog – tjek HTTP-, tomcat lo-, jboss- eller WebLogic-logfiler for at se, om applikationsserverens respons/modtagelsestid er problemerne med langsomhed, hukommelseslækage af evt. Ansøgning |
Afhængige tjenester fejlfinding | Antivirus-relaterede problemer, Firewall-relaterede problemer, netværksproblemer, SMTP-serversvarstidsproblemer osv. |
12) Hvad er nøglekomponenterne i DevOps?
Her er nogle vigtige DevOps livscyklusfaser:
- Løbende udvikling
- Kontinuerlig integration
- Kontinuerlig testning
- Kontinuerlig implementering
- Kontinuerlig overvågning
- Kontinuerlig feedback
- Kontinuerlig Operationer
13) Nævn nogle få cloud-platforme, som bruges til DevOps-implementering
Populære cloud computing platforme brugt til DevOps implementering er:
- Google Cloud
- Amazon Web Services
- Microsoft Azure
14) Giv nogle fordele ved at bruge versionskontrolsystemet
- Versionskontrolsystemet tillader teammedlemmer at arbejde frit på enhver fil til enhver tid.
- Alle de tidligere versioner og varianter er tæt pakket sammen inde i VCS.
- En distribueret VCS-like hjælper dig med at gemme hele projektets historie, så i tilfælde af et nedbrud på den centrale server kan du bruge dit teammedlems lokale Git-lager.
- Giver dig mulighed for at se, hvilke nøjagtige ændringer der er foretaget i filens indhold
15) Forklar Git Bisect
Git bisect hjælper dig med at finde den commit, der introducerede en fejl ved hjælp af binær søgning.
16) Hvad er bygningen?
En build er en metode, hvor kildekoden er sat sammen for at kontrollere, om den fungerer som en enkelt enhed. I byggeoprettelsesprocessen vil kildekoden gennemgå kompilering, inspektion, test og implementering.
17) Hvad er Puppet?
Marionet er et nyttigt projektstyringsværktøj. Det hjælper dig med at automatisere administrationsopgaver.
18) Forklar to-faktor autentificering
Tofaktorautentificering er en sikkerhedsmetode, hvor brugeren giver to måder til identifikation fra separate kategorier.
19) Forklar udtrykket 'Canary Frigøre'.
En canary release er et mønster, som reducerer risikoen for at introducere en ny version af software i produktionsmiljøet. Det gøres ved at gøre det tilgængeligt på en kontrolleret måde for en delmængde af brugeren. Før du gør det tilgængeligt for hele brugersættet.
20) Hvilke typer test er vigtige for at sikre, at ny service er klar til produktion?
Du skal udføre løbende test for at sikre, at den nye service er klar til produktion.
DevOps Interview Spørgsmål og Svar til Erfarne
21) Hvad er Vagrant?
En vagrant er et værktøj, der kan skabe og administrere virtualiserede miljøer til test og udvikling af software.
22) Hvad er brugen af PTR i DNS?
Pointer record, som også er kendt som (PTR), bruges til omvendt DNS-opslag.
23) Hvad er kok?
Det er en kraftfuld automatiseringsplatform, som omdanner infrastruktur til kode. I dette værktøj kan du bruge skrivescripts, der bruges til at automatisere processer.
24) Hvad er forudsætningerne for implementering af DevOps?
Følgende er de nyttige forudsætninger for DevOps-implementering:
- Mindst én versionskontrolsoftware
- Korrekt kommunikation mellem teammedlemmerne
- Automatiseret test
- Automatiseret implementering
25) Nævn nogle bedste fremgangsmåder, som bør følges for at få succes med DevOps.
Her er væsentlige bedste praksisser for DevOps-implementering:
- Leveringshastigheden betyder den tid, det tager for enhver opgave at få dem ind i produktionsmiljøet.
- Spor hvor mange fejl der er fundet i de forskellige
- Det er vigtigt at måle den faktiske eller den gennemsnitlige tid, det tager at genoprette i tilfælde af en fejl i produktionsmiljøet.
- Antallet af fejl, der rapporteres af kunden, påvirker også applikationens kvalitet.
26) Forklar SubGIt-værktøjet
SubGit hjælper dig med at migrere SVN til Git. Det giver dig også mulighed for at bygge et skrivbart Git-spejl af et lokalt eller eksternt Subversion-lager.
27) Nævn nogle vigtige netværksovervågningsværktøjer
Nogle af de mest fremtrædende værktøjer til netværksovervågning er:
- splunk
- Icinga 2
- Wireshark
- Nagios
- OpenNMS
28) Om dit videokort kan køre Unity hvordan ville du vide det?
Når du bruger en kommando
/usr/lib/Linux/unity_support_test-p
det vil give detaljeret output om Unitys krav, og hvis de er opfyldt, så kan dit videokort køre unity.
29) Forklar, hvordan du aktiverer startlyd i Ubuntu?
For at aktivere startlyd
- Klik på kontrolgear og klik derefter på Opstartsapplikationer
- I Opstartsapplikationspræferencer vindue, skal du klikke på Tilføj for at tilføje en post
- Udfyld derefter oplysningerne i kommentarfelter som Navn, Kommando og Kommentar
/usr/bin/canberra-gtk-play—id= "desktop-login"—description= "play login sound"
- Log ud og log derefter ind, når du er færdig
Du kan også åbne den med genvejstasten Ctrl+Alt+T
.
30) Hvad er den hurtigste måde at åbne en Ubuntu terminal i en bestemt mappe?
For at åbne en Ubuntu terminal i en bestemt mappe, kan du bruge tilpasset tastaturgenvej.
For at gøre det skal du i kommandofeltet på et nyt brugerdefineret tastatur skrive genom – terminal – – working – directory = /path/to/dir.
31) Forklar, hvordan du kan få den aktuelle farve på den aktuelle skærm på Ubuntu desktop?
Du kan åbne baggrundsbilledet i The Gimp (billedredigering) og derefter bruge pipetteværktøjet til at vælge farven på et bestemt punkt. Det giver dig RGB-værdien af farven på det tidspunkt.
32) Forklar, hvordan du opretter launchers på et skrivebord i Ubuntu?
For at oprette launchers på et skrivebord i Ubuntu du kan bruge
ALT+F2 og skriv derefter ”gnome-desktop-item-edit –create-new~/desktop,” det vil starte den gamle GUI-dialog og oprette en launcher på dit skrivebord
33) Forklar, hvad Memcached er?
Memcached er et gratis og åben kildekode, højtydende, distribueret hukommelsesobjekt-cachesystem. Det primære formål med Memcached er at forbedre responstiden for data, der ellers kan gendannes eller konstrueres fra en anden kilde eller database. Det bruges til at undgå behovet for at operere SQL-database eller en anden kilde gentagne gange for at hente data til en samtidig anmodning.
Memcached kan bruges til
- Socialt netværk->Profilcaching
- Content Aggregation-> HTML/ Page Caching
- Annoncemålretning-> Cookie/profilsporing
- Relation->Session caching
- E-handel -> Session og HTML caching
- Lokationsbaserede tjenester-> Databaseforespørgselsskalering
- Spil og underholdning->Session caching
Memcache hjælper med
- Fremskynde ansøgningsprocesser
- Det bestemmer, hvad der skal opbevares, og hvad der ikke skal
- Reducer antallet af hentningsanmodninger til databasen
- Skærer ned for I/O (Input/Output) adgang (harddisk)
Ulempen ved Memcached er
- Det er ikke et vedvarende datalager
- Ikke en database
- Det er ikke en applikationsspecifik
- Det kan ikke cache store objekter
34) Nævn nogle vigtige funktioner i Memcached?
Vigtige funktioner i Memcached inkluderer
- CAS-tokens: Et CAS-token er knyttet til et objekt hentet fra en cache. Du kan bruge det token til at gemme dit opdaterede objekt.
- Tilbagekald: Det forenkler koden
- getDelayed: Det reducerer forsinkelsestiden for dit script, som venter på, at resultaterne kommer tilbage fra en server
- Binær protokol: Du kan bruge binær protokol i stedet for ASCII med den nyere klient
- Igbinær: Tidligere plejede en klient altid at lave serialisering af værdien med komplekse data, men med Memcached kan du bruge igbinary option.
DevOps Interview Spørgsmål og Svar til 5+ erfaring
35) Forklar, om det er muligt at dele en enkelt instans af en Memcache mellem flere projekter?
Ja, det er muligt at dele en enkelt forekomst af Memcache mellem flere projekter. Memcache er et lagerrum i hukommelsen, og du kan køre memcache på en eller flere servere. Du kan også konfigurere din klient til at tale med et bestemt sæt instanser. Så du kan køre to forskellige Memcache-processer på den samme vært, og alligevel er de fuldstændig uafhængige. Medmindre, hvis du har partitioneret dine data, så bliver det nødvendigt at vide, fra hvilken instans dataene skal hentes fra eller lægges ind i.
36) Du har flere Memcache-servere, hvor en af memcache-serverne fejler, og den har dine data, vil den nogensinde forsøge at hente nøgledata fra den ene fejlbehæftede server?
Dataene på den fejlbehæftede server vil ikke blive fjernet, men der er en bestemmelse om autofejl, som du kan konfigurere til flere noder. Fail-over kan udløses under alle socket- eller Memcached-serverniveaufejl og ikke under standardklientfejl som tilføjelse af en eksisterende nøgle osv.
37) Forklar, hvordan du kan minimere Memcached-serverudfald?
- Når en instans fejler, går flere af dem ned, og dette vil belaste databaseserveren større, når tabte data genindlæses, da en klient fremsætter en anmodning. For at undgå dette, hvis din kode er blevet skrevet for at minimere cache-stampede, vil det efterlade en minimal indvirkning
- En anden måde er at hente en forekomst af Memcached på en ny maskine ved hjælp af den mistede maskines IP-adresse
- Koden er en anden mulighed for at minimere serverafbrydelser, da den giver dig frihed til at ændre Memcached serverlisten med minimalt arbejde
- Indstilling af timeoutværdi er en anden mulighed, som nogle Memcached-klienter implementerer for Memcached-serverafbrydelse. Når din Memcached-server går ned, vil klienten blive ved med at prøve at sende en anmodning, indtil timeout-grænsen er nået
38) Forklar, hvordan du kan opdatere Memcached, når data ændres?
Når data ændres, kan du opdatere Memcached af
- Ryd cachen proaktivt: Rydning af cachen, når der foretages en indsættelse eller opdatering
- Nulstilling af cachen: Det ligner den første metode, men snarere end blot at slette nøglerne og vente på den næste anmodning om, at dataene skal opdatere cachen, skal du nulstille værdierne efter indsættelsen eller opdateringen.
39) Forklar hvad Dogpile-effekt er? Hvordan kan du forhindre denne effekt?
Dogpile-effekten henvises til hændelsen, når en cache udløber, og websteder rammes af de flere anmodninger, som klienten fremsætter på samme tid. Denne effekt kan forhindres ved at bruge en semaforlås. I dette system, når værdien udløber, erhverver den første proces låsen og begynder at generere ny værdi.
40) Forklar hvordan Memcached ikke skal bruges?
- Memcached almindeligt misbrug er at bruge det som et datalager og ikke som en cache
- Brug aldrig Memcached som den eneste kilde til de oplysninger, du skal bruge for at køre din applikation. Data bør også altid være tilgængelige gennem en anden kilde
- Memcached er kun et nøgle- eller værdilager og kan ikke udføre en forespørgsel over dataene eller iterere over indholdet for at udtrække information
- Memcached tilbyder ingen form for sikkerhed hverken i kryptering eller autentificering
41) Når en server bliver lukket ned, er data gemt i Memcached stadig tilgængelige?
Data, der er gemt i Memcached, er ikke holdbare, så hvis en server lukkes ned eller genstartes, slettes alle data, der er gemt i Memcached.
42) Nævn hvad forskellen mellem Memcache og Memcached?
- Memcache: Det er en udvidelse, der giver dig mulighed for at arbejde gennem praktiske objektorienterede (OOP'er) og proceduremæssige grænseflader. Det er designet til at reducere databasebelastningen i dynamiske webapplikationer.
- Memcached: Det er en udvidelse, der bruger libmemcached bibliotek til at levere API til kommunikation med Memcached-servere. Det bruges til at øge de dynamiske webapplikationer ved at lette databasebelastningen. Det er den nyeste API.
43) Forklar blå/grøn implementeringsmønster
Blåt/grønt farvemønster løser de vigtigste udfordringer under den automatiske implementeringsproces. I Blue/Green Deployment-tilgangen skal du sikre to identiske produktionsmiljøer. Men kun én blandt dem er LIVE på et givet tidspunkt. LIVE-miljøet kaldes Blue environment.
Når teamet forbereder den næste udgivelse af deres software, udfører de deres sidste testfase i et miljø, der er kendt som grønt miljø. Når den er verificeret, dirigeres trafikken til det grønne miljø.
44) Hvad er beholderne?
Containere er fra letvægtsvirtualisering. De tilbyder isolation mellem processer.
45) Hvad er post mortem møde med henvisning til DevOps?
Post mortem-mødet er lavet for at diskutere, hvad der gik galt, og hvilke skridt du skal tage for at undgå fejl.
46) Hvad er den nemmeste metode til at bygge en lille sky?
VMfres er en af de mest effektive muligheder for at lave IaaS cloud fra Virtual Box VM'er på ingen tid. Men hvis du vil have letvægts PaaS, så er Dokku en god mulighed, fordi bash script kan være PaaS ud af Dokku containere.
47) Nævn to værktøjer, der bruges til docker-netværk.
Til docker-netværk kan du bruge Kubernetes og Docker swarm.
48) Nævn nogle af de områder, hvor DevOps er implementeret
DevOps bruges til produktion, IT-drift, produktionsfeedback og softwareudvikling.
49) Hvad er CBD'?
CBD eller komponentbaseret udvikling er en unik måde at gribe produktudvikling an på. I denne metode leder udviklere altid efter eksisterende veldefinerede, testede og verificerede komponenter for at komponere og samle dem til et produkt i stedet for at udvikle fra bunden.
50) Forklar parprogrammering med henvisning til DevOps
Parprogrammering er en ingeniørpraksis af ekstreme programmeringsregler. I denne metode arbejder to programmører på det samme system, på samme design/algoritme/kode.
En programmør fungerer som en "driver". Andre fungerer som en "observatør", der løbende overvåger et projekts fremskridt for at identificere problemer. Rollerne kan vendes om på et hvilket som helst tidspunkt uden nogen forudgående antydning.
51) Forklar Resilience Test
Test, der sikrer gendannelse uden tab af data og funktionalitet efter en fejl, kaldes Resiliency-tests.
52) Nævn tre vigtige DevOps KPI'er
Tre mest almindelige DevOps KPI'er er:
- I mellemtiden til fejlgendannelse
- Implementeringsfrekvens
- Procentdel af mislykkede implementeringer
Disse interviewspørgsmål vil også hjælpe i din viva(orals)