50 najdôležitejších otázok týkajúcich sa rozhovorov s DevOps Odpovede

Anonim

Stiahnite si PDF

1) Vysvetlite, čo je DevOps?

Jedná sa o novovznikajúci pojem v oblasti IT, ktorý nie je ničím iným ako praxou, ktorá kladie dôraz na spoluprácu a komunikáciu tak vývojárov softvéru, ako aj nasadenia (prevádzky) tímu. Zameriava sa na rýchlejšie dodanie softvérového produktu a zníženie chybovosti vydaní.

2) Uveďte, aké sú kľúčové aspekty alebo princíp fungujúci DevOps?

Kľúčové aspekty alebo princíp, ktorý stojí za DevOps, je

  • Infraštruktúra ako kód
  • Nepretržité nasadenie
  • Automatizácia
  • Monitorovanie
  • Bezpečnosť

3) Aké sú hlavné operácie DevOps s vývojom aplikácií a infraštruktúrou?

Hlavné činnosti DevOps sú

Vývoj aplikácií

  • Budovanie zákonníka
  • Pokrytie kódu
  • Testovanie jednotky
  • Balenie
  • Nasadenie

Infraštruktúra

  • Tvorba rezerv
  • Konfigurácia
  • Orchestrácia
  • Nasadenie

4) Vysvetlite, ako sa „kód infraštruktúry“ spracúva alebo vykonáva v AWS?

V AWS

  • Kód pre infraštruktúru bude v jednoduchom formáte JSON
  • Tento kód JSON bude usporiadaný do súborov nazývaných šablóny
  • Tieto šablóny je možné nasadiť na AWS devops a potom ich spravovať ako stohy
  • Neskôr služba CloudFormation vykoná v zásobníku operáciu Vytvorenie, odstránenie, aktualizácia atď

5) Vysvetlite, ktorý skriptovací jazyk je pre inžiniera DevOps najdôležitejší?

Pre inžiniera DevOps bude lepší jednoduchší skriptovací jazyk. Python sa javí ako veľmi populárny.

6) Vysvetlite, ako je DevOps užitočný vývojárom?

DevOps môže byť vývojárom nápomocný pri oprave chyby a rýchlej implementácii nových funkcií. Pomáha tiež k jasnejšej komunikácii medzi členmi tímu.

7) Zoznam niektorých populárnych nástrojov pre DevOps?

Niektoré z populárnych nástrojov pre DevOps sú

  • Jenkins
  • Nagios
  • Monit
  • ELK (Elasticsearch, Logstash, Kibana)
  • Jenkins
  • Docker
  • Možné
  • Git

8) Uveďte, v akom prípade ste použili SSH?

Použil som SSH na prihlásenie do vzdialeného počítača a prácu na príkazovom riadku. Okrem toho som ho tiež použil na tunelovanie do systému s cieľom uľahčiť zabezpečenú šifrovanú komunikáciu medzi dvoma nedôveryhodnými hostiteľmi cez nezabezpečenú sieť.

9) Vysvetlite, ako by ste zaobchádzali s kontrolou verzie (verzie)?

Môj prístup k spracovaniu kontroly revízií by bol zverejniť kód na SourceForge alebo GitHub, aby si ho mohol každý pozrieť. Zverejním tiež kontrolný zoznam z poslednej revízie, aby som sa ubezpečil, že všetky nevyriešené problémy sú vyriešené.

10) Aké sú typy požiadaviek HTTP?

Typy požiadaviek HTTP sú

  • ZÍSKAJTE
  • HLAVA
  • PUT
  • POST
  • PATCH
  • ODSTRÁNIŤ
  • TRACE
  • PRIPOJIŤ
  • MOŽNOSTI

11) Vysvetlite, čo by ste skontrolovali, ak sa server na zostavenie systému Linux náhle spomalí?

Ak sa server na zostavovanie systému Linux náhle spomalí, skontrolujete nasledujúce tri veci

  • Riešenie problémov na úrovni aplikácie
Problémy spojené s RAM, Problémy čítania a zápisu Disk I / O, Problémy súvisiace s diskovým priestorom atď.
  • Riešenie problémov na úrovni systému
