Top 50 DevOps Interview Fragen & Antworten

Anonim

PDF Herunterladen

1) Erklären Sie, was DevOps ist?

Es ist ein neu aufkommender Begriff im IT-Bereich, der nichts anderes als eine Praxis ist, die die Zusammenarbeit und Kommunikation sowohl der Softwareentwickler als auch des Bereitstellungsteams (Betriebs) betont. Es konzentriert sich darauf, Softwareprodukte schneller bereitzustellen und die Ausfallrate von Releases zu senken.

2) Erwähnen Sie die wichtigsten Aspekte oder Prinzipien von DevOps?

Die wichtigsten Aspekte oder Prinzipien hinter DevOps sind

  • Infrastruktur als Code
  • Kontinuierliche Bereitstellung
  • Automatisierung
  • Überwachung
  • Sicherheit

3) Was sind die Kernoperationen von DevOps mit Anwendungsentwicklung und Infrastruktur?

Die Kernoperationen von DevOps sind

Anwendungsentwicklung

  • Code-Erstellung
  • Codeabdeckung
  • Unit Testing
  • Verpackung
  • Einsatz

Infrastruktur

  • Bereitstellung
  • Aufbau
  • Orchestrierung
  • Einsatz

4) Erklären Sie, wie „Infrastrukturcode“ in AWS verarbeitet oder ausgeführt wird.

In AWS

  • Der Code für die Infrastruktur wird im einfachen JSON-Format vorliegen
  • Dieser JSON-Code wird in Dateien organisiert, die als Vorlagen bezeichnet werden
  • Diese Vorlagen können in AWS-Entwicklern bereitgestellt und dann als Stapel verwaltet werden
  • Später führt der CloudFormation-Dienst den Vorgang zum Erstellen, Löschen, Aktualisieren usw. im Stapel aus

5) Erklären Sie, welche Skriptsprache für einen DevOps-Ingenieur am wichtigsten ist.

Eine einfachere Skriptsprache ist für einen DevOps-Ingenieur besser. Python scheint sehr beliebt zu sein.

6) Erklären Sie, wie DevOps für Entwickler hilfreich ist.

DevOps kann Entwicklern hilfreich sein, um den Fehler zu beheben und neue Funktionen schnell zu implementieren. Es hilft auch für eine klarere Kommunikation zwischen den Teammitgliedern.

7) Einige beliebte Tools für DevOps auflisten?

Einige der beliebtesten Tools für DevOps sind

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

8) Erwähnen Sie, an welcher Instanz haben Sie die SSH verwendet?

Ich habe SSH verwendet, um mich bei einem Remotecomputer anzumelden und an der Befehlszeile zu arbeiten. Daneben habe ich es auch zum Tunneln in das System verwendet, um eine sichere verschlüsselte Kommunikation zwischen zwei nicht vertrauenswürdigen Hosts über ein unsicheres Netzwerk zu ermöglichen.

9) Erklären Sie, wie Sie mit der Revisionskontrolle (Versionskontrolle) umgehen würden.

Mein Ansatz zur Handhabung der Revisionskontrolle wäre, den Code auf SourceForge oder GitHub zu veröffentlichen, damit jeder ihn anzeigen kann. Außerdem werde ich die Checkliste der letzten Revision veröffentlichen, um sicherzustellen, dass alle ungelösten Probleme behoben sind.

10) Welche Arten von HTTP-Anfragen gibt es?

Die Arten von HTTP-Anforderungen sind

  • ERHALTEN
  • KOPF
  • STELLEN
  • POST
  • PATCH
  • LÖSCHEN
  • SPUR
  • VERBINDEN
  • OPTIONEN

11) Erklären Sie, was Sie überprüfen würden, wenn ein Linux-Build-Server plötzlich langsam wird?

Wenn ein Linux-Build-Server plötzlich langsam wird, überprüfen Sie die folgenden drei Punkte

  • Fehlerbehebung auf Anwendungsebene
RAM-bezogene Probleme, Probleme beim Lesen / Schreiben der Festplatten-E / A, Probleme mit dem Festplattenspeicher usw.
  • Fehlerbehebung auf Systemebene
Suchen Sie nach Anwendungsprotokolldatei ODER Anwendungsserverprotokolldatei, Systemleistungsproblemen, Webserverprotokoll - Überprüfen Sie die HTTP-, Tomcat Lo-, JBoss- oder WebLogic-Protokolle, um festzustellen, ob die Antwort- / Empfangszeit des Anwendungsservers die Probleme für Langsamkeit und Speicherverlust sind Anwendung
  • Fehlerbehebung bei abhängigen Diensten
