Top 50 DevOps-interviewvragen & Antwoorden

Anonim

Download PDF

1) Leg uit wat DevOps is?

Het is een nieuw opkomende term op IT-gebied, die niets anders is dan een praktijk die de nadruk legt op de samenwerking en communicatie van zowel softwareontwikkelaars als het implementatie (operations) team. Het richt zich op het sneller leveren van softwareproducten en het verlagen van het uitvalpercentage van releases.

2) Noem wat de belangrijkste aspecten of principes achter DevOps zijn?

De belangrijkste aspecten of het principe achter DevOps is

  • Infrastructuur als code
  • Voortdurende inzet
  • Automatisering
  • Toezicht houden
  • Veiligheid

3) Wat zijn de kernactiviteiten van DevOps met applicatieontwikkeling en met infrastructuur?

De kernactiviteiten van DevOps zijn

Applicatie ontwikkeling

  • Code bouwen
  • Code dekking
  • Testen van een eenheid
  • Verpakking
  • Inzet

Infrastructuur

  • Bevoorrading
  • Configuratie
  • Orkestratie
  • Inzet

4) Leg uit hoe "Infrastructuurcode" wordt verwerkt of uitgevoerd in AWS?

In AWS,

  • De code voor infrastructuur zal in eenvoudig JSON-formaat zijn
  • Deze JSON-code wordt georganiseerd in bestanden die sjablonen worden genoemd
  • Deze sjablonen kunnen worden geïmplementeerd op AWS-devops en vervolgens als stapels worden beheerd
  • Later zal de CloudFormation-service de bewerking Maken, verwijderen, bijwerken, enz. In de stapel uitvoeren

5) Leg uit welke scripttaal het belangrijkst is voor een DevOps-engineer?

Een eenvoudigere scripttaal is beter voor een DevOps-engineer. Python lijkt erg populair te zijn.

6) Leg uit hoe DevOps ontwikkelaars kan helpen?

DevOps kan ontwikkelaars helpen om de bug op te lossen en nieuwe functies snel te implementeren. Het helpt ook voor een duidelijkere communicatie tussen de teamleden.

7) Noem enkele populaire tools voor DevOps?

Enkele van de populaire tools voor DevOps zijn

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

8) Geef aan in welke instantie heeft u de SSH gebruikt?

Ik heb SSH gebruikt om in te loggen op een externe machine en op de opdrachtregel te werken. Daarnaast heb ik het ook gebruikt om in het systeem te tunnelen om veilige gecodeerde communicatie tussen twee niet-vertrouwde hosts via een onveilig netwerk mogelijk te maken.

9) Leg uit hoe u omgaat met revisie- (versie) beheer?

Mijn benadering van het omgaan met revisiebeheer zou zijn om de code op SourceForge of GitHub te plaatsen, zodat iedereen het kan bekijken. Ik zal ook de checklist van de laatste revisie posten om er zeker van te zijn dat eventuele onopgeloste problemen zijn opgelost.

10) Wat zijn de soorten HTTP-verzoeken?

De soorten HTTP-verzoeken zijn

  • KRIJGEN
  • HOOFD
  • ZETTEN
  • POST
  • PATCH
  • VERWIJDEREN
  • SPOOR
  • AANSLUITEN
  • OPTIES

11) Leg uit wat je zou controleren als een Linux-build-server plotseling traag begint te worden?

Als een Linux-build-server plotseling traag begint te worden, controleer je op de volgende drie dingen

  • Probleemoplossing op toepassingsniveau
RAM-gerelateerde problemen, problemen met lezen en schrijven van schijf I / O, problemen met schijfruimte, enz.
  • Probleemoplossing op systeemniveau
Controleer op toepassingslogbestand OF toepassingsserverlogbestand, systeemprestatieproblemen, webserverlogboek - controleer HTTP-, tomcat lo-, jboss- of WebLogic-logboeken om te zien of de reactie- / ontvangsttijd van de toepassingsserver de oorzaak is van traagheid, geheugenlek van toepassing
  • Probleemoplossing voor afhankelijke services
