Top 50 vprašanj za intervju z DevOps & Odgovori

Anonim

Prenesite PDF

1) Pojasnite, kaj je DevOps?

Gre za nov pojav na področju IT, ki ni nič drugega kot praksa, ki poudarja sodelovanje in komunikacijo tako razvijalcev programske opreme kot tudi ekipe za uvajanje (operacije). Osredotoča se na hitrejšo dostavo programskega izdelka in znižanje stopnje napak pri izdajah.

2) Omenite, kateri so ključni vidiki ali načela, ki stojijo za DevOps?

Ključni vidiki ali načela, ki stojijo za DevOps, so

  • Infrastruktura kot koda
  • Neprekinjeno uvajanje
  • Avtomatizacija
  • Spremljanje
  • Varnost

3) Katere so temeljne operacije DevOps z razvojem aplikacij in z infrastrukturo?

Osnovne operacije DevOps so

Razvoj aplikacij

  • Izdelava kode
  • Pokritost kode
  • Enotno testiranje
  • Embalaža
  • Uvajanje

Infrastruktura

  • Zagotavljanje
  • Konfiguracija
  • Orkestracija
  • Uvajanje

4) Pojasnite, kako se „Koda infrastrukture“ obdeluje ali izvaja v AWS?

V AWS,

  • Koda za infrastrukturo bo v preprosti obliki JSON
  • Ta koda JSON bo organizirana v datoteke, imenovane predloge
  • Predloge lahko namestite na AWS devops in jih nato upravljate kot sklade
  • Kasneje bo storitev CloudFormation izvedla postopek ustvarjanja, brisanja, posodabljanja itd. V skladu

5) Pojasnite, kateri skriptni jezik je najpomembnejši za inženirja DevOps?

Preprostejši skriptni jezik bo boljši za inženirja DevOps. Zdi se, da je Python zelo priljubljen.

6) Pojasnite, kako je DevOps koristen razvijalcem?

DevOps je lahko v pomoč razvijalcem, da hitro odpravijo napako in hitro uvedejo nove funkcije. Pomaga tudi k jasnejši komunikaciji med člani ekipe.

7) Naštejte nekaj priljubljenih orodij za DevOps?

Nekatera priljubljena orodja za DevOps so

  • Jenkins
  • Nagios
  • Monit
  • ELK (Elasticsearch, Logstash, Kibana)
  • Jenkins
  • Docker
  • Odgovorno
  • Git

8) Omenite, v katerem primeru ste uporabljali SSH?

SSH sem uporabil za prijavo v oddaljeni računalnik in delo v ukazni vrstici. Poleg tega sem ga uporabil tudi za predvajanje v sistem, da bi olajšal varno šifrirano komunikacijo med dvema nezaupnima gostiteljema prek negotovega omrežja.

9) Pojasnite, kako bi ravnali z nadzorom revizije (različice)?

Moj pristop k nadzoru revizije bi bil objavljanje kode na SourceForge ali GitHub, da si jo lahko ogledajo vsi. Prav tako bom objavil kontrolni seznam zadnje revizije, da se prepričam, da so rešene vse nerešene težave.

10) Kakšne vrste so zahteve za Http?

Vrste Http zahtev so

  • GET
  • GLAVA
  • PUT
  • OBJAVI
  • PATCH
  • IZBRIŠI
  • TRACE
  • POVEŽI
  • OPCIJE

11) Pojasnite, kaj bi preverili, če strežnik za gradnjo Linuxa nenadoma začne počasi?

Če se strežnik za gradnjo Linux naenkrat začne počasi, preverite naslednje tri stvari

  • Odpravljanje težav na ravni aplikacije
Težave z RAM-om, težave z branjem in pisanjem diska I / O, težave s prostorom na disku itd.
  • Odpravljanje težav na sistemski ravni
Preverite datoteko dnevnika aplikacij ALI datoteko dnevnika aplikacijskega strežnika, težave z zmogljivostjo sistema, dnevnik spletnega strežnika - preverite dnevnike HTTP, tomcat lo, jboss ali WebLogic in preverite, ali je čas odziva / prejema aplikacijskega strežnika težava zaradi počasnosti, puščanje pomnilnika aplikacijo
  • Odpravljanje težav z odvisnimi storitvami
