Was sind Ihre besten Fragen zu Linux-Vorstellungsgesprächen für Senioren? [Geschlossen]


25

Von Zeit zu Zeit werden auf dieser Website Fragen zu einigen Sys-Admin-Vorstellungsgesprächen gestellt. Meistens sind sie beim Lesen allen Fragen der Mittelstufe untergeordnet.

Ich frage mich, welche Fragen für Linux-Administratoren am besten geeignet sind.

Zwei von mir sind

1) Wie stoppen Sie eine Gabelbombe, wenn Sie bereits in einem System angemeldet sind?

2) Sie löschen eine von Apache verwendete Protokolldatei und haben Apache noch nicht neu gestartet. Wie können Sie diese Protokolldatei wiederherstellen?


Eine andere Variante des ersten Q ist: Was macht :(){ :|:& };:Ihr System und warum interessiert Sie das? Prost!
MacUsers

Antworten:


13
  • Wie sehen Abhängigkeiten von gemeinsam genutzten Bibliotheken aus?
  • Wie Systemaufruf und Signal verfolgen?
  • Wie Profil App?
  • Wie drucke ich die Zeichenfolgen druckbarer Zeichen in Dateien?
  • Welche Felder sind in einer Inode gespeichert?
  • Was ist nscd?
  • Was ist Automake und Autoconf?
  • Welche Schritte, um einem System einen Benutzer hinzuzufügen, ohne useradd / adduser zu verwenden?
  • Wie werden Look-Informationen zu ELF-Dateien angezeigt?
  • Was sind MAJOR- und MINOR-Nummern von Sonderdateien?
  • Wie Link-Layer-Filterung?

16
  • Erzählen Sie mir von dem letzten großen Linux-Projekt, das Sie abgeschlossen haben. Was waren einige der Hindernisse und wie haben Sie sie überwunden? Manchmal enthüllt das Stellen dieser offenen Fragen viel mehr als nur kleine Fragen, die von Google leicht beantwortet werden können. Ein großer Senior-Administrator muss nicht alles wissen, aber er sollte in der Lage sein, erstaunliche Lösungen für unmögliche Projekte zu finden.
  • Tragen Sie zu Open Source-Projekten bei? Egal ob es sich nur um Dokumentation handelt, es zeigt eine gewisse Hingabe an das Handwerk.

Um herauszufinden, wie gut sie sind, stellen Sie die offenen Fragen ...


2
+1 für offene Fragen. Geschlossene Fragen beschränken sich auf Wissenswertes.
Sirex

2
Absolut. Für mich ist ein Senior nicht nur jemand, der Dinge auswendig kann, die Sie bei Google auswendig lernen können, sondern jemand, der komplexe Probleme lösen, entwerfen, eine Führungsrolle in Projekten übernehmen kann und so weiter. "Kannst du dich erinnern, wie man ldd benutzt?" Wird mir nicht sagen, ob ich jemanden anstelle, der helfen kann, den Fehler in einer komplexen mehrstufigen Produktions-App zu lokalisieren oder eine aussagekräftige Kapazitätsplanung durchzuführen.
Rodger

9

Frage: Beschreiben Sie ein Szenario, in dem der Fehler "Dateisystem ist voll" angezeigt wird, " df " jedoch anzeigt, dass freier Speicherplatz vorhanden ist

Antwort: Dem Dateisystem können die Inodes ausgehen, ' df -i ' zeigt das an.

Offene Fragen:

  • Erzählen Sie mir, wie Sie Ihre Wissensdatenbank verwalten (Wikis, Gliederungen, Tabellenkalkulationen, einfache Textdateien) und warum Sie bestimmte Optionen ausgewählt haben
  • Verwenden Sie die Versionskontrolle? welches und warum? Sehen Ihre Commit-Nachrichten gut aus?

3
Verwandte könnte sein, "Warum sollten du und df nicht einverstanden sein?" - Weil du die Verwendung von Verzeichnissen prüft, aber df free'd-Inodes prüft und Dateien geöffnet bleiben und Speicherplatz beanspruchen können, nachdem sie gelöscht wurden
Matt Simmons

+1 für dies & Matts Kommentar (Eigentlich frage ich dies bei ALLEN Unix-Interviews, unabhängig von der Ebene. Es zeigt, wie gut jemand Dateisystemkonzepte versteht)
voretaq7

Ohh .. der Unterschied zwischen du / und df ist immer gut
Mike