Antivirusgerelateerde problemen, firewallgerelateerde problemen, netwerkproblemen, problemen met de responstijd van de SMTP-server, enz.

12) Wat zijn de belangrijkste componenten van DevOps?

De belangrijkste componenten van DevOps zijn:

  • Voortdurende integratie
  • Continu testen
  • Continue levering
  • Voortdurende monitoring

13) Noem een ​​paar cloudplatforms die worden gebruikt voor DevOps-implementatie

Populair cloud computing-platform dat wordt gebruikt voor DevOps-implementatie zijn:

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

14) Geef enkele voordelen van het gebruik van het versiebeheersysteem

  • Dankzij het versiebeheersysteem kunnen teamleden op elk moment vrij aan elk bestand werken.
  • Alle eerdere versies en varianten zijn dicht verpakt in de VCS.
  • Een gedistribueerde VCS-achtige soort helpt je om de volledige geschiedenis van het project op te slaan, dus in geval van een storing in de centrale server kun je de lokale Git-repository van je teamlid gebruiken.
  • Hiermee kunt u zien welke exacte wijzigingen zijn aangebracht in de inhoud van het bestand

15) Leg Git Bisect uit

Git bisect helpt je om de commit te vinden die een bug introduceerde met behulp van binair zoeken.

16) Wat is de build?

Een build is een methode waarbij de broncode wordt samengesteld om te controleren of deze als één geheel werkt. Tijdens het maken van de build wordt de broncode gecompileerd, geïnspecteerd, getest en geïmplementeerd.

17) Wat is Puppet?

Puppet is een handig hulpmiddel voor projectbeheer. Het helpt u bij het automatiseren van beheertaken.

18) Verklaar tweefactorauthenticatie

Tweefactorauthenticatie is een beveiligingsmethode waarbij de gebruiker uit verschillende categorieën op twee manieren kan worden geïdentificeerd.

19) Leg de term 'Canary Release' uit.

Een kanarie-release is een patroon dat het risico verkleint dat een nieuwe softwareversie in de productieomgeving wordt geïntroduceerd. Het wordt gedaan door het op een gecontroleerde manier beschikbaar te stellen aan een subset van de gebruiker. Voordat u het beschikbaar stelt aan de volledige gebruikersset.

20) Welke soorten testen zijn belangrijk om ervoor te zorgen dat de nieuwe service klaar is voor productie?

U moet continu testen om er zeker van te zijn dat de nieuwe service klaar is voor productie.

21) Wat is Vagrant?

Een zwerver is een tool die gevirtualiseerde omgevingen kan creëren en beheren voor het testen en ontwikkelen van software.

22) Wat is het gebruik van PTR in DNS?

Pointerrecord, ook bekend als (PTR), wordt gebruikt voor reverse DNS-lookup.

23) Wat is chef?

Het is een krachtig automatiseringsplatform dat infrastructuur omzet in code. In deze tool kunt u schrijfscripts gebruiken die worden gebruikt om processen te automatiseren.

24) Wat zijn de voorwaarden voor de implementatie van DevOps?

Hieronder volgen de nuttige vereisten voor DevOps-implementatie:

  • Ten minste één versiebeheersoftware
  • Goede communicatie tussen de teamleden
  • Geautomatiseerd testen
  • Geautomatiseerde implementatie

25) Noem enkele best practices die moeten worden gevolgd voor DevOps-succes.

Hier zijn essentiële best practices voor DevOps-implementatie:

  • De snelheid van levering betekent dat elke taak tijd nodig heeft om ze in de productieomgeving te krijgen.
  • Houd bij hoeveel defecten er in de verschillende zijn gevonden
  • Het is belangrijk om de werkelijke of gemiddelde tijd te meten die nodig is om te herstellen in geval van een storing in de productieomgeving.
  • Het aantal bugs dat door de klant wordt gemeld, heeft ook invloed op de kwaliteit van de applicatie.

26) Leg de SubGIt-tool uit

SubGit helpt je om SVN naar Git te migreren. Het stelt je ook in staat om een ​​beschrijfbare Git-mirror te bouwen van een lokale of externe Subversion-repository.

