Was ist "FizzBuzz" für Systemadministratoren? [geschlossen]


12

FizzBuzz ist ein einfacher Test der Programmierfähigkeit, der häufig von Arbeitgebern verwendet wird, um Personen auszusondern , die nicht programmieren können. Gibt es einen gleichwertigen Test für Systemadministratoren und allgemeine IT-Mitarbeiter?

Klarstellung Ich suche nach Dingen, die in einem Interview mit einiger Genauigkeit getestet werden können. Offensichtlich wird dies nicht eindeutig die richtige Person bestimmen, so wie es FizzBuzz nicht für Programmierer ist. Ich möchte nur Leute ausmerzen, die glauben, als Systemadministrator / IT-Mitarbeiter arbeiten zu können, weil sie im Internet surfen können.


Wenn Sie Ihre E-Mail erhalten können, ist dies wahrscheinlich sicher.
Der Unix-Hausmeister

1
@ user37899: Meinst du nicht, wenn er oder sie deine E-Mail bekommen kann, bist du wahrscheinlich in Sicherheit?
Bart Silverstrim

Also ... Wir sollten einfach jemanden von der Straße anstellen und wenn wir immer noch unsere E-Mail erhalten können, haben wir eindeutig den richtigen Mitarbeiter eingestellt?
Baudtack

Nun, für jemanden, der eine gute Menge an Skripten erstellt, ist FizzBuzz auch nicht schlecht für Administratoren.
Kyle Brandt

2
Sollte das nicht Community Wiki sein? Gibt es eine Antwort auf diese Frage?
Richard Holloway

Antworten:


11

Ich glaube nicht, dass Sie einen solchen Test für Administratoren entwickeln werden, da die Definition eines Administrators (für die Zwecke dieser Website) viel zu weit gefasst ist. Der FizzBuzz-Test kann in jeder Programmiersprache implementiert werden. Es spielt also keine Rolle, ob Sie einen PHP-Entwickler oder einen Embedded-C-Entwickler einstellen.

Auf der administrativen Seite können Sie einen Netzwerkadministrator, einen Speicheradministrator, einen Serveradministrator (weiter unterteilt in Windows, Linux, * nix, Mainframe), Desktop-Administratoren / Support, einen Service Desk oder sogar bestimmte Anwendungsadministratoren (Exchange, Lotus, SAP) einstellen , etc).

Sicher, ein Bereich, den Sie ansprechen könnten, sind TCP / IP und CIDR, da die Netzwerkkommunikation eine fundamentale Fähigkeit der meisten Positionen ist, aber selbst dies ist möglicherweise nicht notwendig für Einsteigertränke (im Gegensatz zu FizzBuzz für Entwickler).

Persönlich bevorzuge ich es, offene Szenarien zu verwenden, um den Fehlerbehebungsprozess eines Bewerbers zu sehen und um festzustellen, wie gut er eine neue Situation analysieren kann. Eine noch bessere Erweiterung besteht darin, dass der Bewerber direkt mit einem internen Kunden an einem echten Problem arbeitet. Sie können nicht nur das Obige in Aktion sehen, sondern auch die Einstellung zum Kundenservice.


+1 Gute Punkte. Das Interview und die Methodik müssen im Kontext der beantragten Position erfolgen.
John Gardeniers

2
+1 Von mir auch. Sysadmin ist eine außerordentlich breite Stellenbeschreibung. Wenn Sie einen Unix-Administrator benötigen, erstellen Sie ein Paket oder installieren Sie einige Patches. Wenn Sie einen Windows-Administrator benötigen, fügen Sie der Domäne einen Computer hinzu, oder richten Sie DNS oder DHCP ein. Wenn Sie nach einem Desktop-Typ suchen, stellen Sie ihm dumme Fragen, bis ein normaler Mensch schnappt.
Satanicpuppy

Nach der Beschreibung wäre der Fizzbuzz für Administratoren ein Test für den Fehlerbehebungsprozess, oder? Das ist etwas, was all diese Unterkategorien gemeinsam haben, denke ich.
Bart Silverstrim

@Satanicpuppy ... die Frage ist, bewerben sich normale Leute für einen Desktop-Support-Job?
Bart Silverstrim

