Top 50 de întrebări despre interviul DevOps & Răspunsuri

Anonim

Descărcați PDF

1) Explicați ce este DevOps?

Este un termen nou apărut în domeniul IT, care nu este altceva decât o practică care subliniază colaborarea și comunicarea atât a dezvoltatorilor de software, cât și a echipei de implementare (operațiuni). Se concentrează pe livrarea mai rapidă a produselor software și pe scăderea ratei de eșec a lansărilor.

2) Menționează care sunt aspectele cheie sau principiul din spatele DevOps?

Aspectele cheie sau principiul din spatele DevOps este

  • Infrastructura ca cod
  • Implementare continuă
  • Automatizare
  • Monitorizarea
  • Securitate

3) Care sunt operațiunile de bază ale DevOps cu dezvoltarea aplicațiilor și cu infrastructura?

Operațiunile de bază ale DevOps sunt

Dezvoltarea aplicației

  • Construirea codului
  • Acoperirea codului
  • Testarea unității
  • Ambalare
  • Implementare

Infrastructură

  • Aprovizionare
  • Configurare
  • Orchestrarea
  • Implementare

4) Explicați cum este procesat sau executat „codul de infrastructură” în AWS?

În AWS,

  • Codul pentru infrastructură va fi în format JSON simplu
  • Acest cod JSON va fi organizat în fișiere numite șabloane
  • Aceste șabloane pot fi implementate pe devs AWS și apoi gestionate ca stive
  • Mai târziu, serviciul CloudFormation va efectua operația de creare, ștergere, actualizare etc. în stivă

5) Explicați ce limbaj de scriptare este cel mai important pentru un inginer DevOps?

Un limbaj de scriptare mai simplu va fi mai bun pentru un inginer DevOps. Python pare a fi foarte popular.

6) Explicați modul în care DevOps este util dezvoltatorilor?

DevOps poate fi de ajutor dezvoltatorilor pentru a remedia eroarea și a implementa rapid funcții noi. De asemenea, ajută la o comunicare mai clară între membrii echipei.

7) Enumerați câteva instrumente populare pentru DevOps?

Unele dintre instrumentele populare pentru DevOps sunt

  • Jenkins
  • Nagios
  • Monit
  • ELK (Elasticsearch, Logstash, Kibana)
  • Jenkins
  • Docher
  • Ansible
  • Git

8) Menționați la ce instanță ați folosit SSH-ul?

Am folosit SSH pentru a mă conecta la o mașină la distanță și a lucra pe linia de comandă. În afară de aceasta, l-am folosit și pentru a tunela în sistem, pentru a facilita comunicațiile securizate criptate între două gazde neacredibile într-o rețea nesigură.

9) Explicați cum ați gestiona controlul de revizie (versiune)?

Abordarea mea de a gestiona controlul reviziei ar fi să postez codul pe SourceForge sau GitHub, astfel încât toată lumea să îl poată vedea. De asemenea, voi posta lista de verificare de la ultima revizuire pentru a mă asigura că orice problemă nerezolvată este rezolvată.

10) Care sunt tipurile de solicitări Http?

Tipurile de solicitări Http sunt

  • OBȚINE
  • CAP
  • A PUNE
  • POST
  • PLASTURE
  • ȘTERGE
  • URMĂ
  • CONECTAȚI
  • OPȚIUNI

11) Explicați ce ați verifica dacă un server Linux-build începe brusc să încetinească?

Dacă un server Linux-build începe brusc să încetinească, veți verifica următoarele trei lucruri

  • Depanare la nivel de aplicație
Probleme legate de RAM, probleme de citire-scriere I / O pe disc, probleme legate de spațiul pe disc etc.
  • Depanare la nivel de sistem
Verificați dacă există fișier jurnal aplicație SAU fișier jurnal server aplicație, probleme de performanță a sistemului, jurnal server web - verificați jurnalele HTTP, tomcat lo, jboss sau WebLogic pentru a vedea dacă timpul de răspuns / recepție al serverului de aplicații este problemele pentru încetinire, scurgeri de memorie ale oricărui cerere
  • Depanare Servicii dependente