macht sich eine Notiz Aha! Jetzt kenne ich diesen! :)
Mister IT Guru

8

Einer, den ich gerne frage und den ich gerne frage, ist:

Erzählen Sie mir von dem größten Fehler, den Sie in letzter Zeit gemacht haben, und wie Sie es heute anders machen würden. Was haben Sie aus dieser Erfahrung gelernt?

Es gibt viele Sysadmins mit 10 Jahren Erfahrung. Viele scheinen zehnmal hintereinander dasselbe Jahr zu haben. Ich möchte einen in meinem Team mit 10 verschiedenen, immer besseren Jahren. Und wenn Sie noch nie einen großen Fehler gemacht haben, bei dem Sie sich gefragt haben, ob Sie nur Ihren Schreibtisch einpacken sollen, haben Sie nicht wirklich gelebt. :)

Ich interessiere mich nicht für die Trivia-Fragen als Interviewer oder Interviewte. Ich mag die Fragen, die meine Verkäufer schon einmal gestellt haben, oder die, die mir "Eureka!" Momente.


Ich unterstütze diese Frage
ZaphodB

7

Ich bin immer ein Fan von

  • Beschreiben Sie den Linux-Startvorgang so detailliert wie möglich, beginnend mit dem Einschalten des Systems und endend, wenn Sie dazu aufgefordert werden.

Ich stelle gerne Fragen, die zeigen, wie sehr sich jemand der Unterschiede zwischen verschiedenen Unixen bewusst ist. Ich mag es auch zu sehen, wie sehr jemand versteht, dass Linux Dinge auf eine Art und Weise tut, die nicht unbedingt so ist, wie es alle anderen tun. Viele dieser Fragen drehen sich um Standard-Linux-Tools, zum Beispiel:

  • Sagen Sie mir zwei Möglichkeiten, um sowohl stderr als auch stdin gleichzeitig umzuleiten
    • &> und >/dev/null 2>&1
    • demonstriert Kenntnisse von Bash vs. Borowski Shell

Ein weiterer wichtiger Punkt: Für leitende Positionen erwarte ich Beweise für das Verfassen und Präsentieren in der Öffentlichkeit. Wenn Sie eine ältere Person sind, sollten Sie mehrmals im Internet und in Zeitschriften veröffentlicht worden sein. Verdammt, es reicht aus, nur einen eigenen Tech-Blog zu haben. Mindestens einen Vortrag auf einer Konferenz gehalten zu haben, ist ein großes Plus. Ich denke, dies unterscheidet Junior von Senior Linux Admins.


Meine Variante Ihrer Frage lautet: Beschreiben Sie vom Ende des POST bis zur Anzeige einer Anmeldeaufforderung den Startvorgang eines PC-Servers unter Linux so ausführlich, wie Sie es für angemessen halten, mit dem Schwerpunkt auf der Fehlerbehebung. (Daher sind Dinge relevant, wie das Boot-Gerät vom BIOS gefunden wird und wie der Bootloader durch Code im MBR abgerufen wird, wie der Kernel den Init-Prozess startet und so weiter.) Jedes dieser Elemente gibt Feedback und ist mit einer Problembehandlung verbunden Schritte).
Jim Dennis

6

Ich habe gerade 'chmod -x / bin / chmod' ausgeführt. Was habe ich getan? Wie kann ich mich erholen?

Beschreiben des TCP-Handshake-Prozesses.

Wie funktioniert Traceroute?

Wann müssen Sie möglicherweise STRG-Z oder STRG-D verwenden?

Was macht das Sticky Bit?

Welche Kernel-Optionen müssen Sie möglicherweise anpassen?

Wie können Sie feststellen, welche Distribution Sie verwenden?

Wie können Sie feststellen, auf welcher Hardware Sie ausgeführt werden?

Was ist der Unterschied zwischen einem SAN, einem NAS und einer lokalen Festplatte?

Ich habe 30 Server und bin mir nicht sicher, ob jeder die gleiche Apache-Konfiguration hat. Wie finde ich heraus, wie viele Exemplare es gibt und worin die Unterschiede bestehen?

Was ist ein Chroot-Gefängnis?

Wie können Sie feststellen, ob Sie gehackt wurden?

Nennen Sie alle zwei Buchstaben Unix-Befehle, die Sie sich vorstellen können, und was sie tun? Wie Sie alle zwei Buchstaben Unix-Befehle auf Ihrem System nachschlagen können.