1
@Bart Silverstrim Alle Dinge sind für das Beste in dieser besten aller möglichen Welten.
Satanicpuppy

7

Ich denke, Sie werden feststellen, dass FizzBuzz nur sehr selten und nur von sehr armen Interviewern mit minimalen Kenntnissen der Programmierprinzipien verwendet wird. Jegliche gängige Testmethode ist völlig gescheitert, da die Lösungen von allen, die sich für ein Interview qualifiziert fühlen, weithin bekannt gemacht und auswendig gelernt werden. Ein solcher Test für einen Sysadmin wäre ebenso nutzlos.

Standardisierte Testfragen waren und sind wertlos. Nicht weniger in einem Vorstellungsgespräch, als jedes Jahr die gleichen Fragen bei einer Schulprüfung zu haben. Sie arbeiten nur einmal.

Was Sie brauchen, ist der Interviewer, um kompetent zu sein und Menschen "lesen" zu können. Es gibt mehr darüber zu lernen, wie ein Kandidat Fragen beantwortet, als über die Antworten selbst. Es gibt keine Abkürzungen. Zumindest nichts Wertvolles.


3
FizzBuzz wird offensichtlich nicht jede Person ausmerzen, die nicht programmieren kann. Das soll es nicht. Es soll diejenigen ausmerzen, die denken, das Programmieren klingt nach einem lustigen Job, aber noch nie eine Codezeile geschrieben haben. Es wird ziemlich offensichtlich sein, wenn jemand etwas, das er online ohne Verständnis liest, nur wieder auffliegen lässt. Ich habe hauptsächlich FizzBuzz als Beispiel verwendet und nicht vorgeschlagen, dass jeder, der es besteht, programmieren kann.
Baudtack

2
Ich kann nicht genug sagen, wie richtig diese Antwort ist.
Jim B

2
Ich muss nicht zustimmen. Ich habe FizzBuzz als Frage zur Interviewprogrammierung an viele Kandidaten weitergegeben und bin häufig schockiert darüber, wie viele Kandidaten sich durchsetzen oder scheitern. Wer FizzBuzz nicht besteht, wird schnell abgelehnt. Diejenigen, die FizzBuzz bestehen, werden einer strengeren Bewertung unterzogen. FizzBuzz ist ein hervorragendes Tool, um einige inkompetente Programmierer auszumerzen.
abelenky

2
In FizzBuzz geht es nicht um Programmierung. Es geht nicht darum, ein kompetenter Programmierer zu sein. Es geht um Denkprozesse. Auch Sysadmins benötigen diese Qualität, um herauszufinden, wie sie ein Problem lösen können. Bei Fizzbuzz geht es im Grunde darum, einen Algorithmus / eine Lösung für eine relativ einfache Mathematik zu finden und diese in ein gewünschtes Format zu übersetzen (da in den Blogs, die ich darüber gelesen habe, festgestellt wurde, dass es für viele Kandidaten zu schwierig war, sie sogar in den Pseudocode zu übertragen). Es könnte argumentiert werden, dass FizzBuzz für alle Aufgaben geeignet ist, die methodisches, logisches Denken erfordern. Nur nicht das einzige Qualifikationsspiel, das es sowieso nicht war :-)
Bart Silverstrim

1
@ John Gardeniers: Ich stimme zu. Ich bin enttäuscht, dass diese Kandidaten es in die Interviewphase schaffen. Tatsache ist jedoch, dass die Mitarbeiter in Lebensläufen liegen, die Personalvermittler ihre Kandidaten falsch darstellen und HR-Mitarbeiter ohne technische Kenntnisse häufig Interviews durchführen. Es ist Sache von Programmierern wie mir, einen Mindeststandard für Kandidaten und Mitarbeiter einzuhalten.
Abelenky

4

Ich finde immer noch, dass die alte "Wie kann ich eine Datei mit dem Namen 'dash-eff-arr' (-fr) sicher und portabel löschen?" um eine einigermaßen gute Aussage darüber zu treffen, wie gut es jemandem bei fortgeschritteneren Fragen ergeht. Ich empfehle es routinemäßig als Screening-Frage.