Probleme legate de antivirus, probleme legate de firewall, probleme de rețea, probleme legate de timpul de răspuns al serverului SMTP etc.

12) Care sunt componentele cheie ale DevOps?

Cele mai importante componente ale DevOps sunt:

  • Integrare continuă
  • Testare continuă
  • Livrare continua
  • Monitorizare continuă

13) Numiți câteva platforme cloud care sunt utilizate pentru implementarea DevOps

Platforma populară de cloud computing utilizată pentru implementarea DevOps este:

  1. Google Cloud
  2. Servicii Web Amazon
  3. Microsoft Azure

14) Oferiți câteva avantaje ale utilizării sistemului de control al versiunilor

  • Sistemul de control al versiunilor permite membrilor echipei să lucreze liber pe orice fișier în orice moment.
  • Toate versiunile și variantele anterioare sunt strâns împachetate în interiorul VCS.
  • Un VCS distribuit vă ajută să stocați istoricul complet al proiectului, astfel încât, în cazul unei defecțiuni pe serverul central, puteți utiliza depozitul local Git al membrilor echipei.
  • Vă permite să vedeți ce modificări exacte se fac în conținutul fișierului

15) Explicați Git Bisect

Git bisect vă ajută să găsiți commit-ul care a introdus un bug folosind căutarea binară.

16) Care este construcția?

O construcție este o metodă în care codul sursă este pus împreună pentru a verifica dacă funcționează ca o singură unitate. În procesul de creare a compilării, codul sursă va fi supus compilării, inspecției, testării și implementării.

17) Ce este Puppet?

Păpușa este un instrument util de gestionare a proiectelor. Vă ajută să automatizați sarcinile de administrare.

18) Explicați autentificarea cu doi factori

Autentificarea cu doi factori este o metodă de securitate în care utilizatorul oferă două modalități de identificare din categorii separate.

19) Explicați termenul „Canary Release”.

O versiune canar este un model care reduce riscul introducerii unei noi versiuni de software în mediul de producție. Se realizează făcându-l disponibil într-un mod controlat pentru un subset al utilizatorului. Înainte de a-l pune la dispoziție setului complet de utilizatori.

20) Ce tipuri de testare sunt importante pentru a ne asigura că noul serviciu este pregătit pentru producție?

Trebuie să efectuați teste continue pentru a vă asigura că noul serviciu este pregătit pentru producție.

21) Ce este Vagrant?

Un vagabond este un instrument care poate crea și gestiona medii virtualizate pentru testarea și dezvoltarea de software.

22) La ce folosește PTR în DNS?

Înregistrarea indicatorului, cunoscută și sub numele de (PTR), este utilizată pentru căutarea DNS inversă.

23) Ce este Chef?

Este o platformă puternică de automatizare care transformă infrastructura în cod. În acest instrument, puteți utiliza scripturi de scriere care sunt utilizate pentru automatizarea proceselor.

24) Care sunt premisele pentru implementarea DevOps?

Următoarele sunt condițiile prealabile utile pentru implementarea DevOps:

  • Cel puțin un software de control al versiunii
  • Comunicarea corectă între membrii echipei
  • Testare automată
  • Implementare automată

25) Numiți câteva dintre cele mai bune practici care ar trebui urmate pentru succesul DevOps.

Aici sunt cele mai bune practici esențiale pentru implementarea DevOps:

  • Viteza de livrare înseamnă timpul necesar pentru orice sarcină pentru a le introduce în mediul de producție.
  • Urmăriți câte defecte se găsesc în diferite
  • Este important să măsurați timpul real sau mediu necesar pentru recuperare în cazul unei defecțiuni în mediul de producție.
  • Numărul de erori raportate de client are și impact asupra calității aplicației.