Ich bitte auch Leute vor Ort, ein paar einfache Hausaufgaben zu machen. Vor allem, wenn sie Erfahrung im Schreiben von Skripten haben. Ich fordere sie auf, zwei verschiedene Datendateien (eine csv, eine | sv) zu analysieren und die Daten effektiv zu verknüpfen. Ich habe ein paar Fallstricke (schlecht formatierte Daten), fehlende Felder für Joins, seltsamerweise nicht übereinstimmende Daten usw. eingefügt. Ich fordere sie auf, mir den Quellcode und die Ausgabe zu senden. (Maschinenproblem-Stil) Normalerweise gebe ich ein Zeitfenster von 3-4 Stunden, um es in Angriff zu nehmen. Diese Aufgabe hat dazu beigetragen, viele Kandidaten herauszufiltern, die "Scripting" als eine Fähigkeit aufführen, aber unter Druck keine Grundlagen schaffen können.


Ich bin nicht überzeugt, dass dies technisch genug für eine leitende Position ist (basierend darauf kann ich sie beantworten, und ich bin ein Junior).
Sirex

Mit der Zeit könnte ich all dies beantworten, aber ich möchte es im Schlaf tun können! Ich denkt, ich brauche mehr Lernen :)
Mister IT Guru

6

Meine Lieblingsschlussfrage:

Wenn Sie auf einer einsamen Insel mit nur 5 Befehlszeilendienstprogrammen feststecken würden, welche würden Sie wählen?

Meine persönliche Liste:

  • Klingeln
  • tcpdump
  • ps
  • lsof
  • strace

Es ist eine einfache Frage, mit welchen Befehlen sich ein Administrator am wohlsten fühlt, und es hilft auch, ihre Behaglichkeit mit unorthodoxen (spielerischen) Fragen zu demonstrieren. Einige Befragte lesen viel zu viel in die Frage und werden nervös. Wenn Sie so etwas Grundlegendes nicht beantworten können, haben Sie wenig Vertrauen in Ihre eigenen Fähigkeiten. Wenn Sie sich jedoch zu sehr bemühen, die perfekte Liste zu erstellen, könnte dies darauf hindeuten, dass Sie Angst vor dem Scheitern haben und nicht in der Lage sind, auf den Beinen zu denken.

Zugegebenermaßen ist dies für Bewerber mit mittlerer oder mittlerer Qualifikation nützlicher, aber es tut auch nicht weh, danach zu fragen. :)


5
Ich denke, ich würde mitgehen busybox, um die Grundlagen mplayerzu besprechen und um mit der Langeweile fertig zu werden. Das lässt mir drei Reste ...
Mattdm

2
Ich möchte nur Echo und Mail - Echo "Bitte komm und rette mich!" | mail -s rescue admin@mcga.gov.uk
symcbean

"Mail" und "ntpdate". Ich könnte Mail verwenden, um um Hilfe zu rufen, und NTP verwenden, um meine genaue Länge und Breite zu bestimmen. :)
Ernie

5

Ich benutze diesen:

  • Was passiert, wenn der Linux-Kernel den OOM-Killer startet? Wie wählt er den Prozess aus, der zuerst beendet werden soll?

und andere, die ich nicht aus dem Kopf habe ..


Das ist eine großartige Frage. Ich glaube nicht, dass viele Senioren das wissen würden. Ich habe es mit Sicherheit nicht getan und es hat mich dazu gebracht, darüber zu lesen. Vielen Dank!
Mike

Meine Antwort darauf wäre: Der Kernel verwaltet verschiedene Statistiken in Bezug auf die Zuweisung von virtuellem Speicher und die Paging-Aktivität. Wenn bestimmte Schwellenwerte überschritten werden, wird der OOM-Killer aufgerufen, um Prozesse zum Beenden auszuwählen. Die Details wurden in den letzten Jahren mit nahezu jeder Kernel-Version und jedem Hersteller-Kernel-Build optimiert und geändert.
Jim Dennis

1
(Mein allgemeiner Standpunkt ist, dass der normale Systemadministrator die Auswahl von OOM - Killerprozessen als nahezu zufällig betrachten sollte. Vor ein paar Jahren verbrachte ich eine peinliche Zeit damit, die mysteriösen sporadischen Todesfälle auf meinen Portmapper - Prozessen aufzuspüren (einige pro Woche über Cluster von a Einige Tausend Maschinen) stellen nur fest, dass sie vom OOM-Killer getötet wurden - trotz der Tatsache, dass sie nur sehr wenig Speicher beansprucht, fast nie zusätzlichen Speicher zuweist, niemals gabelt und in den meisten Fällen ein äußerst unwahrscheinlicher Kandidat für OOM ist Auswahl). (Auf diese wurden keine Systemoptimierungen angewendet).
Jim Dennis