Menschen, die mit Vorschlägen zum Globbing, Zitieren und Entkommen herumalbern, sind meiner Meinung nach potenziell gefährlich an einer Wurzelhülle eines Produktionssystems. Diejenigen, die munter vorschlagen, rm -- -frsind nur unwesentlich besser. Diejenigen, die ein echtes Verständnis dafür haben, wie die Shell eine Befehlszeile parst ... über den Unterschied zwischen dem, was die Shell parst, und dem, was ein Befehl (wie z. B. rm) in seinem Argumentvektor erhalten hat, haben normalerweise ein ziemlich gutes Verständnis für anderes Systemverwaltungsmaterial als Gut.

Eine viel interessantere und komplexere Frage:

Given a tape backup, a boot/root or rescue disc of your choice, and
a system with a freshly replace, blank, hard drive ... how would you get
that system back into production?  What other information do you need
before you can proceed?

(Ich werde in der Regel einen bestimmten liefern tarBefehl und ein Datum als das Etikett auf den Fall des Bandes, und ausdrucken mit dem fdisk -lund df -kAusgang, und ich werde sie im Allgemeinen der Änderungen erlauben tarzu einem ähnlichen cpio, afiooder sogar paxBefehl, die Details der Archivierung Nutzen sind nicht der Schwerpunkt meiner Frage).

Diese Frage ist nicht für das Screening geeignet. Der Interviewer muss ein solides Verständnis für die Antwort haben und in der Lage sein, etwa zehn Schritte in diesem Prozess anzukreuzen. Ich verzeiht sehr geringfügiger Sequenz Probleme, vor allem , wenn die Befragten fängt sie --- zum Beispiel erkennen , dass sie er oder sie hätte laufen fdiskvor dieser Reihe mkfsund mountBefehle.

Ich würde sagen, das kommt einem Fizzbuzz-Szenario im Geiste am nächsten.

Ein weiterer Favorit:

You have just been given responsibility for a departmental server running Linux.
The former admin has been "hit by a bus" and no one knows the root password for
this system.  How do you proceed?

Dieser soll ein Dialog sein. Im Kern möchte ich, dass sie verstehen, wie man ein System im Einzelbenutzermodus bootet und eine Kennwortänderung erzwingt und wie man von einer Rettungs-CD bootet und dieselbe Aufgabe ausführt. (Ich zeige also abwechselnd, dass das System mit konfiguriert ist suloginund dass es ein Bootloader-Passwort (GRUB oder LILO) gibt, um ein einfaches zu verhindern init=/bin/sh). Das ist der rein technische Teil der gewünschten Antwort.

In der Regel interessieren mich jedoch auch die allgemeinen Überlegungen, die sie anbringen sollten. Fragen sie, ob jemand sudoausreichend Zugang zu der Aufgabe hat? Wie rechnen sie damit, die Betriebsstörung zu veranlassen? Fragen sie nach der Möglichkeit, dass der frühere Administrator feindselig war oder dass das System kompromittiert wurde? Geben sie freiwillig Stellungnahmen ab oder machen sie Vorschläge, wie Passwörter vom Management hinterlegt werden sollten?


3
Die Passwortwiederherstellung ist als Admin-Test wertlos. Sie müssen wirklich ein Problem aufwerfen, das von keinem Schulkind mit Internetzugang einfach gelöst werden kann. Abgesehen davon zeigt eine Demonstration der Hacking-Techniken in keiner Weise, dass der Kandidat über angemessene Admin-Kenntnisse verfügt.
John Gardeniers

@ John Gardeniers: Passwortwiederherstellung ist nicht wirklich eine "Demonstration des Hackens". Aber wenden wir uns dieser Kritik zu und fragen: Würden Sie jemanden, der NICHT wusste, wie man eine Systemkennwortänderung erzwingt, als einen wirklich qualifizierten UNIX / Linux-Systemadministrator betrachten? Beachten Sie, dass der Vorgang zum Erzwingen einer Root-Kennwortänderung fast identisch mit dem Vorgang ist, der zur Behebung verschiedener Probleme bei der Startkonfiguration verwendet wird (insbesondere bei Verwendung einer Rettungsdisk oder eines Netzwerkstarts).
Jim Dennis

