46 Häufig gestellte Fragen und Antworten zu DevOps-Interviews [2023]

Möchten Sie wissen, welche Fragen Sie bei Ihrem nächsten DevOps-Interview stellen sollten? Beginnen Sie mit unserem praktischen Leitfaden.

Der Begriff DevOps wurde 2007-2008 geprägt, hat sich aber mittlerweile zu einer der beliebtesten Karrieren im Software-Engineering entwickelt. DevOps ist ein kultureller Wandel, der jeden Aspekt der Entwicklung und des Betriebs betrifft.

Die beiden Teams (Entwicklung und Betrieb) arbeiten von der Planung und Erstellung bis zur Überwachung und Iteration zusammen. Dies sind die häufigsten Fragen, auf die Sie wahrscheinlich stoßen werden, wenn Sie eine Rolle als DevOps-Ingenieur suchen.

Inhaltsverzeichnis

Was ist DevOps?

DevOps ist die Kurzform von Development and Operations. Diese Softwareentwicklungspraxis bringt die Entwicklungs- und Betriebsteams zusammen, um jede Phase eines Projekts zu automatisieren. Ein DevOps-Team konzentriert sich auf Ressourcenmanagement, Kommunikation und Teamarbeit.

Was sind die verschiedenen Phasen in der DevOps-Methodik?

  • Fortlaufende Entwicklung. Dies ist die Planungs- und Codierungsphase.
  • Kontinuierliche Integration. Dies ist die Phase, in der das Entwicklungsteam verschiedene Komponenten integriert und sicherstellt, dass der Code nicht beschädigt wird.
  • Kontinuierliches Testen. Dies ist die vorgeplante und automatisierte Testphase.
  • Kontinuierlicher Einsatz. Diese Phase gewährleistet eine problemlose Entwicklung, die die Leistung der gesamten App nicht beeinträchtigt.
  • Kontinuierliche Überwachung. Diese Phase stellt die Gesamtwirksamkeit der App sicher.
  • Kontinuierliches Feedback. Probleme und Leistung, wie von Endbenutzern gemeldet, werden analysiert.
  • Dauerbetrieb. Ermöglicht Entwicklern, bessere Versionen des Produkts zu erstellen und Probleme schnell zu erkennen.

Was sind die Vorteile von DevOps?

  • Schnellere und bessere Produktlieferung
  • Größere Skalierbarkeit
  • Schnelle Problemlösung
  • Bessere Ressourcennutzung

Nennen Sie einige DevOps-KPIs

  • Bereitstellungshäufigkeit
  • Lautstärke ändern
  • Bereitstellungszeit
  • Fehlgeschlagene Bereitstellungsraten
  • Zeiterkennung
  • Fehleraustrittsrate

Unterschied zwischen DevOps und Agilität

DevOps ist eine Kultur, die die Zusammenarbeit zwischen allen Teammitgliedern fördert, die an der Entwicklung und Wartung von Software beteiligt sind.

Agile ist eine Entwicklungsmethodik, die entwickelt wurde, um Teams produktiv zu machen und Releases basierend auf sich ändernden Anforderungen voranzutreiben.

Welche Rolle spielt AWS in DevOps?

AWS verfügt über eine Reihe flexibler Services, die Unternehmen dabei unterstützen, Anwendungen zuverlässig und schnell zu entwickeln. AWS-Services vereinfachen die Bereitstellung von Code, die Bereitstellung und Vereinfachung der Infrastruktur, die Automatisierung von Software-Release-Prozessen und die Überwachung der Infrastrukturleistung.

Wozu dient SSH?

SSH (Secure Shell) ist ein Protokoll, das eine sichere Verbindung zwischen verschiedenen Computern ermöglicht. SSH dient verschiedenen Zwecken, z. B. dem Anbieten; starke Authentifizierung, starke Verschlüsselung, Aufrechterhaltung der Verbindungsintegrität, starke Verbindung und Sicherheit.

Was ist kontinuierliche Integration?

Continuous Integration ermöglicht es Softwareentwicklern, ihren Code in einem zentralen Repository zusammenzuführen. Der Code wird dann durch automatisierte Builds und Tests geführt.

Was ist Konfigurationsmanagement?

Es ist der Engineering-Prozess eines Systems, bei dem die Konsistenz der Leistung und der funktionalen und physikalischen Eigenschaften eines Systems/Produkts während seines gesamten Lebenszyklus hergestellt und aufrechterhalten wird.

Was ist kontinuierliches Testen?