Težave s protivirusnimi programi, težave z požarnim zidom, težave z omrežjem, težave z odzivnim časom strežnika SMTP itd.

12) Katere so ključne komponente DevOps?

Najpomembnejše komponente DevOps so:

  • Stalna integracija
  • Neprekinjeno testiranje
  • Neprekinjena dostava
  • Neprekinjeno spremljanje

13) Navedite nekaj platform v oblaku, ki se uporabljajo za implementacijo DevOps

Priljubljena platforma za računalništvo v oblaku, ki se uporablja za implementacijo DevOps, je:

  1. Google Cloud
  2. Spletne storitve Amazon
  3. Microsoft Azure

14) Navedite nekaj prednosti uporabe sistema za nadzor različic

  • Sistem za nadzor različic članom ekipe omogoča, da kadar koli prosto delajo na kateri koli datoteki.
  • Vse prejšnje različice in različice so tesno zapakirane znotraj VCS.
  • Razdeljeni VCS, kot je, vam pomaga shraniti celotno zgodovino projekta, tako da lahko v primeru okvare na osrednjem strežniku uporabite lokalno skladišče Git svojega člana.
  • Omogoča ogled natančnih sprememb vsebine datoteke

15) Pojasnite Git Bisect

Git bisect vam z binarnim iskanjem pomaga najti objavo, ki je povzročila napako.

16) Kakšna je gradnja?

Zgradba je metoda, pri kateri je izvorna koda sestavljena, da preveri, ali deluje kot ena enota. V procesu ustvarjanja zgradbe bo izvorna koda sestavljena, pregledana, preizkušena in uvedena.

17) Kaj je lutka?

Lutka je uporabno orodje za upravljanje projektov. Pomaga vam pri avtomatizaciji skrbniških nalog.

18) Pojasnite dvofaktorsko preverjanje pristnosti

Dvofaktorska overitev je varnostna metoda, pri kateri uporabnik ponuja dva načina identifikacije iz ločenih kategorij.

19) Pojasnite izraz „Canary Release“.

Izpust kanarčka je vzorec, ki zmanjšuje tveganje za uvedbo nove različice programske opreme v proizvodno okolje. To se naredi tako, da je nadzorovano na voljo podskupini uporabnika. Preden bo na voljo celotnemu naboru uporabnikov.

20) Katere vrste testiranja so pomembne za zagotovitev, da je nova storitev pripravljena za proizvodnjo?

Za zagotovitev, da je nova storitev pripravljena za proizvodnjo, morate stalno izvajati preskuse.

21) Kaj je zdravilo Vagrant?

Vagrant je orodje, ki lahko ustvari in upravlja virtualizirano okolje za testiranje in razvoj programske opreme.

22) Kakšna je uporaba PTR v DNS?

Zapis kazalca, znan tudi kot (PTR), se uporablja za povratno iskanje DNS.

23) Kaj je kuhar?

Je zmogljiva avtomatizacijska platforma, ki infrastrukturo spremeni v kodo. V tem orodju lahko uporabite skripte za pisanje, ki se uporabljajo za avtomatizacijo procesov.

24) Kateri so predpogoji za izvajanje DevOps?

Sledijo koristni predpogoji za izvajanje DevOps:

  • Vsaj ena programska oprema za nadzor različic
  • Pravilna komunikacija med člani ekipe
  • Avtomatizirano testiranje
  • Avtomatizirano uvajanje

25) Navedite nekaj najboljših praks, ki jih je treba upoštevati za uspeh DevOpsa.

Tu so bistvene najboljše prakse za izvajanje DevOps:

  • Hitrost dostave pomeni čas, potreben za katero koli nalogo, da jih spravimo v proizvodno okolje.
  • Sledite, koliko napak najdete v različnih
  • Pomembno je izmeriti dejanski ali povprečni čas, potreben za okrevanje v primeru okvare v proizvodnem okolju.
  • Število napak, o katerih poroča kupec, vpliva tudi na kakovost aplikacije.