Skontrolujte súbor denníka aplikácie ALEBO súbor denníka aplikačného servera, problémy s výkonom systému, protokol webového servera - skontrolujte protokoly HTTP, tomcat lo, jboss alebo WebLogic, aby ste zistili, či čas odozvy / príjmu aplikačného servera nie sú problémami pre pomalosť, nedostatok pamäte niektorého žiadosť
  • Riešenie problémov so závislými službami
Problémy s antivírusom, Problémy s bránou firewall, Problémy so sieťou, Problémy s dobou odozvy servera SMTP atď.

12) Aké sú kľúčové komponenty DevOps?

Najdôležitejšie súčasti DevOps sú:

  • Nepretržitá integrácia
  • Priebežné testovanie
  • Nepretržité doručovanie
  • Nepretržité monitorovanie

13) Vymenujte niekoľko cloudových platforiem, ktoré sa používajú na implementáciu DevOps

Populárna cloudová výpočtová platforma používaná na implementáciu DevOps sú:

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

14) Poskytnite niektoré výhody plynúce z používania systému riadenia verzií

  • Systém riadenia verzií umožňuje členom tímu kedykoľvek slobodne pracovať na ľubovoľnom súbore.
  • Všetky minulé verzie a varianty sú úzko spojené vo VCS.
  • Distribuovaný VCS vám pomáha ukladať kompletnú históriu projektu, takže v prípade poruchy na centrálnom serveri môžete použiť lokálne úložisko Git člena vášho tímu.
  • Umožňuje vám zistiť, aké presné zmeny sa vykonajú v obsahu súboru

15) Vysvetlite Git Bisect

Git bisect vám pomôže nájsť potvrdenie, ktoré zaviedlo chybu, pomocou binárneho vyhľadávania.

16) Aká je stavba?

Build je metóda, pri ktorej je zdrojový kód zostavený, aby sa skontrolovalo, či funguje ako jedna jednotka. V procese vytvárania zostavy zdrojový kód prejde kompiláciou, kontrolou, testovaním a nasadením.

17) Čo je to Puppet?

Bábka je užitočný nástroj na riadenie projektu. Pomáha vám automatizovať úlohy správy.

18) Vysvetlite dvojfaktorovú autentifikáciu

Dvojfaktorová autentifikácia je bezpečnostná metóda, pri ktorej používateľ poskytuje dva spôsoby identifikácie z samostatných kategórií.

19) Vysvetlite pojem „vypustenie kanára“.

Kanárske vydanie je vzor, ​​ktorý znižuje riziko zavedenia novej verzie softvéru do produkčného prostredia. Vykonáva sa to kontrolovaným sprístupňovaním podmnožine používateľov. Pred sprístupnením kompletnej sady používateľov.

20) Aké typy testovania sú dôležité na zabezpečenie pripravenosti novej služby na výrobu?

Musíte neustále testovať, aby ste sa uistili, že nová služba je pripravená na výrobu.

21) Čo je Vagrant?

Vagrant je nástroj, ktorý umožňuje vytvárať a spravovať virtualizované prostredia na testovanie a vývoj softvéru.

22) Aké je použitie PTR v DNS?

Ukazovateľový záznam, ktorý je tiež známy ako (PTR), sa používa na spätné vyhľadávanie DNS.

23) Čo je šéfkuchár?

Jedná sa o výkonnú automatizačnú platformu, ktorá transformuje infraštruktúru na kód. V tomto nástroji môžete použiť skripty na zápis, ktoré sa používajú na automatizáciu procesov.

24) Aké sú predpoklady implementácie DevOps?

Nasledujú užitočné predpoklady pre implementáciu DevOps:

  • Aspoň jeden softvér na správu verzií
  • Správna komunikácia medzi členmi tímu
  • Automatizované testovanie
  • Automatizované nasadenie

25) Vymenujte niektoré osvedčené postupy, ktoré by sa mali dodržiavať pri úspechu DevOps.

Tu sú základné osvedčené postupy implementácie DevOps:

  • Rýchlosť dodania znamená čas potrebný na to, aby sa každá úloha dostala do produkčného prostredia.
  • Sledujte, koľko chýb sa nachádza v rôznych
  • Je dôležité zmerať skutočný alebo priemerný čas, ktorý je potrebný na zotavenie v prípade zlyhania v produkčnom prostredí.
  • Počet chýb nahlásených zákazníkom má tiež vplyv na kvalitu aplikácie.