Dies ist ein vorab geplantes und automatisiertes Testen einer Anwendung während der Entwicklung.

  So erstellen Sie ein Buch in Microsoft Word

Was ist Git?

Dies ist ein quelloffenes und kostenloses Tool zur Quellcodeverwaltung. Dieses Tool ist für kleine und große Projekte konzipiert.

Nennen Sie einige grundlegende Git-Befehle

git clone <https://name-of-the-repository-link>
git branch <branch-name>
git checkout <name-of-your-branch>
git add <file>
git commit -m "commit message"
git push <remote> <branch-name>
git pull <remote>

Erklären Sie den Unterschied zwischen Git-Merge und Git-Rebase

Der Befehl zum Zusammenführen von Git ermöglicht es Entwicklern, verschiedene Git-Zweige zusammenzuführen, während die Protokolle der Commits der jeweiligen Zweige intakt bleiben.

Der Git-Rebase-Befehl ermöglicht es Entwicklern, Änderungen von einem Zweig in einen anderen zu integrieren, und die Protokolle werden geändert, sobald der Prozess abgeschlossen ist.

Erklären Sie den Unterschied zwischen Git-Fetch und Git-Pull

Git fetch weist git an, die neuesten Metadaten vom Original abzurufen/zu prüfen. Es führt jedoch keine Dateiübertragung durch, sondern prüft nur.

Git Pull überprüft und bringt Änderungen aus dem Remote-Repository in das lokale Projekt.

Was ist ein Zusammenführungskonflikt?

Zusammenführungskonflikte treten auf, wenn Sie zwei Branches mit konkurrierenden Commits zusammenführen. Zusammenführungskonflikte treten normalerweise auf, wenn verschiedene Entwickler dieselbe Codezeile oder Datei ändern.

Was ist Versionskontrolle und welche Arten gibt es?

Versionskontrolle (Source Control) ist der Prozess der Verfolgung und Verwaltung von Änderungen am Softwarecode.

Dies sind die verschiedenen Arten von Versionskontrollen;

  • Zentralisiert – Sie haben eine einzige „zentrale“ Kopie des Quellcodes auf einem Server und alle Änderungen werden an die „zentrale“ Kopie übertragen. Subversion (SVN) und Perforce sind Beispiele für zentralisierte Versionskontrollen.
  • Verteilt (DVCS) – hat keinen zentralen Server, um alle Dateien des Projekts zu speichern. Git und Mercurial sind Beispiele für DVCS.

Welche Vorteile bietet die Versionskontrolle?

  • Hilft Entwicklern, Effizienz und Agilität zu bewahren
  • Gibt ein vollständiges Protokoll jeder Änderung an einem Projekt/einer Datei
  • Verbessern Sie die Rückverfolgbarkeit
  • Hilft bei der Verwaltung von Zusammenführungen und Verzweigungen
  • Ermöglicht Zusammenarbeit

Was ist Verzweigung?

Verzweigung bezieht sich auf das Erstellen einer separaten/neuen Version des Haupt-Repositorys. Zweige ermöglichen es Ihnen, an verschiedenen Teilen des Projekts zu arbeiten, ohne den Hauptzweig zu beeinträchtigen.

Was sind Verzweigungsstrategien?

Zusammenführungsstrategien sind die Methoden, die Softwareentwicklungsteams beim Schreiben, Zusammenführen und Bereitstellen von Code anwenden. Ein solcher Ansatz stellt sicher, dass Bugs und Fehler in einer Verzweigungsphase behoben werden, bevor sie mit dem Hauptprojekt zusammengeführt werden.

Was sind Automatisierungstests und wie lassen sich Tests in DevOps automatisieren?

Automatisierungstests sind eine Technik zur automatischen Überprüfung und Validierung von Code. Automatisierungstests werden durchgeführt, um zu überprüfen, ob Qualitätsstandards für Funktionalität (Geschäftslogik), Codestil und Benutzererfahrung erfüllt wurden.

Automatisierungstests werden mit Tools wie Selenium und Katalon durchgeführt.

Was ist Jenkinsfile?

Jenkinsfile ist eine Textdatei, die die Definition einer Jenkins-Pipeline enthält. Jenkinsfile wird in das Quellcodeverwaltungs-Repository eingecheckt. Einige seiner Verwendungen sind; es ermöglicht einen Audit-Trail für die Pipeline, ermöglicht eine Codeüberprüfung und Iteration in der Pipeline und bietet eine Single Source of Truth in der Pipeline.

  Roblox-Fehlercode 524 beheben

Erklären Sie die Architektur in Jenkins