Antivirenprobleme, Probleme mit der Firewall, Netzwerkprobleme, Probleme mit der Antwortzeit des SMTP-Servers usw.

12) Was sind die Schlüsselkomponenten von DevOps?

Die wichtigsten Komponenten von DevOps sind:

  • Kontinuierliche Integration
  • Kontinuierliches Testen
  • Kontinuierliche Lieferung
  • Kontinuierliche Überwachung

13) Nennen Sie einige Cloud-Plattformen, die für die DevOps-Implementierung verwendet werden

Beliebte Cloud-Computing-Plattformen für die DevOps-Implementierung sind:

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

14) Geben Sie einige Vorteile der Verwendung des Versionskontrollsystems an

  • Mit dem Versionskontrollsystem können Teammitglieder jederzeit frei an jeder Datei arbeiten.
  • Alle früheren Versionen und Varianten sind im VCS eng verpackt.
  • Ein verteiltes VCS-Like hilft Ihnen dabei, den vollständigen Verlauf des Projekts zu speichern, sodass Sie im Falle eines Ausfalls auf dem zentralen Server das lokale Git-Repository Ihres Teammitglieds verwenden können.
  • Hier können Sie sehen, welche genauen Änderungen am Inhalt der Datei vorgenommen wurden

15) Erklären Sie Git Bisect

Mit Git bisect können Sie mithilfe der binären Suche das Commit finden, das einen Fehler verursacht hat.

16) Was ist der Build?

Ein Build ist eine Methode, bei der der Quellcode zusammengesetzt wird, um zu überprüfen, ob er als einzelne Einheit funktioniert. Während der Erstellung des Builds wird der Quellcode kompiliert, überprüft, getestet und bereitgestellt.

17) Was ist Marionette?

Puppet ist ein nützliches Projektmanagement-Tool. Es hilft Ihnen, Verwaltungsaufgaben zu automatisieren.

18) Erläutern Sie die Zwei-Faktor-Authentifizierung

Die Zwei-Faktor-Authentifizierung ist eine Sicherheitsmethode, bei der der Benutzer zwei Arten der Identifizierung aus verschiedenen Kategorien bereitstellt.

19) Erläutern Sie den Begriff "Kanarische Freisetzung".

Eine kanarische Version ist ein Muster, das das Risiko der Einführung einer neuen Versionssoftware in die Produktionsumgebung verringert. Dies geschieht, indem es einer Teilmenge des Benutzers kontrolliert zur Verfügung gestellt wird. Bevor Sie es dem gesamten Benutzersatz zur Verfügung stellen.

20) Welche Arten von Tests sind wichtig, um sicherzustellen, dass der neue Service für die Produktion bereit ist?

Sie müssen kontinuierliche Tests durchführen, um sicherzustellen, dass der neue Service für die Produktion bereit ist.

21) Was ist Vagrant?

Ein Vagabund ist ein Tool, mit dem virtualisierte Umgebungen zum Testen und Entwickeln von Software erstellt und verwaltet werden können.

22) Was ist die Verwendung von PTR in DNS?

Der Zeigerdatensatz, der auch als (PTR) bezeichnet wird, wird für die umgekehrte DNS-Suche verwendet.

23) Was ist Chef?

Es ist eine leistungsstarke Automatisierungsplattform, die die Infrastruktur in Code umwandelt. In diesem Tool können Sie Schreibskripte verwenden, mit denen Prozesse automatisiert werden.

24) Was sind die Voraussetzungen für die Implementierung von DevOps?

Im Folgenden sind die nützlichen Voraussetzungen für die Implementierung von DevOps aufgeführt:

  • Mindestens eine Versionskontrollsoftware
  • Richtige Kommunikation zwischen den Teammitgliedern
  • Automatisiertes Testen
  • Automatisierte Bereitstellung

25) Nennen Sie einige Best Practices, die für den Erfolg von DevOps befolgt werden sollten.

Hier sind wichtige Best Practices für die Implementierung von DevOps:

  • Die Liefergeschwindigkeit bedeutet Zeit, die für jede Aufgabe benötigt wird, um sie in die Produktionsumgebung zu bringen.
  • Verfolgen Sie, wie viele Fehler in den verschiedenen gefunden werden
  • Es ist wichtig, die tatsächliche oder durchschnittliche Zeit zu messen, die für die Wiederherstellung im Falle eines Fehlers in der Produktionsumgebung benötigt wird.
  • Die Anzahl der vom Kunden gemeldeten Fehler wirkt sich auch auf die Qualität der Anwendung aus.

26) Erklären Sie das SubGIt-Tool

