Întrebări și răspunsuri la interviu Devops 2022 – Cele mai frecvente întrebări
Publicat: 2021-01-08Cuprins
Întrebări și răspunsuri la interviu DevOps
Sunteți inginer devops și acum sunteți în căutarea unui loc de muncă, așa că să aruncăm o privire la cele mai frecvente întrebări la interviul Devops
În comparație cu alte domenii ale informaticii, DevOps nu este foarte popular. Dar asta pentru că atât simplu, cât și complex de înțeles.
Pentru început, nu este un instrument sau un software. Mai degrabă, este un fel de cultură și metodologie de lucru în care echipele de dezvoltare (dezvoltatori de software) și operațiuni (deployeri) sunt combinate pentru dezvoltare continuă, integrare, testare, implementare și monitorizare. Scopul final este de a crea și livra un produs mai rapid, cu o rată de eșec cât mai mică posibil. Se completează și funcționează cu metodologia Agile, dar nu este similară cu aceasta.
Dacă sunteți cineva care este interesat de natura amestecată a acestui domeniu și dorește să lucreze în el, atunci următoarele întrebări de interviu vă vor ajuta să treceți peste porți și să obțineți jobul dvs. de vis.
- Care sunt unele instrumente DevOps populare?
• Păpușă
• Ansible
• Git
• Maven
• Bucătar
• Jenkins
• Docker
• Nagios
• ELK - Care sunt operațiunile de bază ale DevOps?
• Dezvoltare
• Controlul versiunii
• Testare
• Integrare
• Implementare
• Livrare
• Configurare
• Monitorizarea
• Părere - Care sunt 3 KPI-uri importanți ai DevOps?
• Frecvența de desfășurare
• Procentul de implementări eșuate
• Timpul mediu până la recuperarea eșecului - Ce este sistemul de control al versiunilor?
VCS este un software care permite dezvoltatorilor de software să lucreze împreună, păstrând în același timp întregul istoric al muncii efectuate până în orice moment. - Există 2 tipuri de VCS:
- VCS central. Exemplu: Git
- Distribuie/descentralizat VCS. Exemplu: SVN
- Motivul pentru care VCS este o parte integrantă a DevOps este că:
- Le permite dezvoltatorilor să lucreze împreună la o bucată de cod
- Nu le permite să se suprascrie reciproc asupra modificărilor celuilalt
- Menține istoria fiecărei versiuni vreodată
- Care este diferența dintre Git pull și Git fetch?
Sub forma unei ecuații simple,
Git pull = Git fetch + Git merge
Comanda git pull este folosită pentru a extrage orice modificări nou făcute sau pentru a se comite la o ramură țintă din depozitul dvs. local dintr-o ramură din depozitul central.
Comanda git fetch are și el același scop. Cu toate acestea, în loc să stocheze noile modificări și comite-uri în ramura țintă, le stochează într-o ramură nouă. Pentru a ne asigura că modificările se reflectă și în ramura țintă, trebuie să folosim comanda git merge.
Ecuația este utilă în amintirea funcției fiecărei comenzi.
- Cum putem ști dacă o ramură din Git a fost îmbinată în master?
Folosind fie comanda git branch -merged SAU git branch -no-merged.
Prima afișează toate ramurile care au fost îmbinate cu ramura curentă, în timp ce cea de-a doua afișează ramurile care nu au fost încă îmbinate. - Ce strategii de ramificare sunt disponibile pentru utilizare în Git?
- Caracteristică ramificare
În această strategie de ramificare, toate modificările pentru o caracteristică sunt păstrate în interiorul ramurilor. Când testele automate testează și validează ramura caracteristică, ramura este fuzionată în master. - Ramificarea sarcinilor
În cadrul acestei strategii, fiecare sarcină este implementată în propria sa ramură. Cheia de activitate este inclusă împreună cu numele sucursalei. Prezența acestei chei face ușor să vedeți ce sarcină este implementată de ce cod. - Eliberați ramificarea
Odată ce ramura de dezvoltare este gata cu caracteristicile sale, este clonată pentru a forma Ramura de lansare. Crearea acestei ramuri pune în mișcare ciclul de lansare prin care nu pot fi adăugate funcții noi. Singurele sarcini care pot fi efectuate sunt: remedieri de erori, generarea de documentație și alte sarcini legate de ediție. Versiunea este îmbinată în master și etichetată cu un număr de versiune atunci când este gata de livrare.
- Caracteristică ramificare
- Ce este SubGit?
SubGit este un instrument folosit pentru migrarea SVN la Git. - Cum putem clona un depozit Git folosind Jenkins?
Primul pas este să introduceți numele de utilizator și adresa de e-mail în sistemul Jenkins. Accesați directorul de joburi și executați comanda „git config”. - Care este diferența dintre Ansible Playbook și Roles?
Cărți de joc:
Conține piese de teatru
Acționați ca hărți între gazde și roluri
Exemple: webservers.yml, site.yml
Roluri:
Sunt subseturi reutilizabile ale unei piese de teatru
Sunt un set de sarcini pentru îndeplinirea unui anumit rol
Exemplu: comune, servere web - Ce este Docker?
Docker este un fel de tehnologie care împachetează toate aplicațiile și dependențele aferente în Containers, asigurându-se astfel că aplicația dvs. funcționează fără probleme și fără cusur în orice mediu. Imaginile Docker sunt folosite pentru a crea aceste containere.
Funcționează numai pe platforme Linux și Cloud:


- openSUSE 12.3+
- Gentoo
- ArchLinux
- RHEL 6.5+
- Fedora 20+
- Microsoft Azure
- Rackspace
A numi câteva.

- Ce este Scrum?
Scrum este ca un rezolvator de sarcini care folosește iterații și practici incrementale pentru a împărți software-ul și sarcinile complexe de dezvoltare în bucăți mai mici posibile. Fiecare iterație durează 2 săptămâni. - Ce instrumente SCM sunt acceptate de Jenkins?
• RTC
• Forțat
• Clearcase
• Git
• Subversiune
• CVS
Zona acoperită de DevOps este vastă, deoarece este amalgamarea a 2 etape unice de creare a software-ului. Lista de mai sus oferă o idee despre felul de întrebări care sunt adresate și nu este în niciun caz exhaustivă. Pentru un avans puternic, totuși, nu poți da greș. Succes cu pregătirea interviului!
Învață cursuri de inginerie software online de la cele mai bune universități din lume. Câștigă programe Executive PG, programe avansate de certificat sau programe de master pentru a-ți accelera cariera.
Concluzie
Cu aceasta, încheiem întrebările și răspunsurile la interviul Devops . Sperăm că ghidul nostru este de ajutor. Vom actualiza ghidul în mod regulat pentru a vă ține la curent.
Dacă sunteți interesat să deveniți inginer DevOps, consultați Programul Executive PG al IIIT-B și upGrad în Programul de dezvoltare software Full Stack.
Ce este DevOps?
DevOps este un termen folosit pentru a descrie colaborarea dezvoltatorilor de software, inginerilor de fiabilitate a site-ului și inginerilor de asigurare a calității. Poate fi privit ca o metodologie sau o cultură. Este o filozofie care este folosită pentru dezvoltarea și livrarea aplicațiilor prin colaborarea dezvoltatorilor de software și operațiunilor IT. Termenul DevOps este o combinație a celor două cuvinte Dezvoltare și Operațiuni. Au fost dezvoltate și implementate noi practici DevOps pentru a ajuta dezvoltatorii de software să colaboreze mai eficient între ei și operațiunile IT pentru a furniza software mai rapid clienților.
Ce este un instrument de control al versiunilor folosit în DevOps?
Git este unul dintre cele mai populare instrumente utilizate în DevOps. Este un sistem distribuit de control al versiunilor care este utilizat în principal pentru gestionarea codului sursă. Git stochează fiecare revizuire a unui proiect în propriul său depozit. Cea mai bună caracteristică a Git este natura sa distribuită. Orice programator poate colabora cu ușurință și poate partaja cod cu alții din grupul său. Cea mai bună parte este că economisește mult timp dezvoltatorilor în timp ce codifică, ceea ce duce la o funcționare mai bună.
Ce face un dezvoltator DevOps?
Cuvântul DevOps este un portmanteau format din doi termeni: Dezvoltare și Operațiuni. Termenul a fost inventat de Patrick Debois și se referă la tendința recentă de a fuziona cele două aspecte ale ciclului de viață al dezvoltării software și de a estompa liniile tradiționale ale responsabilităților lor. Inginerii DevOps lucrează cu echipa care dezvoltă software și cu echipa care operează serverele. Rolul unui inginer DevOps poate fi rezumat după cum urmează: Preia toate lucrurile legate de furnizarea unui singur serviciu sau sistem și a tuturor serviciilor și sistemelor suport, Lucrează cu echipa de dezvoltare pentru a identifica dependențele dintre dezvoltare și operare, și Lucrează cu echipa de operațiuni pentru a ajuta la automatizarea operațiunilor și dezvoltarea unui proces de livrare, Acționează ca o legătură între echipele de dezvoltare și operațiuni și echipa de management de produs și proiect.