Die 50 wichtigsten Fragen und Antworten zum DevOps-Interview (PDF)
Hier finden Sie Fragen und Antworten zu DevOps-Interviews für neue und erfahrene Kandidaten, die ihren Traumjob bekommen möchten.
Fragen und Antworten zum DevOps-Interview für Studienanfänger
1) Erklären Sie, was DevOps ist?
Es handelt sich um einen neuen Begriff im IT-Bereich, der nichts anderes als eine Praxis beschreibt, die die Zusammenarbeit und Kommunikation zwischen Softwareentwicklern und Bereitstellungsteams (Betriebsteams) betont. Der Schwerpunkt liegt auf der schnelleren Bereitstellung von Softwareprodukten und der Verringerung der Fehlerquote bei Releases.
👉Kostenloser PDF-Download: Fragen und Antworten zum DevOps-Interview >>
2) Erwähnen Sie, was die Schlüsselaspekte oder Prinzipien hinter DevOps sind?
Der Schlüsselaspekt oder das Prinzip hinter DevOps ist
- Infrastruktur als Code
- Kontinuierliche Bereitstellung
- Automation
- Netzwerk Performance
- Sicherheit
3) Was sind die Kernvorgänge von DevOps bei der Anwendungsentwicklung und der Infrastruktur?
Die Kernoperationen von DevOps sind
Anwendungsentwicklung
- Code-Erstellung
- Codeabdeckung
- Unit-Test
- Verpackung
- Einsatz
Infrastruktur
- Provisioning
- Konfiguration
- 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 namens Vorlagen organisiert
- Diese Vorlagen können auf AWS DevOps bereitgestellt und dann als Stacks verwaltet werden
- Later Der CloudFormation-Dienst führt die Vorgänge Erstellen, Löschen, Aktualisieren usw. im Stapel aus.
5) Erklären Sie, welche Skriptsprache für einen DevOps-Ingenieur am wichtigsten ist?
Für einen DevOps-Ingenieur ist eine einfachere Skriptsprache besser. Python scheint sehr beliebt zu sein.
6) Erklären Sie, wie DevOps für Entwickler hilfreich ist.
DevOps kann für Entwickler hilfreich sein, den Fehler zu beheben und neue Funktionen schnell zu implementieren. Es trägt auch zu einer klareren Kommunikation zwischen den Teammitgliedern bei.
7) Einige beliebte Tools für DevOps auflisten?
Zu den beliebtesten Tools für DevOps gehören:
- Jenkins
- Nagios
- Monit
- ELK (Elasticsearch, Logstash, Kibana)
- Jenkins
- Docker
- Ansible
- Git
8) Erwähnen Sie, in welcher Instanz Sie SSH verwendet haben?
Ich habe SSH verwendet, um mich bei einem Remote-Computer anzumelden und an der Befehlszeile zu arbeiten. Darüber hinaus habe ich es auch zum Tunneln in das System verwendet, um 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 Revisions-(Versions-)Kontrolle umgehen würden.
Mein Ansatz zur Handhabung der Revisionskontrolle wäre, den Code auf SourceForge oder GitHub zu veröffentlichen, damit ihn jeder sehen kann. Außerdem werde ich die Checkliste der letzten Überarbeitung veröffentlichen, um sicherzustellen, dass alle ungelösten Probleme behoben werden.
10) Welche Arten von HTTP-Anfragen gibt es?
Die Arten von HTTP-Anfragen sind
- BESTELLE
- KOPF
- SETZEN
- jetzt lesen
- PATCH
- LÖSCHEN
- SPUR
- FOLGE UNS
- OPTIONAL
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 Dinge
Fehlerbehebung auf Anwendungsebene | RAM-bezogene Probleme, Festplatten-E/A-Lese-/Schreibprobleme, Probleme mit dem Festplattenspeicher usw. |
Fehlerbehebung auf Systemebene | Suchen Sie nach Anwendungsprotokolldatei ODER Anwendungsserverprotokolldatei, Systemleistungsproblemen, Webserverprotokoll – überprüfen Sie HTTP-, Tomcat Lo-, JBoss- oder WebLogic-Protokolle, um zu sehen, ob die Antwort-/Empfangszeit des Anwendungsservers die Ursache für Langsamkeit oder Speicherverlust ist Anwendung |
Fehlerbehebung bei abhängigen Diensten | Probleme im Zusammenhang mit Antivirenprogrammen, Problemen mit der Firewall, Netzwerkproblemen, Problemen mit der Antwortzeit des SMTP-Servers usw. |
12) Was sind die Schlüsselkomponenten von DevOps?
Hier sind einige wichtige Phasen des DevOps-Lebenszyklus:
- Fortlaufende Entwicklung
- Kontinuierliche Integration
- Kontinuierliches Testing
- Continuous Deployment
- Kontinuierliche Überwachung
- Kontinuierliches Feedback
- Kontinuierlich Operations
13) Nennen Sie einige Cloud-Plattformen, die für die DevOps-Implementierung verwendet werden
Beliebte Cloud-Computing-Plattformen, die für die DevOps-Implementierung verwendet werden, sind:
- Google Cloud
- Amazon Web Services
- Microsoft Azure
14) Nennen Sie einige Vorteile der Verwendung des Versionskontrollsystems
- Das Versionskontrollsystem ermöglicht es Teammitgliedern, jederzeit frei an jeder Datei zu arbeiten.
- Alle früheren Versionen und Varianten sind im VCS dicht gepackt.
- Ein verteiltes VCS wie hilft Ihnen dabei, den gesamten Verlauf des Projekts zu speichern, sodass Sie im Falle eines Ausfalls des zentralen Servers das lokale Git-Repository Ihres Teammitglieds verwenden können.
- Ermöglicht Ihnen zu sehen, welche genauen Änderungen am Inhalt der Datei vorgenommen wurden
15) Erklären Sie Git Bisect
Git bisect hilft Ihnen, mithilfe der binären Suche den Commit zu finden, der einen Fehler verursacht hat.
16) Wie ist der Aufbau?
Ein Build ist eine Methode, bei der der Quellcode zusammengestellt wird, um zu prüfen, ob er als Einheit funktioniert. Während des Build-Erstellungsprozesses wird der Quellcode kompiliert, überprüft, getestet und bereitgestellt.
17) Was ist Puppet?
Marionette ist ein nützliches Projektmanagement-Tool. Es hilft Ihnen, Verwaltungsaufgaben zu automatisieren.
18) Erklären Sie die Zwei-Faktor-Authentifizierung
Die Zwei-Faktor-Authentifizierung ist eine Sicherheitsmethode, bei der der Benutzer zwei Identifizierungsmöglichkeiten aus unterschiedlichen Kategorien bereitstellt.
19) Erklären Sie den Begriff „Canary Freigeben'.
Ein Canary Release ist ein Muster, das das Risiko verringert, eine neue Softwareversion in die Produktionsumgebung einzuführen. Dies geschieht, indem die Version zunächst einer Teilmenge der Benutzer auf kontrollierte Weise zur Verfügung gestellt wird, bevor sie der gesamten Benutzergruppe zur Verfügung gestellt wird.
20) Welche Arten von Tests sind wichtig, um sicherzustellen, dass ein neuer Dienst produktionsbereit ist?
Sie müssen kontinuierliche Tests durchführen, um sicherzustellen, dass der neue Dienst für die Produktion bereit ist.
Fragen und Antworten zum DevOps-Interview für Erfahrene
21) Was ist Vagrant?
Ein Vagrant ist ein Tool, das virtualisierte Umgebungen zum Testen und Entwickeln von Software erstellen und verwalten kann.
22) Wozu dient PTR im DNS?
Der Zeigerdatensatz, auch PTR genannt, wird für die umgekehrte DNS-Suche verwendet.
23) Was ist Chefkoch?
Es handelt sich um eine leistungsstarke Automatisierungsplattform, die Infrastruktur in Code umwandelt. In diesem Tool können Sie Skripte schreiben, die zur Automatisierung von Prozessen dienen.
24) Was sind die Voraussetzungen für die Implementierung von DevOps?
Im Folgenden sind die nützlichen Voraussetzungen für die DevOps-Implementierung aufgeführt:
- Mindestens eine Versionskontrollsoftware
- Korrekte 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 wesentliche Best Practices für die DevOps-Implementierung:
- Die Liefergeschwindigkeit bedeutet, dass jede Aufgabe Zeit benötigt, um sie in die Produktionsumgebung zu bringen.
- Verfolgen Sie, wie viele Mängel in den verschiedenen gefunden werden
- Es ist wichtig, die tatsächliche oder durchschnittliche Zeit zu messen, die im Falle eines Fehlers in der Produktionsumgebung zur Wiederherstellung benötigt wird.
- Auch die Anzahl der vom Kunden gemeldeten Fehler wirkt sich auf die Qualität der Anwendung aus.
26) Erklären Sie das SubGIt-Tool
SubGit hilft Ihnen bei der Migration von SVN nach Git. Außerdem können Sie damit einen beschreibbaren Git-Spiegel eines lokalen oder Remote-Subversion-Repositorys erstellen.
27) Nennen Sie einige wichtige Tools zur Netzwerküberwachung
Einige der bekanntesten Tools zur Netzwerküberwachung sind:
- Splunk
- Icinga 2
- Wireshark
- Nagios
- OpenNMS
28) Ob Ihre Grafikkarte laufen kann Unity wie würdest du wissen?
Wenn Sie einen Befehl verwenden
/usr/lib/Linux/unity_support_test-p
Es wird eine detaillierte Ausgabe darüber angezeigt UnityWenn die Anforderungen erfüllt sind, kann Ihre Grafikkarte Unity ausführen.
29) Erklären Sie, wie Sie den Startton aktivieren Ubuntu?
So aktivieren Sie den Startton
- Klicken Sie auf Vorschaltgerät und dann auf Startanwendungen
- Im Startanwendungseinstellungen Klicken Sie im Fenster Speichern um einen Eintrag hinzuzufü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 wieder an, wenn Sie fertig sind
Sie können es auch mit der Tastenkombination öffnen Ctrl+Alt+T
.
30) Wie öffnet man am schnellsten eine? Ubuntu Terminal in einem bestimmten Verzeichnis?
Um ein zu öffnen Ubuntu Um ein Terminal in einem bestimmten Verzeichnis zu installieren, können Sie eine benutzerdefinierte Tastenkombination verwenden.
Geben Sie dazu im Befehlsfeld einer neuen benutzerdefinierten Tastatur genom – terminal – – arbeitsverzeichnis = /pfad/zu/dir ein.
31) Erklären Sie, wie Sie die aktuelle Farbe des aktuellen Bildschirms abrufen können Ubuntu Desktop?
Sie können das Hintergrundbild in The Gimp (Bildeditor) öffnen und dann mit der Pipette die Farbe an einer bestimmten Stelle auswählen. Sie erhalten den RGB-Wert der Farbe an dieser Stelle.
32) Erklären Sie, wie Sie Starter auf einem Desktop erstellen Ubuntu?
So erstellen Sie Starter auf einem Desktop in Ubuntu du kannst benutzen
ALT+F2 und geben Sie dann „gnome-desktop-item-edit –create-new~/desktop“ ein. Dadurch wird der alte GUI-Dialog gestartet und ein Launcher auf Ihrem Desktop erstellt
33) Erklären Sie, was Memcached ist?
Memcached ist ein kostenloses und quelloffenes, leistungsstarkes, verteiltes Speicherobjekt-Caching-System. Das Hauptziel von Memcached besteht darin, die Reaktionszeit für Daten zu verbessern, die andernfalls aus einer anderen Quelle oder Datenbank wiederhergestellt oder erstellt werden können. Es wird verwendet, um die Notwendigkeit zu vermeiden, SQL-Datenbank oder eine andere Quelle wiederholt, um Daten für eine gleichzeitige Anfrage abzurufen.
Memcached kann für verwendet werden
- Soziale Netzwerke -> 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 -> Sitzungscaching
Memcache hilft dabei
- Beschleunigen Sie Bewerbungsprozesse
- Es bestimmt, was gespeichert werden soll und was nicht
- Reduzieren Sie die Anzahl der Abrufanfragen an die Datenbank
- Reduziert den I/O-Zugriff (Eingabe/Ausgabe) (Festplatte)
Der Nachteil von Memcached ist
- Es handelt sich nicht um einen dauerhaften Datenspeicher
- Keine Datenbank
- Es ist nicht anwendungsspezifisch
- Große Objekte können nicht zwischengespeichert werden
34) Erwähnen Sie einige wichtige Funktionen von Memcached?
Zu den wichtigen Funktionen von Memcached gehören:
- CAS-Token: Ein CAS-Token wird an ein aus einem Cache abgerufenes Objekt angehängt. Mit diesem Token können Sie Ihr aktualisiertes Objekt speichern.
- Rückrufe: Es vereinfacht den Code
- getDelayed: Es reduziert die Verzögerungszeit Ihres Skripts, das darauf wartet, dass Ergebnisse von einem Server zurückkommen
- Binärprotokoll: Mit dem neueren Client können Sie das Binärprotokoll anstelle von ASCII verwenden
- Igbinär: Bisher hat ein Client bei komplexen Daten immer die Serialisierung des Werts durchgeführt, mit Memcached können Sie jedoch die Option igbinary verwenden.
Fragen und Antworten zum DevOps-Interview für 5+-Erfahrung
35) Erklären Sie, ob es möglich ist, eine einzelne Instanz eines Memcaches zwischen mehreren Projekten zu teilen?
Ja, es ist möglich, eine einzelne Memcache-Instanz zwischen mehreren Projekten zu teilen. Memcache ist ein Speicherbereich, 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 kommuniziert. Sie können also zwei verschiedene Memcache-Prozesse auf demselben Host ausführen und sind dennoch völlig unabhängig. Sofern Sie Ihre Daten nicht partitioniert haben, müssen Sie wissen, von welcher Instanz die Daten abgerufen oder in welche Instanz sie abgelegt werden sollen.
36) Sie haben mehrere Memcache-Server, bei denen einer der Memcache-Server ausfällt und Ihre Daten gespeichert sind. Wird er jemals versuchen, Schlüsseldaten von diesem einen ausgefallenen Server abzurufen?
Die Daten auf dem ausgefallenen Server werden nicht entfernt, es ist jedoch ein automatischer Fehler vorgesehen, den 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 des Memcached-Servers minimieren können.
- Wenn eine Instanz ausfällt, fallen mehrere Instanzen aus. Dadurch wird der Datenbankserver stärker belastet, wenn verlorene Daten neu geladen werden, wenn ein Client eine Anfrage stellt. Um dies zu vermeiden, hat Ihr Code nur minimale Auswirkungen, wenn er so geschrieben wurde, dass Cache-Stampedes minimiert werden
- Eine andere Möglichkeit besteht darin, eine Instanz von Memcached auf einem neuen Computer unter Verwendung der verlorenen IP-Adresse des Computers zu starten
- Der Code ist eine weitere Option zur Minimierung von Serverausfällen, da er Ihnen die Freiheit gibt, die Memcached-Serverliste mit minimalem Aufwand zu ändern
- Das Festlegen eines Zeitüberschreitungswerts ist eine weitere Option, die einige Memcached-Clients für den Ausfall eines Memcached-Servers implementieren. Wenn Ihr Memcached-Server ausfällt, versucht der Client so lange, eine Anfrage zu senden, bis das Timeout-Limit erreicht ist
38) Erklären Sie, wie Sie Memcached aktualisieren können, wenn sich Daten ändern.
Wenn sich Daten ändern, können Sie Memcached aktualisieren
- Den Cache proaktiv leeren: Leeren des Caches, wenn eine Einfügung oder Aktualisierung durchgeführt wird
- Cache zurücksetzen: Es ähnelt der ersten Methode, aber anstatt nur die Schlüssel zu löschen und auf die nächste Anforderung für die Aktualisierung des Caches durch die Daten zu warten, werden die Werte nach dem Einfügen oder Aktualisieren zurückgesetzt.
39) Erklären Sie, was der Dogpile-Effekt ist. Wie kann man diesen Effekt verhindern?
Unter Dogpile-Effekt versteht man das Ereignis, bei dem ein Cache abläuft und Websites von mehreren gleichzeitig vom Client gestellten Anfragen betroffen sind. Dieser Effekt kann durch den Einsatz einer Semaphorsperre verhindert werden. Wenn in diesem System der Wert abläuft, erhält der erste Prozess die Sperre und beginnt mit der Generierung eines neuen Werts.
40) Erklären Sie, warum Memcached nicht verwendet werden sollte.
- Der häufigste Missbrauch von Memcached besteht darin, es als Datenspeicher und nicht als Cache zu verwenden
- Verwenden Sie Memcached niemals als einzige Informationsquelle, 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 Datenabfragen durchführen oder den Inhalt iterieren, um Informationen zu extrahieren
- Memcached bietet keinerlei Sicherheit, weder bei der Verschlüsselung noch bei der Authentifizierung
41) Sind die in Memcached gespeicherten Daten weiterhin verfügbar, wenn ein Server heruntergefahren wird?
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?
- Speichercache: Es handelt sich um eine Erweiterung, mit der Sie über praktische objektorientierte (OOPs) und prozedurale Schnittstellen arbeiten können. Es wurde entwickelt, um die Datenbanklast in dynamischen Webanwendungen zu reduzieren.
- Memcache: Es ist eine Erweiterung, die verwendet die libmemcached Bibliothek zur Bereitstellung einer API für die Kommunikation mit Memcached-Servern. Es wird verwendet, um die Dynamik von Webanwendungen zu erhöhen, indem die Datenbanklast verringert wird. Es ist die neueste API.
43) Erklären Sie das Blau/Grün-Bereitstellungsmuster
Das Farbmuster Blau/Grün geht auf die wichtigsten Herausforderungen ein, denen sich der automatische Bereitstellungsprozess gegenübersieht. Beim Blue/Green-Bereitstellungsansatz müssen Sie zwei identische Produktionsumgebungen sicherstellen. Allerdings ist jeweils 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 in die Grüne Umgebung umgeleitet.
44) Was sind die Container?
Container basieren auf einer leichten Virtualisierung. Sie bieten Isolierung zwischen Prozessen.
45) Was ist ein Post-Mortem-Meeting in Bezug auf DevOps?
In einer Obduktionsbesprechung wird besprochen, was schief gelaufen ist und welche Schritte Sie unternehmen müssen, um Fehler zu vermeiden.
46) Was ist die einfachste Methode, eine kleine Cloud aufzubauen?
VMfres ist eine der effektivsten Optionen, um aus Virtual eine IaaS-Cloud zu machen Box VMs im Handumdrehen. Wenn Sie jedoch ein leichtes PaaS wünschen, ist Dokku eine gute Option, da Bash-Skripte PaaS aus Dokku-Containern erstellen können.
47) Nennen Sie zwei Tools, die für Docker-Netzwerke verwendet werden.
Für Docker-Netzwerke können Sie Kubernetes und Docker Swarm verwenden.
48) Nennen Sie einige der Bereiche, in denen DevOps implementiert wird
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 Herangehensweise an die Produktentwicklung. Bei dieser Methode suchen Entwickler immer nach vorhandenen, gut definierten, getesteten und verifizierten Komponenten, um sie zusammenzustellen und zu einem Produkt zusammenzusetzen, anstatt von Grund auf neu zu entwickeln.
50) Erklären Sie die Paarprogrammierung anhand von DevOps
Paarprogrammierung ist eine technische Praxis der Extreme Programming Rules. Bei dieser Methode arbeiten zwei Programmierer am selben System, am selben Design/Algorithmus/Code.
Ein Programmierer fungiert als „Treiber“. Andere fungieren als „Beobachter“, die kontinuierlich den Fortschritt eines Projekts überwachen, um Probleme zu identifizieren. Die Rollen können jederzeit und ohne vorherige Ankündigung vertauscht werden.
51) Erklären Sie den Resilienztest
Tests, die eine Wiederherstellung ohne Daten- und Funktionsverlust nach einem Ausfall gewährleisten, werden als Resilienztests bezeichnet.
52) Nennen Sie drei wichtige DevOps-KPIs
Die drei häufigsten DevOps-KPIs sind:
- In der Zwischenzeit bis zur Wiederherstellung nach Ausfall
- Bereitstellungshäufigkeit
- Prozentsatz fehlgeschlagener Bereitstellungen
Diese Interviewfragen helfen auch bei Ihrer mündlichen Prüfung