Mit SubGit können Sie SVN auf Git migrieren. Außerdem können Sie einen beschreibbaren Git-Spiegel eines lokalen oder Remote-Subversion-Repositorys erstellen.

27) Nennen Sie einige wichtige Netzwerküberwachungstools

Einige der bekanntesten Tools zur Netzwerküberwachung sind:

  • Splunk
  • Icinga 2
  • Wireshark
  • Nagios
  • OpenNMS

28) Wie können Sie wissen, ob auf Ihrer Grafikkarte Unity ausgeführt werden kann?

Wenn Sie einen Befehl verwenden

/usr/lib/Linux/unity_support_test-p

Es gibt detaillierte Informationen zu den Anforderungen von Unity. Wenn diese erfüllt sind, kann auf Ihrer Grafikkarte Unity ausgeführt werden.

29) Erklären Sie, wie Startsound in Ubuntu aktiviert wird.

So aktivieren Sie den Startsound

  • Klicken Sie auf Steuergerät und dann auf Startanwendungen
  • In der Startanwendungseinstellungen Fenster, klicken Sie auf Hinzufügen einen Eintrag hinzufügen
  • Füllen Sie dann die Informationen in Kommentarfelder wie Name, Befehl und Kommentar aus
/usr/bin/canberra-gtk-play-id= "desktop-login"-description= "play login sound"
  • Melden Sie sich ab und dann an, wenn Sie fertig sind

Sie können es auch mit der Tastenkombination Strg + Alt + T öffnen .

30) Was ist der schnellste Weg, um ein Ubuntu-Terminal in einem bestimmten Verzeichnis zu öffnen?

Um ein Ubuntu-Terminal in einem bestimmten Verzeichnis zu öffnen, können Sie eine benutzerdefinierte Tastenkombination verwenden.

Geben Sie dazu im Befehlsfeld einer neuen benutzerdefinierten Tastatur Genom - Terminal - - Arbeitsverzeichnis = / Pfad / nach / Verzeichnis ein.

31) Erklären Sie, wie Sie die aktuelle Farbe des aktuellen Bildschirms auf dem Ubuntu-Desktop abrufen können.

Sie können das Hintergrundbild in The Gimp (Bildeditor) öffnen und dann mit dem Pipettenwerkzeug die Farbe für einen bestimmten Punkt auswählen. Sie erhalten den RGB-Wert der Farbe zu diesem Zeitpunkt.

32) Erklären Sie, wie Sie in Ubuntu Starter auf einem Desktop erstellen.

Um Starter auf einem Desktop in Ubuntu zu erstellen, können Sie verwenden

ALT + F2 geben Sie dann "gnome-desktop-item-edit -create-new ~ / desktop" ein. Das alte GUI-Dialogfeld wird gestartet und ein Launcher auf Ihrem Desktop erstellt

33) Erklären Sie, was Memcached ist?

Memcached ist ein kostenloses Open-Source-Hochleistungs-Caching-System für verteilte Speicherobjekte. Das Hauptziel von Memcached besteht darin, die Antwortzeit für Daten zu verbessern, die andernfalls wiederhergestellt oder aus einer anderen Quelle oder Datenbank erstellt werden können. Es wird verwendet, um zu vermeiden, dass die SQL-Datenbank oder eine andere Quelle wiederholt betrieben werden muss, um Daten für eine gleichzeitige Anforderung abzurufen.

Memcached kann für verwendet werden

  • Social Networking-> Profil-Caching
  • Inhaltsaggregation-> HTML / Seiten-Caching
  • Anzeigenausrichtung-> Cookie- / Profilverfolgung
  • Beziehung-> Sitzungs-Caching
  • E-Commerce -> Sitzungs- und HTML-Caching
  • Standortbasierte Dienste-> Skalierung von Datenbankabfragen
  • Spiele und Unterhaltung-> Session-Caching

Memcache hilft bei

  • Beschleunigen Sie Bewerbungsprozesse
  • Es bestimmt, was gespeichert werden soll und was nicht
  • Reduzieren Sie die Anzahl der Abrufanforderungen an die Datenbank
  • Reduziert den E / A-Zugriff (Eingabe / Ausgabe) (Festplatte)

Nachteil von Memcached ist

  • Es ist kein persistenter Datenspeicher
  • Keine Datenbank
  • Es ist nicht anwendungsspezifisch
  • Es kann kein großes Objekt zwischenspeichern

34) Erwähnen Sie einige wichtige Funktionen von Memcached?

