top 20 latest devops interview questions
Cele mai populare întrebări și răspunsuri la interviurile DevOps pentru a șterge cu succes orice interviuri DevOps:
Am văzut lista celor mai bune Furnizorii de servicii DevOps în ultimul nostru tutorial.
DevOps nu se referă doar la instrumente, ci este, de asemenea, un set de bune practici care ne permit să acoperim decalajul dintre echipele de dezvoltare și operațiuni în domeniile de integrare și implementare continuă, utilizând un set integrat de instrumente pentru automatizarea livrării software-ului.
Citire sugerată => Ghid introductiv DevOps
Să aruncăm o privire la câteva dintre cele mai frecvente întrebări din interviul DevOps, împreună cu posibilele răspunsuri pe care le puteți oferi. Răspunsurile pot varia în funcție de munca și experiențele proprii.
Cele mai bune întrebări pentru interviuri DevOps cu răspunsuri
Mai jos este prezentată o listă cu cele mai frecvente întrebări DevOps din interviuri:
Să începem.
Q # 1) Explicați DevOps.
Răspuns:
- DevOps promovează comunicarea și colaborarea între echipe de afaceri, dezvoltare și operațiuni. Într-un fel, vorbim despre unificare.
- DevOps nu este doar despre instrumente, ci și despre implicarea oamenilor și a proceselor.
- DevOps este inspirat din procesul Agile.
- DevOps este despre automatizarea proceselor de dezvoltare, lansare și operare.
- DevOps ajută la viteza de livrare a aplicațiilor către utilizatorii finali.
- DevOps este, de asemenea, despre îmbunătățirea continuă, care ajută la învățare prin feedback.
Q # 2) Explicați câteva condiții prealabile care sunt utile pentru implementarea DevOps.
Răspuns: Cerințele preliminare includ:
- Angajament la nivel superior în organizație.
- Nevoia de schimbare care trebuie comunicată în întreaga organizație.
- Software de control al versiunilor.
- Instrumente automate pentru conformare la proces.
- Testare automată
- Implementare automată
Î # 3) Care sunt cele mai bune practici pentru implementarea DevOps?
Răspuns: Implementarea DevOps variază de la o organizație la alta. Astăzi, organizațiile caută să livreze software-ul mai repede și, din acest punct de vedere, iată gândurile mele cu privire la modul în care DevOps poate aduce o comunicare eficientă cu toate părțile interesate, inclusiv cu echipa de operațiuni.
- Fiecare organizație are anumite obiective de afaceri și implementarea DevOps ar trebui să se alinieze la aceasta. Ar trebui să existe o anumită nevoie de schimbare.
- Încurajarea comunicării și a colaborării în special între dezvoltare și operațiuni.
- Automatizarea este cheia și trebuie făcută și realizată ori de câte ori este posibil în etapele SDLC pentru a facilita funcționarea DevOps.
- Instrumentele utilizate în DevOps ar trebui să se integreze foarte bine. Din punctul de vedere al oricăror instrumente comerciale precum IBM Rational CLM sau Microsoft TFS, implementarea DevOps este bună, deoarece este de la un singur furnizor. În mod similar, trebuie să ne uităm la instrumentele open-source care se integrează pentru a oferi rezultate dorite similare.
- Implementarea DevOps nu are succes fără practici de integrare continuă și livrare continuă. Deci, CI al codului dvs. cu teste riguroase și realizarea CD-ului este cheia acestuia.
- Este foarte important pentru echipa Ops să se asigure că aplicațiile funcționează foarte bine la niveluri adecvate. Dacă este necesar, vor trebui să colaboreze cu echipele de dezvoltare pentru a construi orice instrumente care ar ajuta la construirea capabilităților corecte de monitorizare în aplicații.
- În cele din urmă, încurajați feedback-ul utilizatorilor finali pentru a permite îmbunătățirea continuă, care oferă cheia pentru îmbunătățirea procesului și furnizarea de software de calitate.
Q # 4) Care sunt componentele cheie ale DevOps?
Răspuns: Componentele cheie includ:
- Integrare continuă
- Testare continuă
- Livrare continua
- Monitorizare continuă
Q # 5) Explicați integrarea continuă.
Răspuns: Integrarea continuă este o componentă foarte importantă a procesului Agile. De obicei, dezvoltatorii lucrează la caracteristici sau povești ale utilizatorilor într-un sprint și își modifică modificările în depozitul de control al versiunilor.
Odată ce codul este angajat, atunci întreaga activitate a dezvoltatorilor este bine integrată, iar construirea este efectuată în mod regulat, în funcție de fiecare check-in sau program. Prin urmare, integrarea continuă ca practică obligă dezvoltatorul să integreze schimbările lor cu ceilalți, astfel încât să obțină feedback timpuriu.
c ++ referință nedefinită la funcția din fișierul antet
Q # 6) Explicați livrarea continuă.
Răspuns: Livrarea continuă este o extensie a integrării continue, care ajută în primul rând să ofere utilizatorilor finali funcțiile pe care dezvoltatorii le dezvoltă cât mai curând posibil. În timpul acestui proces, acesta trece prin diferite etape de QA, Staging, etc., și apoi pentru livrarea către sistemul de PRODUCȚIE.
Q # 7) Explicați testarea continuă.
Răspuns: Din obiectivul de mai sus al Integrării continue, care este acela de a trimite aplicația către utilizatorii finali, permit în primul rând livrarea continuă. Acest lucru nu poate fi finalizat fără o cantitate suficientă de teste unitare și teste de automatizare.
Prin urmare, trebuie să validăm că codul produs și integrat cu toți dezvoltatorii care funcționează după cum este necesar.
Q # 8) Explicați monitorizarea continuă.
Răspuns: Pe măsură ce aplicația este dezvoltată și implementată, trebuie să îi monitorizăm performanța. Monitorizarea este, de asemenea, foarte important, deoarece ar putea ajuta la descoperirea defectelor care ar putea să nu fi fost detectate anterior.
Q # 9) Cum veți aborda atunci când un proiect trebuie să implementeze DevOps?
Răspuns: Se pot utiliza următoarele abordări, dar acestea vor varia în funcție de scenariile de proiect reale sau de la o organizație la alta
Etapa 1: Pentru orice implementare DevOps, o evaluare a procesului existent și a implementării timp de aproximativ 2 până la 3 săptămâni, luând în medie 5 aplicații, este necesară pentru a evalua procesul AS-IS, identifică domeniile de îmbunătățire și oferă o foaie de parcurs pentru implementare.
De obicei, un profil senior ca un arhitect DevOps ar trebui să fie implicat pentru a efectua această evaluare.
Etapa 2: Se poate face un POC pilot pentru a prezenta funcționarea cap la cap a DevOps. Odată ce acest lucru a fost acceptat și aprobat de utilizatorii finali, atunci ar trebui să se efectueze implementarea efectivă, predarea și implementarea planului pentru proiectele implicate.
Orice instruire necesară va trebui, de asemenea, să fie împărțită procesului sau instrumentelor. Arhitecții, inginerii și testerii DevOps ar trebui să fie implicați în această etapă.
Etapa 3: Proiectele ar trebui să fie acum în modul DevOps cu toate componentele integrării / livrării / testării și monitorizării continue care sunt urmărite.
Q # 10) DevOps pot fi aplicate unui proces Waterfall? Explicați semnificația procesului Agile în implementarea DevOps.
Răspuns: În procesul cascadei, după cum toți suntem conștienți inițial de cerințe complete, sunt adunate cerințele, apoi sistemul este proiectat, implementarea sistemului se face apoi urmată de testarea sistemului și implementată utilizatorilor finali. În acest proces, problema a fost că a existat un timp imens de așteptare pentru construire și implementare, ceea ce a făcut foarte dificilă obținerea feedback-ului.
Soluția la problema de mai sus a fost că procesul Agile trebuie să aducă agilitate atât în dezvoltare, cât și în operațiuni. Procesul agil ar putea fi principalul sau poate fi necesară o anumită premisă pentru implementarea DevOps. DevOps merge mână în mână cu procesul Agile.
Zona de concentrare este lansarea software-ului într-un mod foarte oportun, cu cicluri de lansare mai scurte și feedback rapid. Deci, concentrarea procesului agil va fi în principal pe viteză și în DevOps, funcționează bine cu automatizarea diferitelor instrumente
Q # 11) Care este diferența dintre livrarea continuă și implementarea continuă?
Răspuns: Într-un Sprint Agil, De exemplu, există multe caracteristici sau povești ale utilizatorilor care sunt dezvoltate, testate și gata de implementare. Dar, pe baza scenariilor și priorităților clienților, nu toate vor fi implementate. Deci, aici, în livrare continuă, este foarte important să păstrați codul disponibil pentru implementare.
În Continuous Deployment, toate modificările dezvoltate de dezvoltator parcurg diferite etape pentru a fi implementate în mediul PRODUCTION într-un mod automat.
Q # 12) Care este expertiza dvs. în proiectele DevOps?
Răspuns: Explicați-vă rolul de inginer DevOps și modul în care lucrați ca parte a mediului 24 * 7 și poate în schimburi, proiectele implicate în automatizarea conductelor CI și CD și furnizarea de sprijin echipelor de proiect.
Prin urmare, asumarea responsabilității complete pentru întreținerea și extinderea mediilor pentru automatizarea DevOps la tot mai multe proiecte și diferite tehnologii ( Exemplu: .NET, proiecte J2EE) implicate în cadrul organizației.
De asemenea, explicați procesul ( Exemplu Agile) și instrumente care au fost implicate într-o automatizare cap la cap. De asemenea, ați putea vorbi despre experiența dvs., dacă este cazul, în asistența DevOps în mediul Cloud.
deschideți un fișier apk în Windows
Q # 13) Care sunt primele 10 instrumente DevOps care sunt utilizate astăzi în industrie?
Răspuns: Lista include:
- Jira
- GIT / SVN
- Bitbucket
- Jenkins
- Bambus
- SonarQube
- Artifactory / Nexus
- Docher
- Bucătar / marionetă / Ansible
- IBM Urbancode Deploy / CA-RA
- Nagios / Splunk
Q # 14) Puteți explica utilizările instrumentelor menționate în întrebarea de mai sus și cum se conectează pentru a da un model DevOps (CI / CD)?
Răspuns:
Planificare
- Jira - Utilizat pentru planificarea proiectelor și gestionarea problemelor
Integrare continuă
- Merge - Controlul versiunii
- Jenkins - Instrument open source de integrare continuă, care poate ajuta și la livrarea continuă.
- SonarQube - Analiza codului
- JFrog Artifactory - Manager de depozitare binară
Livrare continua
diferența dintre c și c ++
- Bucătar / marionetă / Ansible - Managementul configurației și implementarea aplicației
- IBM Urbancode Deploy / CA RA - Livrare continua
Monitorizare continuă
- Nagios / Splunk
Exemplu de flux de lucru DevOps:
- De obicei, într-un proces Agile, poveștile, sarcinile, defectele etc. ale utilizatorilor sunt stocate în JIRA și atribuite proprietarilor și dezvoltatorilor de produse.
- Dezvoltatorii preiau sarcinile care le-au fost atribuite și lucrează la dezvoltare. Codul sursă este controlat în versiune și stocat în GIT. Dezvoltatorii își angajează modificările la codul sursă din GIT. În cele din urmă, codul este distribuit între dezvoltatorii care folosesc GitHub.
- Jenkins, care este instrumentul de integrare continuă, trage codul și la fiecare check-in sau pe baza unui program, construirea se face folosind instrumente de construcție precum Maven sau ANT.
- Pe măsură ce sunt produse fișierele J2EE WAR, acestea sunt, de asemenea, controlate de versiune și stocate într-un manager de depozitare binară, cum ar fi Artifactory sau Nexus.
- Testarea unității utilizând analiza JUnit și a codului cu SonarQube este de asemenea realizată și automatizată
- Odată ce procesul de mai sus este finalizat, livrarea continuă se efectuează în diferite medii pe baza aprobărilor folosind instrumente precum IBM UrbanCode Deploy / CA RA Testarea continuă (testarea funcțională și de acceptare) este invocată în mediile de testare adecvate folosind instrumente precum Selenium
- Monitorizarea continuă ar fi o activitate continuă în mediul PROD
Q # 15) Ce este managementul configurației în ceea ce privește infrastructura și menționează câteva instrumente populare utilizate?
Răspuns: Managementul configurației constă din practici și diversele instrumente implicate pentru automatizarea livrării și a operațiunilor de infrastructură. Este vorba despre menținerea serverului gata ( Exemplu Instalarea pachetelor de sistem, setări de configurare a rețelei) pentru implementarea aplicației odată ce aplicația este dezvoltată.
Deci, operatorii sau administratorul de sistem trebuie să asigure paritatea în diferite medii (Dev, QA, PROD, etc ...) prin aprovizionarea sistemelor.
Instrumentele utilizate în acest spațiu pentru automatizarea sarcinilor de gestionare a configurației descrise mai sus sunt Bucătar / marionetă / Ansible
Q # 16) Ce instrumente de scriptare sunt utilizate în DevOps?
Răspuns: Python, Ruby
Q # 17) Explicați rolurile tipice implicate în DevOps.
Răspuns:
- Arhitect DevOps: Liderul care este responsabil pentru întregul proces DevOps.
- Inginer DevOps: Persoana ar trebui să aibă experiență cu Agile, SCM sau Control versiuni, CI / CD și configurarea instrumentelor de automatizare pentru aceleași abilități, automatizarea infrastructurii și gestionarea bazelor de date. Orice dezvoltator care are abilități în codificare sau scriptare și are abilitatea de a intra în implementare sau administrator de sistem se poate califica pentru rolul de inginer DevOps.
Q # 18) Ați fost implicat în implementarea DevOps în cloud? Dacă da, ce platformă de cloud computing?
Răspuns:Exemple de platforme populare de cloud computing:
- AWS - Amazon Web Services
- Microsoft Azure
- Google Cloud
Q # 19) Explicați câteva dintre valorile care au fost urmate pentru succesul DevOps.
Răspuns:
Unele dintre exemple sunt următoarele:
- Primul și cel mai important factor este viteza de livrare, ceea ce înseamnă timpul necesar pentru ca orice articol de lucru să intre în mediul de producție.
- Următorul ar fi implementarea și cât timp ar dura după automatizarea acestui proces.
- Este aproape necesar să se urmărească câte defecte se găsesc în medii diferite în raport cu mediul PRODUCȚIE. Acest lucru este foarte important pentru a lua în considerare caracteristicile care trebuie lansate mai repede. Utilizarea metodologiilor Agile ajută foarte mult și obiectivul principal este reducerea defectelor la nivelul PRODUCȚIEI.
- În mod normal, implementările nu eșuează, dar este foarte important să urmăriți acest aspect și să aveți un mecanism pentru a reveni la versiunea stabilă anterioară.
- În orice implementare DevOps, testarea unitară este cheia, precum și testarea funcțională. Pe baza modificărilor de cod efectuate, de multe ori trebuie să analizăm dacă aceste teste se întrerup și în ce măsură. Este imperativ ca testul automat să fie suficient de robust pentru a susține orice modificare a codului.
- Este foarte important să măsurați timpul real sau mediu necesar pentru recuperare în cazul unei defecțiuni în mediul PRODUCȚIE. Acesta este denumit Media Time To Recovery (MTTR) și ar trebui să fie scurt. Aceasta înseamnă, de asemenea, că trebuie să aveți instrumente de monitorizare adecvate pentru a menține timpul de recuperare scurt.
- Performanța aplicației este o altă valoare cheie care ar trebui monitorizată mai ales după efectuarea oricărei implementări.
- Un factor foarte important pentru succes este numărul de erori raportate de clienți, care depinde în primul rând de calitatea aplicației.
Q # 20) Care sunt așteptările dvs. din perspectiva carierei DevOps?
Răspuns: Să fim implicați în procesul de livrare de la capăt la cap și la cel mai important aspect al ajutării la îmbunătățirea procesului, astfel încât echipele de dezvoltare și operațiuni să poată lucra împreună și să înțeleagă punctul de vedere al celuilalt.
Concluzie
Aceasta a fost lista celor mai populare întrebări de interviu DevOps.
La inceputul această serie de tutoriale DevOps , am ajuns să știm ce este exact DevOps, procesul său și anumite modalități posibile de implementare a acestora.
Întrebările DevOps din acest tutorial ar trebui să vă ajute să cuceriți interviul DevOps și să vă stabiliți calea unei cariere grozave în acest domeniu. Deoarece întrebările menționate sunt dintr-o perspectivă DevOps, ar trebui să fiți, de asemenea, competenți în procesul Agile și în instrumentele menționate în acest articol pentru CI și CD.
Sper că v-ați bucurat de întreaga gamă de tutoriale din seria noastră DevOps și sunt sigur că trebuie să fi dobândit cunoștințe imense despre conceptul DevOps !! Vă dorim tot succesul !!!
Lectură recomandată
- Cele mai bune 9 conferințe DevOps în 2021 pe care ar trebui să le urmați
- Roluri Ansible, integrare cu Jenkins în DevOps și module EC2
- Monitorizarea performanței aplicației în DevOps
- Tutorial AWS CodeCommit pentru implementarea DevOps în cloud
- Cele mai bune instrumente open source DevOps (cu instalare și configurare)
- Colaborare în DevOps
- Managementul configurației în practicile DevOps
- Livrare continuă în DevOps
- Implementare continuă în DevOps
- Integrare continuă în DevOps
- Testare continuă în DevOps
- Demistificarea DevOps: Tutorial video (Partea 1)
- DevOps Automation: Cum se aplică automatizarea în DevOps Practice
- Practică DevOps bazată pe manifestul agil (partea 2 - blocul 1)
- Tutorial DevOps Testing: Cum va afecta DevOps testarea QA?
- Tutorial DevOps: Ghidul final pentru DevOps (25+ Tutoriale)
- DevOps cu Microsoft VSTS: CI / CD într-o aplicație web Azure
- Cum să dezvolți colaborarea în echipele DevOps
- Cum se utilizează Microsoft TFS pentru proiecte JAVA cu Eclipse în DevOps
- Importanța micilor creșteri ale livrărilor în DevOps