26) Pojasnite orodje SubGIt

SubGit vam pomaga pri selitvi SVN v Git. Omogoča vam tudi izdelavo zapisljivega ogledala Git lokalnega ali oddaljenega skladišča Subversion.

27) Navedite nekaj pomembnih orodij za nadzor omrežja

Nekatera najvidnejša orodja za nadzor omrežja so:

  • Splunk
  • Icinga 2
  • Wireshark
  • Nagios
  • OpenNMS

28) Kako lahko veste, ali lahko vaša grafična kartica poganja Unity?

Ko uporabljate ukaz

/usr/lib/Linux/unity_support_test-p

dalo bo podrobne izpise o zahtevah Unity in če so izpolnjene, lahko vaša grafična kartica deluje enotno.

29) Pojasnite, kako omogočiti zagonski zvok v Ubuntuju?

Za omogočanje zagonskega zvoka

  • Kliknite nadzorno orodje in nato Startup Applications
  • V oknu Nastavitve zagonskih aplikacij kliknite Dodaj, da dodate vnos
  • Nato podatke vnesite v polja za komentarje, kot so Ime, Ukaz in Komentar
/usr/bin/canberra-gtk-play-id= "desktop-login"-description= "play login sound"
  • Ko končate, se odjavite in nato prijavite

Lahko ga odprete tudi s tipko za bližnjico Ctrl + Alt + T .

30) Kako najhitreje odpreti terminal Ubuntu v določenem imeniku?

Če želite odpreti terminal Ubuntu v določenem imeniku, lahko uporabite bližnjico na tipkovnici po meri.

Če želite to narediti, v ukazno polje nove tipkovnice po meri vnesite genome - terminal - - working - directory = / path / to / dir.

31) Pojasnite, kako lahko na namizju Ubuntu dobite trenutno barvo trenutnega zaslona?

Sliko za ozadje lahko odprete v The Gimp (urejevalnik slik) in nato z orodjem za kapalko izberete barvo na določeni točki. Na tej točki dobite vrednost RGB barve.

32) Pojasnite, kako v Ubuntuju ustvarite zaganjalnike na namizju?

Za ustvarjanje zaganjalnikov na namizju v Ubuntuju lahko uporabite

ALT + F2 nato vtipkajte "gnome-desktop-item-edit -create-new ~ / desktop," zagnalo bo staro pogovorno okno GUI in na namizju ustvarilo zaganjalnik

33) Pojasnite, kaj je Memcached?

Memcached je brezplačen in odprtokoden, visoko zmogljiv, porazdeljen sistem predpomnjenja pomnilniških predmetov. Primarni cilj Memcached-a je povečati odzivni čas za podatke, ki jih je sicer mogoče obnoviti ali zgraditi iz katerega koli drugega vira ali baze podatkov. Uporablja se za preprečevanje potrebe po ponavljajočem se upravljanju baze podatkov SQL ali drugega vira za pridobivanje podatkov za sočasno zahtevo.

Memcached se lahko uporablja za

  • Socialno mreženje-> Predpomnjenje profilov
  • Združevanje vsebine-> Predpomnjenje HTML / strani
  • Ciljanje oglasov-> Sledenje piškotkom / profilu
  • Povezava-> Predpomnjenje sej
  • E-trgovina -> Predpomnjenje sej in HTML
  • Lokacijske storitve-> Lestvica poizvedb v zbirki podatkov
  • Igre in zabava-> Predpomnjenje sej

Memcache pomaga

  • Pospešite postopke prijave
  • Določa, kaj shraniti in česa ne
  • Zmanjšajte število zahtev za iskanje v zbirko podatkov
  • Zmanjša dostop I / O (vhod / izhod) (trdi disk)

Slaba stran Memcached-a je

  • To ni trajna shramba podatkov
  • Ne baze podatkov
  • Ne gre za aplikacijo
  • Ne more predpomniti velikega predmeta

34) Omenite nekaj pomembnih lastnosti Memcached-a?