26) Vysvetlite nástroj SubGIt

SubGit vám pomáha migrovať SVN na Git. Umožňuje vám tiež vytvoriť zapisovateľné zrkadlo Git z miestneho alebo vzdialeného úložiska Subversion.

27) Vymenujte niektoré dôležité nástroje na sledovanie siete

Medzi najvýznamnejšie nástroje na monitorovanie siete patria:

  • Splunk
  • Icinga 2
  • Wireshark
  • Nagios
  • OpenNMS

28) Ako by ste vedeli, či vaša grafická karta dokáže spustiť Unity?

Keď použijete príkaz

/usr/lib/Linux/unity_support_test-p

poskytne podrobné informácie o požiadavkách Unity, a ak sú splnené, vaša grafická karta môže bežať jednotne.

29) Vysvetlite, ako povoliť zvuk pri spustení v Ubuntu?

Povoliť zvuk pri spustení

  • Kliknite na riadiace zariadenie a potom na položku Startup Applications
  • V okne Predvoľby spustenia aplikácie kliknite na Pridať a pridajte položku
  • Potom vyplňte informácie do polí pre komentáre, ako sú Meno, Príkaz a Komentár
/usr/bin/canberra-gtk-play-id= "desktop-login"-description= "play login sound"
  • Po dokončení sa odhláste a potom prihláste

Môžete tiež otvoriť ju klávesovú skratku Ctrl + Alt + T .

30) Aký je najrýchlejší spôsob otvorenia terminálu Ubuntu v konkrétnom adresári?

Na otvorenie terminálu Ubuntu v konkrétnom adresári môžete použiť vlastnú klávesovú skratku.

Za týmto účelom do príkazového poľa novej vlastnej klávesnice zadajte genóm - terminál - - pracovný - adresár = / cesta / do / dir.

31) Vysvetlite, ako môžete získať aktuálnu farbu aktuálnej obrazovky na pracovnej ploche Ubuntu?

Obrázok na pozadí môžete otvoriť v aplikácii Gimp (editor obrázkov) a potom pomocou nástroja na kvapkanie vybrať farbu v konkrétnom bode. Poskytne vám hodnotu RGB farby v danom okamihu.

32) Vysvetlite, ako vytvárate spúšťače na pracovnej ploche v systéme Ubuntu?

Na vytvorenie spúšťačov na pracovnej ploche v systéme Ubuntu môžete použiť

ALT + F2 a potom zadajte „gnome-desktop-item-edit -create-new ~ / desktop“, spustí sa staré dialógové okno grafického používateľského rozhrania a na vašej pracovnej ploche sa vytvorí spúšťač.

33) Vysvetlite, čo je Memcached?

Memcached je bezplatný a otvorený zdrojový kód, vysoko výkonný a systém vyrovnávacej pamäte s distribuovanou pamäťou. Primárnym cieľom Memcached je zvýšiť čas odozvy na dáta, ktoré je možné inak obnoviť alebo vytvoriť z iného zdroja alebo databázy. Používa sa na zabránenie nutnosti opakovane prevádzkovať databázu SQL alebo iný zdroj na načítanie údajov pre súbežnú požiadavku.

Memcached možno použiť na

  • Sociálne siete-> Ukladanie do vyrovnávacej pamäte profilov
  • Agregácia obsahu -> HTML / ukladanie do pamäte cache stránok
  • Zacielenie reklamy-> sledovanie súborov cookie a profilov
  • Vzťah -> Ukladanie do pamäti relácie
  • Elektronický obchod -> Ukladanie do relácií a HTML
  • Služby založené na polohe -> Škálovanie databázových dotazov
  • Hry a zábava-> Ukladanie do vyrovnávacej pamäte relácií

Memcache pomáha pri

  • Urýchlite procesy žiadosti
  • Určuje, čo sa má skladovať a čo nie
  • Znížte počet požiadaviek na vyhľadanie v databáze
  • Obmedzuje prístup I / O (vstup / výstup) (pevný disk)

Nevýhodou Memcached je

  • Nejde o trvalé úložisko dát
  • Toto nie je databáza
  • Nejde o konkrétnu aplikáciu
  • Nemôže ukladať do medzipamäte veľký objekt

34) Uveďte niektoré dôležité vlastnosti Memcachedu?