Mein Gehirn explodierte gerade - Das sind SEHR gute Fragen!
Mister IT Guru

Jim, du hast recht, es ändert sich die ganze Zeit, aber ich bin mehr daran interessiert, wie der Befragte darüber nachdenken würde und was sinnvoller wäre, zuerst zu töten und zu belohnen, wenn er erwähnen kann, wie man bestimmte Prozesse vor dem Töten schützt.
Chmouel Boudjnah

4

Ich habe hier einen starken Favoriten. Diese Frage hat einen ausgezeichneten Vorhersagewert für die Bewertung von Kandidaten in fortgeschritteneren Fragen:

Ein Benutzer / Kollege kommt zu Ihnen, um sich zu beschweren, dass eine Datei mit der Länge Null mit dem Namen "-fr" im Stammverzeichnis eines Systems angezeigt wurde.

Was ist die einfachste, sicherste und portabelste Möglichkeit, diesen Verzeichniseintrag zu entfernen, und warum ist die Frage eine Frage wert?

Die Leute bekommen die Hälfte des Verdienstes, wenn sie Dinge sagen wie: rm -- -froder perl -le 'unlink("-fr");'(Sie sind effektiv, aber nicht optimal tragbar).

Leute, die sich mit Shell-Kommandozeilen-Anführungszeichen und mit dem Entziehen von Zeichen beschäftigen, sind fast so gefährlich wie diejenigen, die einfach nicht einmal erkennen, warum ein solcher Dateiname überhaupt ein Problem darstellt.

Diejenigen, die schmunzeln ... sagen etwas über die Verwendung von "Punktschrägstrich" und weisen darauf hin, dass dies einer der ältesten Einträge in den häufig gestellten Fragen zur UNIX-Shell von USENIX ist.


Was meinst du mit "am tragbarsten"? Meine Antwort lautet jedenfalls: "Löschen nach Inode-Nummer". find . -inum <number> -exec rm -i {} \;
MacUsers 20.04.12