27) Noem enkele belangrijke tools voor netwerkbewaking

Enkele meest prominente tools voor netwerkbewaking zijn:

  • Splunk
  • Icinga 2
  • Wireshark
  • Nagios
  • OpenNMS

28) Of Unity op uw videokaart kan draaien, hoe zou u dat dan weten?

Als je een commando gebruikt

/usr/lib/Linux/unity_support_test-p

het geeft gedetailleerde uitvoer over de vereisten van Unity, en als hieraan wordt voldaan, kan je videokaart Unity draaien.

29) Leg uit hoe u opstartgeluid in Ubuntu inschakelt?

Om opstartgeluid in te schakelen

  • Klik op voorschakelapparatuur en klik vervolgens op Opstarttoepassingen
  • Klik in het venster Startup Application Preferences op Toevoegen om een ​​item toe te voegen
  • Vul vervolgens de informatie in in opmerkingenvakken zoals Naam, Commando en Opmerking
/usr/bin/canberra-gtk-play-id= "desktop-login"-description= "play login sound"
  • Log uit en log vervolgens in als u klaar bent

U kunt ook openen met de sneltoets Ctrl + Alt + T .

30) Wat is de snelste manier om een ​​Ubuntu-terminal in een bepaalde directory te openen?

Om een ​​Ubuntu-terminal in een bepaalde map te openen, kunt u een aangepaste sneltoets gebruiken.

Om dat te doen, typ je in het opdrachtveld van een nieuw aangepast toetsenbord genome - terminal - - working - directory = / path / to / dir.

31) Leg uit hoe u de huidige kleur van het huidige scherm op het Ubuntu-bureaublad kunt krijgen?

U kunt de achtergrondafbeelding openen in The Gimp (afbeeldingseditor) en vervolgens de dropper-tool gebruiken om de kleur op een specifiek punt te selecteren. Het geeft je de RGB-waarde van de kleur op dat punt.

32) Leg uit hoe u launchers maakt op een desktop in Ubuntu?

Om draagraketten op een desktop in Ubuntu te maken, kunt u

ALT + F2 en typ vervolgens "gnome-desktop-item-edit -create-new ~ / desktop", het zal het oude GUI-dialoogvenster starten en een opstartprogramma op je bureaublad maken

33) Leg uit wat Memcached is?

Memcached is een gratis en open source, krachtig, gedistribueerd geheugenobjectcachingsysteem. Het primaire doel van Memcached is om de responstijd te verbeteren voor gegevens die anders kunnen worden hersteld of geconstrueerd uit een andere bron of database. Het wordt gebruikt om te voorkomen dat de SQL-database of een andere bron herhaaldelijk moet worden gebruikt om gegevens op te halen voor een gelijktijdige aanvraag.

Memcached kan worden gebruikt voor

  • Sociaal netwerken-> Profielcaching
  • Content Aggregation-> HTML / Page Caching
  • Advertentietargeting-> Cookie- / profieltracering
  • Relatie-> Sessiecaching
  • E-commerce -> Sessie- en HTML-caching
  • Locatiegebaseerde services -> Schalen van databasequery's
  • Gamen en entertainment-> Sessiecaching

Geheugencache helpt

  • Versnel aanvraagprocessen
  • Het bepaalt wat er moet worden opgeslagen en wat niet
  • Verminder het aantal ophaalverzoeken naar de database
  • Verlaagt de I / O-toegang (invoer / uitvoer) (harde schijf)

Nadeel van Memcached is

  • Het is geen permanente gegevensopslag
  • Geen database
  • Het is niet specifiek voor een applicatie
  • Het kan geen grote objecten in de cache opslaan

34) Noem enkele belangrijke kenmerken van Memcached?