3
Ich bin wirklich ein Windows-Administrator, kann also nicht allzu viel über die Prinzipien sagen, auf die Sie sich beziehen, da ich immer nur Passwörter unter Windows und einem Mac wiederherstellen musste, aber ich würde definitiv jemanden einstellen, der nicht weiß, wie man Passwörter wiederherstellt - vorausgesetzt, ich bin zufrieden, sie wissen, wie man dies lernt, wenn / wenn es erforderlich ist. DAS ist die einzige Fähigkeit, die ich mehr als alles andere will, die Fähigkeit, die Antworten zu finden.
John Gardeniers

1
In Anbetracht dessen, wie viel Sysadmin-Arbeit ich habe, weil ich online recherchieren und mich mit anderen Admins "vernetzen" muss ... Ich stelle alles in Frage, was potenzielle Admins mit Trivia vor Ort beurteilt, zumal sich die Techniken im Laufe der Zeit ändern (fsck a Laufwerk mit einem "Touch" eines bestimmten Dateinamens beim Booten funktioniert für Ubuntu ... aber für alle Linux-Systeme? Wie wäre es, einfach von einer CD zu booten und es dort zu überprüfen? Oder Unterschiede im Umgang mit dem Mounten von Dateisystemen in verschiedenen Linux-Versionen? Eine riesige Menge von Fehlerbehebung besteht darin, Antworten zu finden, anstatt sie zu kennen.)
Bart Silverstrim

@John und Bart: Die Grundprinzipien für die "Rettung" eines Linux-Systems waren in seiner Geschichte konsistent. Einige Details haben sich aus guten Gründen geändert. Viele von ihnen gelten auch für andere Formen von UNIX (auf sehr alten Systemen haben Sie eine "Mini-Root" -Umgebung von der Systeminstallation oder dem IPL-Band geladen; ähnlich wie heute bei der Ausführung von einer RAM-Festplatte). Wenn ich mich für eine Einstiegs- oder Praktikumsstelle bewerben würde, würde ich gerne einen Laptop / Browser zur Verfügung stellen und ihn oder sie bitten, die Antworten genau dort nachzuschlagen. (Normalerweise werde ich nur gebeten, technische Interviews für sehr hochrangige Kandidaten zu geben.)
Jim Dennis

3

Ich kann mir nichts Formelles vorstellen, aber hier sind ein paar allgemeine Tipps.

Fragen Sie sie nach Backups. Wenn sie nichts im Sinne von "Der Zweck der Sicherung ist die Wiederherstellung" sagen, möchten Sie sie nicht.

Sie müssen ein Gefühl dafür bekommen, wie sie reagieren, wenn Mr. Sh-t Mr. Fan trifft und sich für eine schöne Beziehung entscheidet. Machen Sie sich während des Interviews eine Notsituation vor und versuchen Sie, zumindest vernünftig damit umzugehen, oder rennen Sie im Kreis herum, als stünden sie in Flammen.

Sie müssen Technologie-Evangelisten ausmerzen. Diese Leute sind nie gut an Bord zu haben, da sie immer ihre Lieblingstechnologie einsetzen wollen, unabhängig davon, ob sie geeignet ist oder nicht. Ein paar Leitfragen sollten dich dahin bringen.

Sie müssen auch die "Elfenbeinturm" -Typen aussortieren. Ein Sysadmin sollte immer bereit sein, die Ärmel hochzukrempeln und sich bei Bedarf die Hände schmutzig zu machen. Diese gefälschte Notsituation könnte hier helfen.


2

Bitten Sie sie zu erklären, was 10.13.216.41/18 bedeutet. Die Antwort muss nicht sein ganz so detailliert wie diese, aber jeder SysAdmin sollte in der Lage sein , Adressen, Netzwerke zu erklären, Masken.


IMO jeder, der einen Computer verwendet, sollte, aber das wird nicht so schnell passieren
PostMan

2
@PostMan: Das Verständnis von CIDR ist für den durchschnittlichen Computerbenutzer so weit überflüssig.
Brent

@PostMan - das heißt, jeder, der in einem Flugzeug fliegt, sollte die Flugsicherungsalgorithmen zur Steuerung von Landungen verstehen. Sysadmins existieren, weil Tools, die von Unwissenden nicht verwendet werden können, schließlich im Papierkorb landen.
Sh-Beta