@MacUsers: In meinem Buch ist das ungefähr das Gleiche wie die Verwendung von Perl für die Aufgabe (halbes Guthaben ... es wird funktionieren, aber einige Versionen von find implementieren möglicherweise nicht die Option -inum und es ist im Vergleich zu rm ./-fr unnötig kompliziert. ( Insbesondere können wir leichter messen, wie viel Aufwand und wie zuverlässig wir einen Benutzer über das Telefon durch den Prozess führen können
Jim Dennis,

Möchten Sie Ihre Antwort wissen, um Ihr "volles Guthaben" zu erhalten. Prost!!
MacUsers

Die einfachste und portabelste Methode ist: rm ./-fr ... sie funktioniert immer mit den ältesten UNIX-Versionen und erfordert nur das Einfügen von zwei nicht verschobenen Tastenanschlägen. Wichtiger ist, dass man jedem Glob-Muster ./ voranstellen kann und sicher sein kann, dass keine Shell-Erweiterung des Glob durch einen externen Befehl als Switch fehlinterpretiert wird. (Ein Programm müsste seine Argumente miteinander verketten und die Zeichenfolge erneut analysieren, um durch ./foo \ -bar ... eine Datei mit einer Leerzeichenfolge zu verwechseln.)
Jim Dennis

Es scheint ein 'fehlendes Perl-Unlink-Beispiel zu geben.
GnP

3

"Welche Unixe, die kein Linux sind, haben Sie verwendet? Können Sie mir einige der Unterschiede zwischen ihnen erklären?"

Denn schließlich ist nicht die ganze Welt ein Linux (ich habe eine Handvoll kommerzieller Nicht-Linux-Unices und ein paar offene Nicht-Linux-Unices verwendet). Wenn Sie sich auf Fähigkeiten von einem in der Umgebung eines anderen verlassen, werden Sie schießen sich in den Fuß).


4
Solaris killall! = Linux killall
user9517 unterstützt GoFundMonica am

Zumindest war es früher so, dass das Bearbeiten von Konfigurationsdateien unter AIX nicht zu einer Änderung des Verhaltens von Daemons führte, da diese die Konfiguration aus einer Binärdatenbank anstelle der Nur-Text-Konfigurationsdatei abholten.
Vatine

2

Wenn Sie auf einer einsamen Insel mit nur 5 Befehlszeilendienstprogrammen feststecken würden, welche würden Sie wählen?

date whoami echo sleep kill


fsck fsck fsck fsck und fsck.
Sirex

Ist dies ein Betrug, ein Versuch, die Antwort unter serverfault.com/questions/225946/… in eine Diskussion zu verwandeln , oder was?
Quux

"whoami" - LOL!
Symcbean

1

Ich sage, ich fühle mich wie viele der Fragen "Wo ist __, was ist __, wie geht es dir __", die sich für mich wie Junior- / Zwischenfragen anfühlen. Bei einem Vorstellungsgespräch für eine Linux-Position auf mittlerem Niveau frage ich nach den typischen Grundkenntnissen (Wozu dient ein Kernel? Was ist der Unterschied zwischen einem Symlink und einem Hardlink? Was mache ich, wenn ich die ausführbaren Bits von chmod entferne?) . Einige der Dinge, die ich als Fragen auf höherer Ebene bezeichnen würde:

  1. Welche Vorteile bietet die Verwendung von systemd gegenüber SysV init? Nachteile? Debian ist gerade zu systemd gewechselt und nicht zu Upstart. Was war die Begründung dafür?
    • Dies zeigt unter anderem das Interesse und die Investition in die Linux-Community und wie sich dies auf die tägliche Arbeit eines Systemadministrators auswirkt. Es zeigt, dass diese Person darüber informiert ist, wie sich das Feld entwickelt, und (möglicherweise) bereit ist, sich damit zu ändern.
  2. Wenn ich Apache auf einem Remote-Server installieren wollte, wie geht das am besten? Was wäre, wenn ich dasselbe auf 100 Servern machen wollte? Was ist, wenn die Hälfte von ihnen RHEL und die Hälfte Debian sind?
    • Zeigt Vertrautheit mit der Verwendung von Software von Drittanbietern zur Lösung praktischer Probleme; Vertrautheit mit der Nutzung von Konfigurationsmanagement-Dienstprogrammen.
  3. Welche Überlegungen spielen beim Entwerfen einer hochverfügbaren Anwendung sowohl auf Architektur- als auch auf Anwendungsebene eine Rolle?
    • Zeigt, dass diese Person ein Problem mit dem Gesamtbild in Betracht ziehen kann. Zeigt an, dass sie verstehen, wie Load Balancing funktioniert, dass zustandslose Anwendungen funktionieren, und zeigt möglicherweise Kenntnisse über gängige Apache-Konfigurationsoptionen und -Module an, die für Multithread-Anwendungen und zur Leistungsoptimierung auf der Ebene des einzelnen Servers verwendet werden.
  4. Was sind einige Unterschiede zwischen einem Mikrokernel und einem monolithischen Kernel? Was ist von Vorteil, wenn Linux ein monolithischer Kernel ist?
    • Zeigt Vertrautheit mit dem Linux-System auf einer tieferen Ebene als der Benutzerraum.
  5. Wenn ich "www.google.com" über den Browser eingebe und die Eingabetaste drücke, was passiert von dem Zeitpunkt an, an dem mein Schlüssel auf dem Boden liegt, bis zu dem Zeitpunkt, an dem die Seite in meinem Browser gerendert wird?
    • Obwohl die Position nicht für einen Netzwerktechniker bestimmt ist, erwarte ich, dass die Leute in der Lage sind, außerhalb des Mikrokosmos zu denken. Dies führt zu einer Reihe von Netzwerkgrundlagen und deren Bedeutung für einzelne Systeme und kleine Netzwerke im Hinblick darauf, wie sie in größere Systeme passen. Dies kann sich mit lokalen Browser / OS-DNS-Caches befassen, mit der Funktionsweise von ARP, der Funktionsweise von Routentabellen, der Bedeutung von BGP / OSPF und der Rolle, die sie in größeren Netzwerken spielen, dem SSL-Handshake und der Kryptografie im Allgemeinen, TCP Verbindungen und viele andere nützliche Kleinigkeiten, in die man sich vertiefen kann.

Dies sind nur einige Beispiele aus dem Nichts, aber ich denke, ein leitender Administrator sollte im Allgemeinen mit Big-Picture-Konzepten vertraut sein und nicht mit Dingen, für die Sie nur Google verwenden können.

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.