Wichtige Funktionen von Memcached sind

  • CAS-Token: Ein CAS-Token wird an ein Objekt angehängt, das aus einem Cache abgerufen wurde. Mit diesem Token können Sie Ihr aktualisiertes Objekt speichern.
  • Rückrufe: Vereinfacht den Code
  • getDelayed: Reduziert die Verzögerungszeit Ihres Skripts, das darauf wartet, dass die Ergebnisse von einem Server zurückgegeben werden
  • Binärprotokoll: Sie können mit dem neueren Client anstelle von ASCII ein Binärprotokoll verwenden
  • Igbinary: Früher hat ein Client den Wert immer mit komplexen Daten serialisiert. Mit Memcached können Sie jedoch die Option igbinary verwenden.

35) Erklären Sie, ob es möglich ist, eine einzelne Instanz eines Memcache für mehrere Projekte freizugeben.

Ja, es ist möglich, eine einzelne Instanz von Memcache für mehrere Projekte freizugeben. Memcache ist ein Speicherplatz, und Sie können Memcache auf einem oder mehreren Servern ausführen. Sie können Ihren Client auch so konfigurieren, dass er mit einer bestimmten Gruppe von Instanzen spricht. Sie können also zwei verschiedene Memcache-Prozesse auf demselben Host ausführen, die jedoch völlig unabhängig sind. Wenn Sie Ihre Daten nicht partitioniert haben, müssen Sie wissen, von welcher Instanz die Daten abgerufen oder abgelegt werden sollen.

36) Sie haben mehrere Memcache-Server, auf denen einer der Memcache-Server ausfällt und über Ihre Daten verfügt. Wird er jemals versuchen, Schlüsseldaten von diesem einen ausgefallenen Server abzurufen?

Die Daten auf dem ausgefallenen Server werden nicht entfernt, es gibt jedoch eine Bestimmung für den automatischen Ausfall, die Sie für mehrere Knoten konfigurieren können. Ein Failover kann bei Fehlern auf Socket- oder Memcached-Serverebene ausgelöst werden und nicht bei Standard-Clientfehlern wie dem Hinzufügen eines vorhandenen Schlüssels usw.

37) Erklären Sie, wie Sie die Ausfälle von Memcached-Servern minimieren können.

  • Wenn eine Instanz ausfällt, fallen mehrere aus, wodurch der Datenbankserver stärker belastet wird, wenn verlorene Daten erneut geladen werden, wenn ein Client eine Anforderung stellt. Um dies zu vermeiden, hat Ihr Code, wenn er geschrieben wurde, um Cache-Stempel zu minimieren, nur minimale Auswirkungen
  • Eine andere Möglichkeit besteht darin, eine Instanz von Memcached auf einem neuen Computer unter Verwendung der IP-Adresse des verlorenen Computers aufzurufen
  • Der Code ist eine weitere Option, um Serverausfälle zu minimieren, da Sie die Möglichkeit haben, die Liste der Memcached-Server mit minimalem Aufwand zu ändern
  • Das Festlegen des Timeout-Werts ist eine weitere Option, die einige Memcached-Clients für einen Ausfall des Memcached-Servers implementieren. Wenn Ihr Memcached-Server ausfällt, versucht der Client so lange, eine Anfrage zu senden, bis das Zeitlimit erreicht ist

38) Erklären Sie, wie Sie Memcached aktualisieren können, wenn sich Daten ändern.

Wenn sich Daten ändern, können Sie Memcached by aktualisieren

  • Proaktives Löschen des Caches : Löschen des Caches beim Einfügen oder Aktualisieren
  • Zurücksetzen des Caches : Es ähnelt der ersten Methode, aber anstatt nur die Schlüssel zu löschen und auf die nächste Anforderung zu warten, dass die Daten den Cache aktualisieren, setzen Sie die Werte nach dem Einfügen oder Aktualisieren zurück.

39) Erklären Sie, was Dogpile-Effekt ist? Wie können Sie diesen Effekt verhindern?

Der Dogpile-Effekt bezieht sich auf das Ereignis, wenn ein Cache abläuft und Websites von mehreren Anfragen des Clients gleichzeitig betroffen sind. Dieser Effekt kann durch Verwendung einer Semaphorsperre verhindert werden. In diesem System erhält der erste Prozess nach Ablauf des Werts die Sperre und beginnt mit der Generierung eines neuen Werts.

40) Erklären Sie, wie Memcached nicht verwendet werden sollte.

  • Der häufig verwendete Missbrauch besteht darin, ihn als Datenspeicher und nicht als Cache zu verwenden
  • Verwenden Sie Memcached niemals als einzige Quelle für Informationen, die Sie zum Ausführen Ihrer Anwendung benötigen. Daten sollten immer auch über eine andere Quelle verfügbar sein
  • Memcached ist nur ein Schlüssel- oder Wertspeicher und kann keine Abfrage über die Daten durchführen oder über den Inhalt iterieren, um Informationen zu extrahieren
  • Memcached bietet weder bei der Verschlüsselung noch bei der Authentifizierung irgendeine Form von Sicherheit