2

Bitten Sie sie, einen Fehlerbehebungsbaum für SSL zu erstellen. Die meisten neuen IT-Systeme sind heutzutage von Webservern abhängig, und SSL hängt von einer Reihe von Technologien ab. Beginnen Sie mit "Ein Benutzer beklagt sich, dass die Website das Sicherheitszertifikat für ungültig erklärt", und lassen Sie ihn anfangen, Dinge aufzulisten, nach denen er suchen muss.

Was Sie suchen möchten, sind drei Dinge:

  • Informationsbeschaffung, die in der Reproduktion des Problems gipfelt
  • Versuchsdurchführung; ändern eine Sache und nur eine Sache und vergleichen Sie die Ergebnisse
  • Verständnis der SSL-Sicherheitsmechanismen und der zugrunde liegenden Technologien; DNS, Webserverkonfiguration und sogar Browserkonfiguration

Bonuspunkte, wenn Sie tatsächlich eine erste vage Beschreibung des Problems aus Ihrem vorhandenen Issue-Tracker abrufen können. Die Grundursache eines Problems zu finden, kann schwierig sein. wie Torvalds sagt :

Jemand findet das Problem und jemand anderes versteht es. Und ich werde aufzeichnen, zu sagen, dass es die größere Herausforderung ist, es zu finden.


Ich habe die Ablehnung nicht gegeben (ich hasse es, wenn Leute eine Ablehnung haben, aber keinen Grund hinterlassen, damit die Antworten verbessert werden können). Technik geht vor Ort. Der Computer ließ sich nicht einschalten. "Homepage" bedeutete anscheinend Anmeldebildschirm.
Bart Silverstrim

Guter Punkt. Ich werde den letzten Satz ein wenig klarstellen.
Jldugger

1

Nachdem ich in den letzten Jahren ein paar Leute für Rollen bei uns interviewt habe, würde ich sagen, dass ein Tech-Quiz mit einigen MCP-ähnlichen Fragen für eine Papierprüfung ziemlich gut funktioniert. Der Rest (wie Herangehensweise und Problemlösung) wird am besten durch ein Einzelinterview und eine technische Diskussion herausgefunden.

Ich habe ein paar Tests für Leute gemacht, die am Ball erschienen sind und über die richtigen Papiere verfügen, nur damit die Rezeptionistin weiß, dass sie den Test in Tränen aushält! Zertifikate sind zwar ein guter Indikator, aber Sie können ihnen nicht all Ihr Vertrauen schenken.


1

Ein Systemadministrator sollte in der Lage sein, detaillierte schrittweise Anweisungen zum Konfigurieren des Netzwerks auf mindestens einem gängigen Betriebssystem zu geben, und er sollte dazu in der Lage sein, ohne einen Computer zu sehen oder zu berühren.


@Ben, ihnen einen Computer zu geben, besiegt den Punkt des Tests. Ich denke, das Konfigurieren des Netzwerks ist eine sehr grundlegende Fähigkeit, die jeder Systemadministrator eigentlich für den Arbeitsspeicher festlegen sollte.

Im Laufe der Jahre habe ich wahrscheinlich ein Dutzend Anrufe erhalten, bei denen jemand anders einem meiner Laptop-Benutzer geholfen hat, eine statische Adresse oder einen Proxy festzulegen, damit dies in einem fremden Netzwerk funktioniert. Als sie in ein anderes Netzwerk zogen, riefen sie mich an und fragten, was sie tun müssten, um ihren Computer zu reparieren. Diese Anrufe scheinen immer dann zu passieren, wenn ich nicht vor einem Computer stehe und der Anrufer normalerweise über genügend politische Schlagkraft verfügt, um sofort helfen zu können. Ich sage nicht, dass Sie jedes Detail wie den genauen Namen der Menüelemente kennen müssen, aber ich denke, Sie sollten in der Lage sein, jemanden durch die Fehlerbehebung und das Korrigieren der Netzwerkeinstellungen auf Computern zu führen, ohne sich vor diesem Computer zu befinden.