Belangrijke kenmerken van Memcached zijn onder meer

  • CAS-tokens: een CAS-token is gekoppeld aan een object dat is opgehaald uit een cache. U kunt dat token gebruiken om uw bijgewerkte object op te slaan.
  • Callbacks: het vereenvoudigt de code
  • getDelayed: Het vermindert de vertragingstijd van uw script dat wacht tot de resultaten terugkomen van een server
  • Binair protocol: u kunt een binair protocol gebruiken in plaats van ASCII met de nieuwere client
  • Igbinary: Vroeger deed een client altijd serialisering van de waarde met complexe gegevens, maar met Memcached kun je de igbinary-optie gebruiken.

35) Leg uit of het mogelijk is om een ​​enkel exemplaar van een Memcache te delen tussen meerdere projecten?

Ja, het is mogelijk om één exemplaar van Memcache te delen tussen meerdere projecten. Memcache is een geheugenopslagruimte en u kunt memcache op een of meer servers uitvoeren. U kunt uw client ook configureren om met een bepaalde set instanties te spreken. U kunt dus twee verschillende Memcache-processen op dezelfde host uitvoeren en toch zijn ze volledig onafhankelijk. Tenzij u uw gegevens hebt gepartitioneerd, moet u weten uit welke instantie de gegevens moeten worden opgehaald of opgeslagen.

36) Je hebt meerdere Memcache-servers, waarbij een van de memcache-servers het begeeft, en het heeft jouw gegevens, zal het ooit proberen om sleuteldata van die ene mislukte server te krijgen?

De gegevens op de uitgevallen server worden niet verwijderd, maar er is een voorziening voor automatische uitval, die u voor meerdere knooppunten kunt configureren. Fail-over kan worden geactiveerd tijdens elke socket- of Memcached-serverniveau-fout en niet tijdens standaard clientfouten zoals het toevoegen van een bestaande sleutel, enz.

37) Leg uit hoe u de uitval van de Memcached-server tot een minimum kunt beperken?

  • Als één instantie mislukt, gaan er verschillende uit, en dit zal de databaseserver zwaarder belasten wanneer verloren gegevens opnieuw worden geladen wanneer een client een verzoek indient. Om dit te voorkomen, als uw code is geschreven om cachestempels te minimaliseren, heeft dit een minimale impact
  • Een andere manier is om een ​​instantie van Memcached op een nieuwe machine te openen met behulp van het verloren IP-adres van de machine
  • De code is een andere optie om serverstoringen te minimaliseren, aangezien het u de vrijheid geeft om de Memcached-serverlijst met minimaal werk te wijzigen
  • Het instellen van een time-outwaarde is een andere optie die sommige Memcached-clients implementeren voor uitval van de Memcached-server. Wanneer je Memcached-server uitvalt, blijft de client proberen een verzoek te verzenden tot de time-outlimiet is bereikt

38) Leg uit hoe u Memcached kunt updaten wanneer gegevens veranderen?

Als de gegevens veranderen, kun je Memcached updaten door

  • De cache proactief wissen : de cache wissen wanneer er een invoeging of update wordt uitgevoerd
  • De cache opnieuw instellen: het is vergelijkbaar met de eerste methode, maar in plaats van alleen de sleutels te verwijderen en te wachten op het volgende verzoek om de gegevens om de cache te vernieuwen, de waarden opnieuw in te stellen na het invoegen of bijwerken.

39) Leg uit wat het Dogpile-effect is? Hoe kun je dit effect voorkomen?

Dogpile-effect verwijst naar de gebeurtenis wanneer een cache verloopt en websites worden geraakt door de meerdere verzoeken die de klant tegelijkertijd doet. Dit effect kan worden voorkomen door een semafoorvergrendeling te gebruiken. In dit systeem, wanneer de waarde verloopt, verwerft het eerste proces de vergrendeling en begint het nieuwe waarde te genereren.

40) Leg uit hoe Memcached niet gebruikt mag worden?

  • Veelvoorkomend misbruik van memcached is om het te gebruiken als een gegevensopslag, en niet als een cache
  • Gebruik Memcached nooit als de enige informatiebron die u nodig heeft om uw applicatie te draaien. Gegevens moeten ook altijd via een andere bron beschikbaar zijn
  • Memcached is slechts een sleutel- of waardeopslag en kan geen query over de gegevens uitvoeren of de inhoud herhalen om informatie te extraheren
  • Memcached biedt geen enkele vorm van beveiliging, noch in encryptie, noch in authenticatie