26) Explicați instrumentul SubGIt

SubGit vă ajută să migrați SVN în Git. De asemenea, vă permite să construiți o oglindă Git scriibilă a unui depozit local sau la distanță Subversion.

27) Numiți câteva instrumente importante de monitorizare a rețelei

Unele instrumente de monitorizare a rețelei cele mai importante sunt:

  • Splunk
  • Icinga 2
  • Wireshark
  • Nagios
  • OpenNMS

28) Dacă placa video poate rula Unity, cum ați ști?

Când utilizați o comandă

/usr/lib/Linux/unity_support_test-p

va oferi rezultate detaliate despre cerințele Unity și, dacă acestea sunt îndeplinite, atunci placa video poate rula unitate.

29) Explicați cum să activați sunetul de pornire în Ubuntu?

Pentru a activa sunetul de pornire

  • Faceți clic pe dispozitivul de control, apoi faceți clic pe Startup Applications
  • În fereastra Startup Application Preferences , faceți clic pe Adăugare pentru a adăuga o intrare
  • Apoi completați informațiile din casetele de comentarii precum Nume, Comandă și Comentariu
/usr/bin/canberra-gtk-play-id= "desktop-login"-description= "play login sound"
  • Deconectați-vă și apoi conectați-vă după ce ați terminat

De asemenea , puteți deschide cu tasta de acces rapid Ctrl + Alt + T .

30) Care este cel mai rapid mod de a deschide un terminal Ubuntu într-un anumit director?

Pentru a deschide un terminal Ubuntu într-un anumit director, puteți utiliza o comandă rapidă personalizată de la tastatură.

Pentru a face acest lucru, în câmpul de comandă al unei noi tastaturi personalizate, tastați genom - terminal - - de lucru - director = / cale / către / dir.

31) Explicați cum puteți obține culoarea curentă a ecranului curent pe desktopul Ubuntu?

Puteți deschide imaginea de fundal în The Gimp (editor de imagini) și apoi utilizați instrumentul dropper pentru a selecta culoarea pe un anumit punct. Vă oferă valoarea RGB a culorii în acel moment.

32) Explicați cum creați lansatoare pe un desktop în Ubuntu?

Pentru a crea lansatoare pe un desktop în Ubuntu le puteți utiliza

ALT + F2 apoi tastați „gnome-desktop-item-edit -create-new ~ / desktop”, va lansa vechiul dialog GUI și va crea un lansator pe desktop

33) Explicați ce este Memcached?

Memcached este un sistem de stocare în cache a obiectelor de memorie distribuite gratuit și performant, de înaltă performanță. Obiectivul principal al Memcached este de a spori timpul de răspuns pentru datele care altfel pot fi recuperate sau construite din alte surse sau baze de date. Este folosit pentru a evita necesitatea de a opera baza de date SQL sau o altă sursă în mod repetat pentru a prelua date pentru o cerere concurentă.

Memcached poate fi folosit pentru

  • Rețele sociale-> Profilarea în cache
  • Agregare de conținut-> HTML / cache de pagină
  • Direcționarea anunțurilor-> Urmărirea cookie-urilor / profilului
  • Relație-> Memorarea în cache a sesiunii
  • E-commerce -> Sesiune și cache HTML
  • Servicii bazate pe locație-> Scalarea interogării bazei de date
  • Jocuri și divertisment-> Memorarea în cache a sesiunii

Memcache vă ajută

  • Accelerează procesele de aplicare
  • Determină ce să stochezi și ce să nu
  • Reduceți numărul de cereri de recuperare către baza de date
  • Reduce accesul I / O (intrare / ieșire) (hard disk)

Dezavantajul Memcached este

  • Nu este un magazin de date persistent
  • Nu o bază de date
  • Nu este o aplicație specifică
  • Nu poate memora în cache obiectul mare

34) Menționați câteva caracteristici importante ale Memcached?