Jenkins hat eine Master-Slave-Architektur. Das bedeutet, dass viele „Sklaven“ für einen „Herrn“ arbeiten. Der Jenkins Distributed Build kann somit identische Tests in verschiedenen Umgebungen ausführen, wobei die Ergebnisse gesammelt und auf dem Masterknoten zur Überwachung kombiniert werden.

Was sind die besten Jenkins-Plugins?

  • Blue Ocean-Plugin für Jenkins
  • Mailer-Plugin für Jenkins
  • Git-Plugin für Jenkins
  • Jira-Plugin für Jenkins
  • Docker-Plugin für Jenkins
  • Maven-Integrations-Plugin für Jenkins
  • Kubernetes-Plugin für Jenkins
  • SonarQube-Plugin für Jenkins
  • Amazon EC2-Plugin für Jenkins

Was ist Selenium IDE?

Selenium IDE ist ein Tool, das Browserinteraktionen für Testfälle aufzeichnet. Sie können Breakpoints setzen und Variablen prüfen und pausieren, wenn Fehler mit Selenium Integrated Development Environment auftreten.

Was sind die verschiedenen Selen-Komponenten?

Was sind die verschiedenen Arten von Tests bei Selen?

  • End-to-End-Tests
  • Regressionstests
  • Systemtests
  • Leistungstest
  • Kompatibilitätstest

Was sind die verschiedenen Ausnahmen in Selen?

  • ElementNotSelectableException
  • NoAlertPresentException
  • InvalidSelectorException
  • NoSuchSessionException
  • StaleElementReferenceException
  • NoSuchWindowException
  • NoSuchFrameException
  • NoSuchElementException
  • TimeoutException
  • ElementNotVisibleException

Was sind driver.close() und driver.quit() in WebDriver?

Der Befehl driver.close() schließt das Browserfenster im Fokus. Wenn nur ein Browser geöffnet ist, wird die gesamte Browsersitzung geschlossen.

Der Befehl driver.quit() schließt die gesamte Browsersitzung mit Browser-Popups, Registerkarten und Fenstern.

Was ist ein Dockerfile?

Dockerfile ist ein Textdokument mit allen Befehlen, die ein Benutzer in einer Befehlszeile verwenden kann, um ein Bild zusammenzustellen.

Unterschiede zwischen Docker-Images und Docker-Container

Docker-Images sind schreibgeschützte Vorlagen, die mit Quellcodes, Tools, Bibliotheken, externen Abhängigkeiten und anderen Dateien erstellt wurden, die für die erfolgreiche Ausführung jeder Anwendung auf jedem Betriebssystem oder jeder Plattform erforderlich sind.

Ein Docker-Container ist eine Box, die Docker-Image-Vorlagen ausführt.

Erklären Sie die Architektur von Docker

Docker folgt einer Client-Server-Architektur und besteht aus Docker Client, Docker Host und Docker Registry.

Der Docker-Client verwendet REST-APIs und -Befehle, um mit dem Server (Docker-Daemon) zu kommunizieren.

Der Docker-Client verwendet CLI, um diese Befehle auszuführen

docker build

docker pull

docker run
  • Docker Host bietet eine Umgebung zum Ausführen und Ausführen von Anwendungen. Bestehend aus Docker-Daemon, Speicher, Bildern, Containern und Netzwerken.
  • Docker Registry verwaltet und speichert Docker-Images.

Cloud-Plattformen, die Docker unterstützen

Die Plattformen, die Docker-Hosting unterstützen, sind:

Was ist Nagios?

Nagios ist ein Tool, das die gesamte IT-Infrastruktur überwacht, um sicherzustellen, dass Geschäftsprozesse, Systeme, Dienste und Anwendungen ordnungsgemäß funktionieren.

Wie funktioniert Nagios?

  • Überwachung. IT-Mitarbeiter konfigurieren Nagios, um Netzwerkprotokolle, Systemmetriken, Anwendungen, Netzwerkinfrastruktur, Dienste und Server zu überwachen.
  • Alarmierung. Nagios sendet Warnungen, wenn kritische Komponenten ausfallen. Benachrichtigungen können per SMS, benutzerdefiniertem Code oder E-Mail erfolgen.
  • Antwort. Das IT-Team bestätigt Warnungen und handelt.
  • Berichte. Es werden Berichte generiert, die eine historische Aufzeichnung von Benachrichtigungen, Ausfällen, Alarmreaktionen und Ereignissen zur späteren Überprüfung bereitstellen.
  • Instandhaltung. Geplante Ausfallzeiten verhindern, dass Warnungen während der Wartung gesendet werden.