41) Als een server wordt uitgeschakeld, zijn de gegevens die zijn opgeslagen in Memcached dan nog steeds beschikbaar?

Gegevens die zijn opgeslagen in Memcached zijn niet duurzaam, dus als een server wordt uitgeschakeld of opnieuw wordt opgestart, worden alle gegevens die zijn opgeslagen in Memcached verwijderd.

42) Wat is het verschil tussen Memcache en Memcached?

  • Geheugencache: het is een extensie waarmee u via handige objectgeoriënteerde (OOP's) en procedurele interfaces kunt werken. Het is ontworpen om de databasebelasting in dynamische webtoepassingen te verminderen.
  • Memcached : het is een extensie die de libmemcached- bibliotheek gebruikt om een ​​API te bieden voor communicatie met Memcached-servers. Het wordt gebruikt om de dynamische webtoepassingen te vergroten door de database-belasting te verlichten. Het is de nieuwste API.

43) Leg het blauw / groene implementatiepatroon uit

Blauw / groen kleurpatroon pakt de belangrijkste uitdagingen aan waarmee u tijdens het automatische implementatieproces wordt geconfronteerd. Bij de Blue / Green Deployment-benadering moet u zorgen voor twee identieke productieomgevingen. Slechts één van hen is echter op een bepaald moment LIVE. De LIVE-omgeving wordt Blue-omgeving genoemd.

Wanneer het team de volgende release van hun software voorbereidt, voeren ze hun laatste testfase uit in een omgeving die bekend staat als groene omgeving. Na verificatie wordt het verkeer naar de groene omgeving geleid.

44) Wat zijn de containers?

Containers zijn van lichtgewicht virtualisatie. Ze bieden isolatie tussen processen.

45) Wat is een post mortem meeting met betrekking tot DevOps?

Er wordt een post mortem meeting gehouden om te bespreken wat er mis is gegaan en welke stappen u moet nemen om storingen te voorkomen.

46) Wat is de gemakkelijkste methode om een ​​kleine wolk te bouwen?

VMfres is een van de meest effectieve opties om in een mum van tijd IaaS-cloud te maken van Virtual Box VM's. Als je echter lichtgewicht PaaS wilt, dan is Dokku een goede optie, omdat bash-script PaaS uit Dokku-containers kan zijn.

47) Noem twee tools die worden gebruikt voor docker-netwerken.

Voor docker-netwerken kunt u Kubernetes en Docker Swarm gebruiken.

48) Noem enkele van de gebieden waar DevOps worden geïmplementeerd

DevOps worden gebruikt voor productie, IT-bewerkingen, productiefeedback en de softwareontwikkeling.

49) Wat is CBD '?

CBD of Component-Based Development is een unieke manier om productontwikkeling te benaderen. Bij deze methode zoeken ontwikkelaars altijd naar bestaande, goed gedefinieerde, geteste en geverifieerde componenten om ze samen te stellen en samen te stellen tot een product in plaats van helemaal opnieuw te ontwikkelen.

50) Leg Pair Programming uit met verwijzing naar DevOps

Paarprogrammering is een technische praktijk van Extreme Programming Rules. Bij deze methode werken twee programmeurs op hetzelfde systeem, op hetzelfde ontwerp / algoritme / code.

Een programmeur fungeert als een ‘bestuurder’. Anderen fungeren als een "waarnemer" die continu de voortgang van een project bewaakt om problemen te identificeren. De rollen kunnen op elk moment worden omgedraaid zonder voorafgaande mededeling.

51) Leg de veerkrachttest uit

Test die zorgt voor herstel zonder verlies van gegevens en functionaliteit na een storing, wordt veerkrachttests genoemd.

52) Noem drie belangrijke DevOps KPI's

De drie meest voorkomende DevOps KPI's zijn:

  • In de tussentijd tot herstel van mislukking
  • Implementatiefrequentie
  • Percentage mislukte implementaties