Caracteristicile importante ale Memcached includ

  • Jetoane CAS: Un jeton CAS este atașat unui obiect preluat dintr-un cache. Puteți utiliza acel token pentru a salva obiectul actualizat.
  • Rambursări: simplifică codul
  • getDelayed: reduce timpul de întârziere al scriptului dvs., care așteaptă ca rezultatele să revină de pe un server
  • Protocol binar: Puteți utiliza protocolul binar în loc de ASCII cu clientul mai nou
  • Igbinary: Anterior, un client obișnuia să facă serializarea valorii cu date complexe, dar cu Memcached, puteți utiliza opțiunea igbinary.

35) Explicați dacă este posibil să partajați o singură instanță a unui Memcache între mai multe proiecte?

Da, este posibil să partajați o singură instanță a Memcache între mai multe proiecte. Memcache este un spațiu de stocare a memoriei și puteți rula memcache pe unul sau mai multe servere. De asemenea, vă puteți configura clientul pentru a vorbi cu un anumit set de instanțe. Deci, puteți rula două procese Memcache diferite pe aceeași gazdă și totuși acestea sunt complet independente. Cu excepția cazului în care, dacă v-ați partiționat datele, devine necesar să știți din ce instanță să obțineți sau să introduceți datele.

36) Aveți mai multe servere Memcache, în care unul dintre serverele memcache eșuează și are datele dvs., va încerca vreodată să obțină date cheie de la acel server eșuat?

Datele de pe serverul eșuat nu vor fi eliminate, dar există o prevedere pentru eșecul automat, pe care o puteți configura pentru mai multe noduri. Eșecul poate fi declanșat în timpul oricăror erori de socket sau de server Memcached și nu în timpul erorilor standard ale clientului, cum ar fi adăugarea unei chei existente etc.

37) Explicați cum puteți minimiza întreruperile serverului Memcached?

  • Atunci când o instanță eșuează, mai multe dintre ele scad, iar acest lucru va pune o încărcare mai mare pe serverul bazei de date atunci când datele pierdute sunt reîncărcate în timp ce un client face o cerere. Pentru a evita acest lucru, dacă codul dvs. a fost scris pentru a minimiza amprentele cache, atunci acesta va lăsa un impact minim
  • O altă modalitate este de a afișa o instanță de Memcached pe o mașină nouă folosind adresa IP a mașinilor pierdute
  • Codul este o altă opțiune pentru a minimiza întreruperile serverului, deoarece vă oferă libertatea de a schimba lista serverelor Memcached cu o muncă minimă
  • Setarea valorii de expirare este o altă opțiune pe care unii clienți Memcached o implementează pentru întreruperea serverului Memcached. Când serverul dvs. Memcached cade, clientul va încerca în continuare să trimită o cerere până la atingerea limitei de expirare

38) Explicați cum puteți actualiza Memcached când datele se schimbă?

Când datele se modifică, puteți actualiza Memcached de

  • Ștergerea proactivă a memoriei cache: ștergerea memoriei cache atunci când se face o inserare sau o actualizare
  • Resetarea cache-ului: este similar cu prima metodă, ci mai degrabă decât să ștergeți tastele și să așteptați următoarea solicitare a datelor pentru reîmprospătarea cache-ului, resetați valorile după inserare sau actualizare.

39) Explicați ce este efectul Dogpile? Cum puteți preveni acest efect?

Efectul Dogpile se referă la evenimentul în care expiră un cache, iar site-urile web sunt afectate de solicitările multiple făcute de client în același timp. Acest efect poate fi prevenit prin utilizarea unui blocaj de semafor. În acest sistem, când valoarea expiră, primul proces dobândește blocarea și începe să genereze o valoare nouă.