41) Wenn ein Server heruntergefahren wird, sind die in Memcached gespeicherten Daten noch verfügbar?

In Memcached gespeicherte Daten sind nicht dauerhaft. Wenn also ein Server heruntergefahren oder neu gestartet wird, werden alle in Memcached gespeicherten Daten gelöscht.

42) Erwähnen Sie, was der Unterschied zwischen Memcache und Memcached ist?

  • Memcache: Es handelt sich um eine Erweiterung, mit der Sie handliche objektorientierte (OOPs) und prozedurale Schnittstellen bearbeiten können. Es wurde entwickelt, um die Datenbanklast in dynamischen Webanwendungen zu reduzieren.
  • Memcached : Dies ist eine Erweiterung, die die libmemcached- Bibliothek verwendet, um eine API für die Kommunikation mit Memcached-Servern bereitzustellen. Es wird verwendet, um die dynamischen Webanwendungen zu erhöhen, indem die Datenbanklast verringert wird. Es ist die neueste API.

43) Erläutern Sie das blau / grüne Bereitstellungsmuster

Das blau / grüne Farbmuster adressiert die wichtigsten Herausforderungen, denen sich der automatische Bereitstellungsprozess gegenübersieht. Beim Blue / Green-Bereitstellungsansatz müssen Sie zwei identische Produktionsumgebungen sicherstellen. Zu einem bestimmten Zeitpunkt ist jedoch nur einer von ihnen LIVE. Die LIVE-Umgebung wird als blaue Umgebung bezeichnet.

Wenn das Team die nächste Version seiner Software vorbereitet, führt es die letzte Testphase in einer Umgebung durch, die als grüne Umgebung bezeichnet wird. Nach der Überprüfung wird der Datenverkehr an die grüne Umgebung weitergeleitet.

44) Was sind die Container?

Container stammen aus einer leichten Virtualisierung. Sie bieten Isolation zwischen Prozessen.

45) Was ist ein Post-Mortem-Meeting in Bezug auf DevOps?

In einem Post-Mortem-Meeting wird besprochen, was schief gelaufen ist und welche Schritte Sie unternehmen müssen, um Fehler zu vermeiden.

46) Was ist die einfachste Methode, um eine kleine Wolke zu erstellen?

VMfres ist eine der effektivsten Optionen, um aus Virtual Box-VMs in kürzester Zeit eine IaaS-Cloud zu erstellen. Wenn Sie jedoch leichtes PaaS möchten, ist Dokku eine gute Option, da Bash-Skript PaaS aus Dokku-Containern sein kann.

47) Nennen Sie zwei Tools, die für das Docker-Netzwerk verwendet werden.

Für Docker-Netzwerke können Sie Kubernetes und Docker Swarm verwenden.

48) Nennen Sie einige Bereiche, in denen DevOps implementiert sind

DevOps werden für die Produktion, den IT-Betrieb, das Produktionsfeedback und die Softwareentwicklung verwendet.

49) Was ist CBD?

CBD oder Component-Based Development ist eine einzigartige Möglichkeit, sich der Produktentwicklung zu nähern. Bei dieser Methode suchen Entwickler immer nach vorhandenen gut definierten, getesteten und verifizierten Komponenten, um sie zu einem Produkt zusammenzusetzen und zusammenzusetzen, anstatt sie von Grund auf neu zu entwickeln.

50) Erklären Sie die Paarprogrammierung anhand von DevOps

Die Paarprogrammierung ist eine technische Praxis für extreme Programmierregeln. Bei dieser Methode arbeiten zwei Programmierer auf demselben System, mit demselben Design / Algorithmus / Code.

Ein Programmierer fungiert als "Treiber". Andere fungieren als "Beobachter", der den Fortschritt eines Projekts kontinuierlich überwacht, um Probleme zu identifizieren. Die Rollen können jederzeit ohne vorherige Andeutung vertauscht werden.

51) Erklären Sie den Resilienztest

Ein Test, der die Wiederherstellung ohne Daten- und Funktionsverlust nach einem Fehler sicherstellt, wird als Ausfallsicherheitstests bezeichnet.

52) Nennen Sie drei wichtige DevOps-KPIs

Die drei häufigsten DevOps-KPIs sind:

  • In der Zwischenzeit bis zur Fehlerbehebung
  • Bereitstellungshäufigkeit
  • Prozentsatz der fehlgeschlagenen Bereitstellungen