Pomembne lastnosti Memcached vključuje

  • Žetoni CAS: Žeton CAS je pritrjen na predmet, pridobljen iz predpomnilnika. Ta žeton lahko uporabite za shranjevanje posodobljenega predmeta.
  • Povratni klici: poenostavlja kodo
  • getDelayed: Zmanjša čas zakasnitve skripta, ki čaka, da se rezultati vrnejo s strežnika
  • Binarni protokol: z novejšim odjemalcem lahko namesto ASCII uporabite binarni protokol
  • Igbinary: Prej je odjemalec vedno uporabljal serializacijo vrednosti s kompleksnimi podatki, pri Memcachedu pa lahko uporabite igbinary možnost.

35) Pojasnite, ali je mogoče en primerek memcache deliti med več projekti?

Da, en primerek Memcache je mogoče deliti med več projekti. Memcache je prostor za shranjevanje pomnilnika in memcache lahko zaženete na enem ali več strežnikih. Odjemalca lahko nastavite tudi tako, da govori z določenim nizom primerkov. Torej lahko na istem gostitelju zaženete dva različna procesa Memcache, ki pa sta popolnoma neodvisna. Če ste podatke razdelili na particije, potem morate vedeti, iz katerega primerka boste podatke dobili ali dali.

36) Imate več strežnikov Memcache, pri katerih eden od strežnikov memcache odpove in ima vaše podatke, ali bo kdaj poskusil dobiti ključne podatke s tega neuspešnega strežnika?

Podatki v neuspelem strežniku se ne bodo odstranili, vendar obstaja možnost samodejne okvare, ki jo lahko konfigurirate za več vozlišč. Izpad lahko sprožite med napakami na ravni vtičnice ali Memcached strežnika in ne med običajnimi napakami odjemalca, kot je dodajanje obstoječega ključa itd.

37) Pojasnite, kako lahko zmanjšate izpad strežnika Memcached?

  • Ko en primerek ne uspe, jih več pade, in to bo povečalo obremenitev strežnika baze podatkov, ko se izgubljeni podatki znova naložijo, ko odjemalec poda zahtevo. Da bi se temu izognili, bo vaša koda napisana tako, da bo zmanjšala odtis predpomnilnika, potem pa bo pustila minimalen učinek
  • Drug način je, da na novem računalniku prikažete primerek Memcached z uporabo naslova IP izgubljenih računalnikov
  • Koda je še ena možnost za zmanjšanje izpada strežnika, saj vam omogoča, da z minimalnim delom spremenite seznam strežnikov Memcached
  • Nastavitev vrednosti časovne omejitve je še ena možnost, ki jo nekateri odjemalci Memcached izvajajo za izpad strežnika Memcached. Ko vaš strežnik Memcached pade, bo odjemalec še naprej poskušal poslati zahtevo, dokler ne bo dosežena omejitev časovne omejitve

38) Pojasnite, kako lahko posodobite Memcached, ko se podatki spremenijo?

Ko se podatki spremenijo, lahko posodobite Memcached z

  • Proaktivno čiščenje predpomnilnika: čiščenje predpomnilnika ob vstavitvi ali posodobitvi
  • Ponastavitev predpomnilnika: Podobno je kot pri prvi metodi, vendar ne samo brisanje ključev in čakanje na naslednjo zahtevo za osvežitev predpomnilnika, ponastavitev vrednosti po vstavitvi ali posodobitvi.

39) Pojasnite, kaj je dogpile učinek? Kako lahko preprečite ta učinek?

Dogpile učinek se nanaša na dogodek, ko se predpomnilnik izteče, spletna mesta pa so prizadeta zaradi večkratnih zahtev odjemalca hkrati. Ta učinek je mogoče preprečiti z uporabo semaforske ključavnice. V tem sistemu, ko vrednost poteče, prvi postopek pridobi ključavnico in začne ustvarjati novo vrednost.

40) Pojasnite, kako se Memcached ne sme uporabljati?

  • Pogosta napačna uporaba je, da se uporablja kot shramba podatkov in ne kot predpomnilnik
  • Nikoli ne uporabljajte Memcached kot edinega vira informacij, ki jih potrebujete za zagon aplikacije. Podatki bi morali biti vedno na voljo tudi iz drugega vira
  • Memcached je samo shramba ključa ali vrednosti in ne more izvesti poizvedbe po podatkih ali iterirati po vsebini, da izvleče informacije
  • Memcached ne ponuja nobene oblike zaščite niti pri šifriranju niti pri preverjanju pristnosti