Erwähnen Sie einige Plugins in Nagios

  • Offizielle Nagios-Plugins – entwickelt und gepflegt vom offiziellen Team
  • Benutzerdefinierte Plugins, die von Einzelpersonen/Unternehmen für individuelle Bedürfnisse geschrieben wurden
  • Community-Plugins – entwickelt von den Mitgliedern der Nagios-Community
  So exportieren Sie Ihre Google Fotos-Bibliothek

Virtualisierung mit Nagios erklären

Nagios bietet die Möglichkeit, verschiedene Metriken auf verschiedenen Virtualisierungsplattformen zu überwachen. Nagios kann auf verschiedenen Virtualisierungsplattformen wie Xen, Amazon EC2, VMware und Microsoft Virtual PC ausgeführt werden.

Wie hilft Nagios beim Monitoring?

Nagios verwendet Agenten wie NRPE, check_mk oder SNMP, um Statistiken auf Ihrem Server zu sammeln und eine Warnung zu senden, wenn die Metriken über dem vordefinierten Schwellenwert liegen.

Welche Portnummern verwendet Nagios für Überwachungszwecke?

SNMP, Ports 161 und 162

Was ist ein Nagios-Netzwerkanalysator?

Nagios Network Analyzer ist eine Sflow-Datenanalysesoftware, mit der Benutzer anormales Verhalten, Ausfälle und Sicherheitsbedrohungen proaktiv beheben können, bevor sie den Geschäftsbetrieb unterbrechen. Dieses kommerzielle Tool bietet erweiterte Einblicke in den Netzwerkverkehr und die IT-Infrastruktur.

Variablen, die Vererbung und Rekursion in Nagios beeinflussen

  • Name – ein Vorlagen-‚Name‘, der die Objektvariablen/Eigenschaften erben kann.
  • Verwenden – Geben Sie den Objektnamen der Vorlage an, von der Sie Variablen/Eigenschaften erben möchten.
  • Register gibt an, ob der Name des Vorlagenobjekts bei Nagios ‚registriert‘ werden soll.

Was ist Marionette?

Puppet ist ein Open-Source-Tool für die Verwaltung und Bereitstellung von Softwarekonfigurationen.

Was ist ein Puppet-Manifest?

Das Puppet-Manifest ist eine Datei, die die Puppet-Konfigurationssprache enthält, die beschreibt, wie Ressourcen konfiguriert werden sollen.

Was ist der Puppet-Code?

Puppet-Code ist ein deklarativer Code, was bedeutet, dass Sie ihn anhand des gewünschten Zustands Ihres Systems beschreiben und nicht anhand der Schritte, die erforderlich sind, um dorthin zu gelangen.

Was ist Chef?

Chef ist ein Konfigurationsmanagement-Tool, das Infrastruktur in Code umwandelt. Dieses Tool konzentriert sich auf das Schreiben von Code anstelle des manuellen Prozesses.

Wie funktioniert Koch?

Die Arbeit von Chef beginnt, wenn Systemadministratoren oder Entwickler Aufgaben definieren, die automatisiert werden sollen. Die Kochbücher und Rezepte (kleine Programme, die in einer domänenspezifischen Sprache geschrieben sind) werden dann erfasst und mit verschiedenen Tools wie Test Kitchen, ChefSpec und Foodcritic getestet.

Wenn die Kochbücher und Rezepte wie erwartet funktionieren, werden sie mithilfe von Knife- und Chef-Befehlszeilentools auf dem Chef-Server bereitgestellt. Ein Chef-Bereitstellungsprozess umfasst einen Chef-Server, Arbeitsstationen und Knoten. Sie können aus über 3000 Kochbuchvorlagen wählen und diese an Ihre Bedürfnisse anpassen. Der Küchenchef kümmert sich dann um den Rest der Arbeit.

Zusammenfassung

Laut Glassdoor beträgt das durchschnittliche Gehalt eines DevOps-Ingenieurs in den USA 104.281 US-Dollar pro Jahr. Auch wenn DevOps eine neue Karriere ist, sehen wir jetzt mehr Unternehmen, die für diese Rolle einstellen und verschiedene Kurse veröffentlichen, um Fachleute mit den wesentlichen Fähigkeiten auszustatten. Oben sind einige Fragen aufgeführt, auf die Sie wahrscheinlich in einem DevOps-Interview stoßen werden.

Sie können auch einige gute Online-Kurse erkunden, um DevOps zu lernen.