In einem ähnlichen Sinne. Wenn Sie sie bitten, etwas Gemeinsames zu konfigurieren (z. B. das Netzwerk), sollten sie nicht jeden Bildschirm lesen. Die Bildschirme sollten so vertraut sein, dass sie nur wissen, wo sie beim nächsten Überfliegen der Bildschirme anzuklicken sind.
Chris S

2
Ich werde mit diesem nicht einverstanden sein müssen. Meiner Meinung nach ist es einfach grausam, jemanden zu fragen, wie man etwas aus dem Gedächtnis macht. Verdammt noch mal, ich kann mir nicht jeden Aspekt von Windows merken (und es ist noch schlimmer, da Vista / 7 viele wichtige Dinge grundlegend verändert hat), und ich würde auch nicht erwarten, dass Kandidaten dies auswendig wissen. xkcd.com/627 weißt du nicht! Persönlich würde ich ihnen einen Laptop geben und sie bitten, es zu tun und zu versuchen, daran zu messen.
Ben Pilbrow

@ Ben, aktualisiert, um Ihren Punkt zu adressieren. Ich musste meinen Benutzern bei verschiedenen Gelegenheiten diese Hilfe anbieten. Ich glaube, ein Systemadministrator sollte die grundlegende Netzwerkkonfiguration besser kennen als seine Westentasche.
Zoredache

@Zoredache: Es ist meiner Meinung nach nicht ganz so einfach, da es sich manchmal radikal ändert. Sie sollten in der Lage sein, es zu lernen und zu navigieren, aber gleichzeitig würde es nicht unbedingt auf allen unseren Systemen funktionieren (Beispiel: Das Wireless-Dienstprogramm von Dell stiehlt gerne die Netzwerkverwaltung von Windows auf unseren XP-Notebooks). Eine neue Technologie wäre verloren, wenn sie damit nicht vertraut wäre, aber es macht sie nicht inkompetent. Ich hätte lieber jemanden, der gerne lernt und sich diesen Themen anpasst, anstatt sich die Kugel-Punkte-Person zu merken.
Bart Silverstrim

@ Ben & Bart: Du verpasst den Punkt. Sie müssen nicht 100% genau sein. Aber sie sollten es wissen, als wäre es ihre Aufgabe . Die Fragen sollten auf einer einfachen Aufgabe für diesen bestimmten Job basieren. Wenn Sie Entschuldigungen für die Person vorbringen müssen, bevor Sie sie einstellen, sollten Sie Zeit haben, eine andere Person zu finden.
Chris S

-1

Es ist eine einfache Frage, ob Sie bei Ihren Sysadmin-Aufgaben die Befehlszeile oder die Maus verwenden.

Wenn sie Maus sagten, würde ich ihnen die Tür zeigen.


Beide. Die Maus wird meistens verwendet, um von einem Fenster zum anderen zu wechseln und meinen Browser zu bedienen (obwohl ich mich langsam an Vimperator für Firefox gewöhnt habe). Auf meinem Arbeitssystem habe ich auf 132x52 Terminal.app standardisiert (Mac OS X Laptop ... normalerweise mit Dual-Monitor-Modus im Büro). Normalerweise habe ich 4 oder 5 solcher Zeitfenster ... alle sind auf meinem Desktop gespeichert und teilen sich eine dauerhafte GNU- screenSitzung für mehrere Benutzer , die durchschnittlich 20 Shells in verschiedenen Verbindungen zu anderen Systemen, IRC usw. enthält.
Jim Dennis

6
Ich mag diese Antwort nicht. Es gibt eine Vielzahl von Situationen und Lösungen, die mit der Maus perfekt angesprochen werden können - und viele, die ohne eine solche Situation nicht zu bewältigen sind. Ich mag die CLI auch, aber es muss kein Snob sein.
Quux

Ich denke, das ist ein bisschen zu stumpf und zu eng, aber es ist wahr, dass eine schockierende Anzahl von IT-Fachleuten - sogar Leute in den Dreißigern - eine erklärte Abneigung gegen die Verwendung der Befehlszeile bekennen, was zur Folge hat, dass sie überhaupt nicht in der Lage sind Automatisieren Sie alles ohne eine vorgefertigte Lösung. Diese Leute wirklich tun verdienen die Tür gesetzt werden, es sei denn , sie sind für eine Sackgasse Job angeheuert.
Skyhawk
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.