41) Ko se strežnik izklopi, ali so podatki, shranjeni v Memcached, še vedno na voljo?

Podatki, shranjeni v Memcachedu, niso trajni, zato se v primeru izklopa ali ponovnega zagona strežnika izbrišejo vsi podatki, shranjeni v Memcachedu.

42) Omenite, kakšna je razlika med Memcache in Memcached?

  • Memcache: je razširitev, ki vam omogoča delo s priročnimi objektno usmerjenimi (OOP) in postopkovnimi vmesniki. Zasnovan je za zmanjšanje obremenitve baze podatkov v dinamičnih spletnih aplikacijah.
  • Memcached : je razširitev, ki uporablja knjižnico libmemcached za zagotavljanje API-ja za komunikacijo s strežniki Memcached. Uporablja se za povečanje dinamičnih spletnih aplikacij z zmanjšanjem obremenitve baze podatkov. To je najnovejši API.

43) Pojasnite modro / zeleni vzorec uvajanja

Vzorec barvanja modro / zeleno obravnava najpomembnejše izzive, s katerimi se sooča postopek samodejnega uvajanja. Pri pristopu modre / zelene uvajanja morate zagotoviti dve enaki proizvodni okolji. Vendar pa je le eden med njimi v ŽIVO v danem trenutku. ŽIVO okolje se imenuje Modro okolje.

Ko ekipa pripravi naslednjo izdajo svoje programske opreme, opravijo svojo zadnjo fazo testiranja v okolju, ki je znano kot zeleno okolje. Po preverjanju se promet preusmeri v zeleno okolje.

44) Kakšni so zabojniki?

Zabojniki so iz lahke virtualizacije. Ponujajo izolacijo med procesi.

45) Kaj je post mortem sestanek s sklicevanjem na DevOps?

Srečanje po zakolu se opravi, da bi razpravljali o tem, kaj je šlo narobe in katere ukrepe morate sprejeti, da se izognete napakam.

46) Kateri je najlažji način za izgradnjo majhnega oblaka?

VMfres je ena izmed najučinkovitejših možnosti za hitro izdelavo oblaka IaaS iz VM-jev Virtual Box. Če pa želite lahek PaaS, je Dokku dobra izbira, ker je bash skript lahko PaaS iz vsebnikov Dokku.

47) Navedite dve orodji, ki se uporabljata za mreženje dockerjev.

Za omrežje dockerjev lahko uporabite Kubernetes in Docker swarm.

48) Navedite nekatera področja, na katerih se izvaja DevOps

DevOps se uporabljajo za proizvodnjo, IT-operacije, povratne informacije o produkciji in razvoj programske opreme.

49) Kaj je CBD '?

CBD ali razvoj na osnovi komponent je edinstven način za pristop k razvoju izdelkov. Pri tej metodi razvijalci vedno iščejo obstoječe, natančno opredeljene, preizkušene in preverjene komponente, da jih sestavijo in sestavijo v izdelek, namesto da bi jih razvijali iz nič.

50) Pojasnite parno programiranje s sklicevanjem na DevOps

Programiranje parov je inženirska praksa pravil ekstremnega programiranja. Pri tej metodi dva programerja delata na istem sistemu, na isti zasnovi / algoritmu / kodi.

En programer deluje kot "voznik". Drugi deluje kot "opazovalec", ki nenehno spremlja napredek projekta, da bi ugotovil težave. Vloge je mogoče kadar koli zamenjati brez predhodnih nagovarjanj.

51) Pojasnite preizkus odpornosti

Test, ki zagotavlja obnovo brez izgube podatkov in funkcionalnosti po okvari, se imenuje testi odpornosti.

52) Navedite tri pomembne KPI DevOps

Trije najpogostejši KPI DevOps so:

  • Medtem pa do okrevanja po okvari
  • Pogostost uvajanja
  • Odstotek neuspešnih razmestitev