Medzi dôležité vlastnosti Memcached patrí

  • Tokeny CAS: Token CAS je pripojený k objektu získanému z medzipamäte. Tento token môžete použiť na uloženie aktualizovaného objektu.
  • Spätné volania: zjednodušuje to kód
  • getDelayed: Znižuje čas oneskorenia skriptu, ktorý čaká na návrat výsledkov zo servera
  • Binárny protokol: U novšieho klienta môžete namiesto ASCII použiť binárny protokol
  • Igbinary: Predtým klient vždy robil serializáciu hodnoty so zložitými údajmi, ale v prípade Memcached môžete použiť voľbu igbinary.

35) Vysvetlite, či je možné zdieľať jednu inštanciu memoranda medzi viacerými projektmi?

Áno, je možné zdieľať jednu inštanciu Memcache medzi viacerými projektmi. Memcache je pamäťový priestor a môžete ju spúšťať na jednom alebo viacerých serveroch. Môžete tiež nakonfigurovať svojho klienta, aby hovoril s konkrétnou skupinou inštancií. Môžete teda spustiť dva rôzne procesy Memcache na rovnakom hostiteľovi, a napriek tomu sú úplne nezávislé. Pokiaľ ste svoje údaje nerozdelili na oddiely, je potrebné vedieť, z ktorej inštancie sa majú údaje načítať alebo vložiť.

36) Máte viac serverov Memcache, na ktorých jeden zo serverov Memcache zlyhá a má vaše údaje, pokúsi sa niekedy získať kľúčové údaje z tohto jedného servera, ktorý zlyhal?

Údaje zo servera, ktorý zlyhal, sa neodstránia, ale existuje ustanovenie pre automatické zlyhanie, ktoré môžete nakonfigurovať pre viac uzlov. Zlyhanie je možné spustiť počas akýchkoľvek chýb na úrovni soketu alebo servera Memcached, a nie počas štandardných chýb klienta, ako je pridanie existujúceho kľúča atď.

37) Vysvetlite, ako môžete minimalizovať výpadky servera Memcached?

  • Ak jedna inštancia zlyhá, niekoľko z nich zlyhá. To spôsobí väčšie zaťaženie databázového servera, keď sa stratené údaje načítajú znova, keď klient požiada. Ak sa tomu chcete vyhnúť, ak bol váš kód napísaný tak, aby sa minimalizovali pečiatky cache, zanechá to minimálny dopad
  • Ďalším spôsobom je vyvolať inštanciu Memcached na novom počítači pomocou adresy IP stratených strojov
  • Tento kód je ďalšou možnosťou na minimalizáciu výpadkov servera, pretože vám dáva slobodu meniť zoznam serverov Memcached s minimálnou prácou
  • Nastavenie hodnoty časového limitu je ďalšou možnosťou, ktorú niektorí klienti Memcached implementujú pre výpadok servera Memcached. Keď váš server Memcached zlyhá, klient sa bude stále pokúšať odoslať požiadavku, kým sa nedosiahne limit časového limitu

38) Vysvetlite, ako môžete aktualizovať Memcached pri zmene údajov?

Pri zmene údajov môžete Memcached aktualizovať pomocou

  • Proaktívne vymazanie medzipamäte : Vymazanie medzipamäte pri vložení alebo aktualizácii
  • Resetovanie medzipamäte: Je to podobné ako pri prvej metóde, ale nie iba na odstránenie kľúčov a čakanie na ďalšiu požiadavku na obnovenie medzipamäte údajov, obnovte hodnoty po vložení alebo aktualizácii.

39) Vysvetlite, čo je efekt Dogpile? Ako môžete zabrániť tomuto účinku?

Efekt Dogpile sa odkazuje na udalosť, keď vyprší platnosť medzipamäte, a na webové stránky narazia viaceré požiadavky klienta súčasne. Tomuto efektu je možné zabrániť použitím semaforového zámku. Keď v tomto systéme uplynie hodnota, prvý proces získa zámok a začne generovať novú hodnotu.