40) Explicați cum nu trebuie utilizat Memcached?

  • Utilizarea abuzivă comună a Memcached este utilizarea acestuia ca un magazin de date și nu ca o memorie cache
  • Nu utilizați niciodată Memcached ca singură sursă de informații de care aveți nevoie pentru a rula aplicația. Datele ar trebui să fie întotdeauna disponibile și prin altă sursă
  • Memcached este doar o cheie sau un magazin de valori și nu poate efectua o interogare peste date sau itera pe conținut pentru a extrage informații
  • Memcached nu oferă nicio formă de securitate nici în criptare, nici în autentificare

41) Când un server este oprit, datele stocate în Memcached sunt încă disponibile?

Datele stocate în Memcached nu sunt durabile, deci dacă un server este oprit sau repornit, atunci toate datele stocate în Memcached sunt șterse.

42) Menționează care este diferența dintre Memcache și Memcached?

  • Memcache: este o extensie care vă permite să lucrați prin interfețe utile orientate obiect (OOP) și procedurale. Este conceput pentru a reduce încărcarea bazei de date în aplicații web dinamice.
  • Memcached : este o extensie care folosește biblioteca libmemcached pentru a furniza API pentru comunicarea cu serverele Memcached. Este folosit pentru a crește aplicațiile web dinamice prin atenuarea încărcării bazei de date. Este cel mai recent API.

43) Explicați modelul de implementare albastru / verde

Modelul de colorare albastru / verde abordează cele mai importante provocări cu care se confruntă în timpul procesului de implementare automată. În abordarea Blue / Green Deployment, trebuie să asigurați două medii de producție identice. Cu toate acestea, doar unul dintre ei este LIVE într-un moment dat. Mediul LIVE se numește mediu albastru.

Când echipa pregătește următoarea versiune a software-ului, își desfășoară ultima etapă de testare într-un mediu cunoscut sub numele de mediu verde. Odată verificat, traficul este direcționat către mediul verde.

44) Ce sunt containerele?

Containerele provin din virtualizare ușoară. Ele oferă izolare între procese.

45) Ce este întâlnirea post mortem cu referire la DevOps?

Întâlnirea post mortem se face pentru a discuta despre ce nu a funcționat corect și ce măsuri trebuie să faceți pentru a evita eșecurile.

46) Care este cea mai ușoară metodă de a construi un nor mic?

VMfres este una dintre cele mai eficiente opțiuni pentru a crea cloud IaaS de la Virtual Box VM-uri în cel mai scurt timp. Cu toate acestea, dacă doriți PaaS ușor, atunci Dokku este o opțiune bună, deoarece scriptul bash poate fi PaaS din containerele Dokku.

47) Numiți două instrumente care sunt utilizate pentru rețeaua de andocare.

Pentru rețeaua de andocare, puteți utiliza roiul Kubernetes și Docker.

48) Denumiți câteva dintre zonele în care sunt implementate DevOps

DevOps sunt utilizate pentru producție, operațiuni IT, feedback-ul producției și dezvoltarea software-ului său.

49) Ce este CBD '?

CBD sau dezvoltarea bazată pe componente este un mod unic de abordare a dezvoltării produselor. În această metodă, dezvoltatorii caută întotdeauna componente existente bine definite, testate și verificate pentru a le compune și asambla la un produs în loc să se dezvolte de la zero.

50) Explicați programarea pereche cu referire la DevOps

Programarea în perechi este o practică de inginerie a regulilor de programare extremă. În această metodă, doi programatori lucrează pe același sistem, pe același design / algoritm / cod.

Un programator acționează ca un „driver”. Alții acționează ca un „observator” care monitorizează continuu progresul unui proiect pentru a identifica problemele. Rolurile pot fi inversate în orice moment al timpului, fără nicio indicație prealabilă.

51) Explicați testul de rezistență

Testul care asigură recuperarea fără pierderi de date și funcționalitate după un eșec se numește teste de rezistență.

52) Numiți trei KPI-uri importante DevOps

Cele mai frecvente trei KPI-uri DevOps sunt:

  • Între timp până la recuperarea eșecului
  • Frecvența de desfășurare
  • Procentul implementărilor eșuate