40) Vysvetlite, ako by sa Memcached nemal používať?

  • Memcached common misuse is to use it as a data store, and not as a cache
  • Memcached nikdy nepoužívajte ako jediný zdroj informácií, ktoré potrebujete na spustenie svojej aplikácie. Údaje by mali byť vždy dostupné aj z iného zdroja
  • Memcached je iba úložisko kľúčov alebo hodnôt a nemôže vykonať dopyt nad údajmi alebo iteráciu nad obsahom s cieľom získať informácie
  • Memcached neponúka žiadnu formu zabezpečenia ani pri šifrovaní, ani pri autentifikácii

41) Po vypnutí servera sú údaje uložené v Memcachedu stále k dispozícii?

Dáta uložené v Memcachedu nie sú trvácne, takže ak je server vypnutý alebo reštartovaný, všetky dáta uložené v Memcachedu sa vymažú.

42) Uveďte aký je rozdiel medzi Memcache a Memcached?

  • Memcache: Jedná sa o rozšírenie, ktoré vám umožní pracovať prostredníctvom praktických objektovo-orientovaných (OOP) a procedurálnych rozhraní. Je navrhnutý tak, aby znižoval zaťaženie databázy v dynamických webových aplikáciách.
  • Memcached : Jedná sa o rozšírenie, ktoré používa knižnicu libmemcached na zabezpečenie API pre komunikáciu so servermi Memcached. Používa sa na zväčšenie dynamických webových aplikácií znížením zaťaženia databázy. Je to najnovšie API.

43) Vysvetlite modro-zelený vzor nasadenia

Modré / zelené sfarbenie vzorov rieši najdôležitejšie výzvy, ktorým čelí počas procesu automatického nasadenia. V prístupe Blue / Green Deployment musíte zabezpečiť dve identické produkčné prostredia. Avšak iba jeden z nich je ŽIVÝ v danom okamihu. ŽIVÉ prostredie sa nazýva Modré prostredie.

Keď tím pripravuje ďalšie vydanie svojho softvéru, vykoná svoju poslednú fázu testovania v prostredí známom ako zelené prostredie. Po overení je prevádzka smerovaná do zeleného prostredia.

44) Aké sú kontajnery?

Kontajnery pochádzajú z ľahkej virtualizácie. Ponúkajú izoláciu medzi procesmi.

45) Čo je post mortem stretnutie s odkazom na DevOps?

Stretnutie post mortem sa koná s cieľom prediskutovať, čo sa pokazilo a aké kroky musíte urobiť, aby ste sa vyhli zlyhaniam.

46) Aká je najjednoduchšia metóda na vybudovanie malého cloudu?

VMfres je jednou z najefektívnejších možností na vytvorenie cloudu IaaS z virtuálnych počítačov Virtual Box v krátkom čase. Ak však chcete ľahký PaaS, potom je Dokku dobrá voľba, pretože bash skriptom môže byť PaaS z kontajnerov Dokku.

47) Vymenujte dva nástroje, ktoré sa používajú na prácu v dokovacej sieti.

Na pripojenie docker sietí môžete použiť roj Kubernetes a Docker.

48) Vymenujte niektoré z oblastí, kde sa implementujú DevOps

DevOps sa používajú na výrobu, prevádzku IT, spätnú väzbu k výrobe a vývoj softvéru.

49) Čo je CBD '?

CBD alebo vývoj na základe komponentov je jedinečný spôsob prístupu k vývoju produktu. Pri tejto metóde vývojári vždy hľadajú existujúce dobre definované, testované a overené komponenty, ktoré ich namiesto vývoja od nuly poskladajú a zostavia do produktu.

50) Vysvetlite programovanie párov s odkazom na DevOps

Párové programovanie je inžinierska prax pravidiel extrémneho programovania. V tejto metóde pracujú dvaja programátori na rovnakom systéme, na rovnakom dizajne / algoritme / kóde.

Jeden programátor funguje ako „ovládač“. Iné pôsobí ako „pozorovateľ“, ktorý nepretržite monitoruje priebeh projektu s cieľom identifikovať problémy. Roly je možné kedykoľvek vymeniť bez predchádzajúceho náznaku.

51) Vysvetlite test odolnosti

Test, ktorý zaisťuje obnovu bez straty dát a funkčnosti po zlyhaní, sa nazýva testy odolnosti.

52) Vymenujte tri dôležité KPI DevOps

Tri najbežnejšie KPI DevOps sú:

  • Medzitým do zotavenia po zlyhaní
  • Frekvencia nasadenia
  • Percento neúspešných nasadení