Was soll ich bei einem MySQL DBA-Interview fragen?

9

Ich bin Softwareentwickler und helfe meinem Team, einen MySQL-DBA einzustellen. Die zentralen Herausforderungen, vor denen wir stehen, sind:

  • Langsamere Abfragen und Leistung aufgrund des Ruhezustands.

  • Datenbankverwaltung (Backups, Tuning, Patches, Sicherheit).

  • Skalierbarkeit durch Zunahme von Daten aus neuen Datenquellen und Anhäufung älterer Daten.

  • Wir planen, in Zukunft mit Data Mining und Data Warehousing zu beginnen. Ich weiß nicht wie, aber das ist die Richtung.

Wir haben normalerweise Programmierfälle, in denen wir Entwickler bitten, etwas für ein Interview zu erstellen, aber es ist ein bisschen schwierig, ein DBA-Interview auf die gleiche Weise zu führen.

Können Sie Vorschläge machen, wie das Interview durchgeführt werden soll?

Geoaxis
quelle
1
Scheint, als wäre dies wahrscheinlich besser für Programmierer.Stackexchange, aber ich bin neu in dieser Community, also nimm mein Wort nicht dafür
DForck42
Jemand, bitte schützen Sie diese Frage. Das sind tolle Antworten !!!
RolandoMySQLDBA
Wow! Sie haben es geschafft, einen MySQL-DBA zu finden? Gut gemacht!
Jonathan
@ RolandoMySQLDBA kennzeichnen es das nächste Mal;)
jcolebrand

Antworten:

11

Keine vollständige Liste, aber eine grobe Liste von Dingen, die ich behandeln möchte. Es hängt auch davon ab, ob sie der erste "echte" DBA oder in einem DBA-Team sind. Ob der DBA auch für die Maschinen verantwortlich ist oder nur die Datenbank darüber hinaus. usw.

  • Welche RAID-Konfiguration sollte verwendet werden?
  • Sicherungsstrategien für Datenbanken.
  • MySQL-spezifische Dinge wie Unterschiede zwischen MyISAM und InnoDB
  • Sicherungsstrategien und Wiederherstellung
  • Lassen Sie sie einige SQL-Abfragen und einige Abfrageoptimierungen durchführen (Verwendung von EXPLAIN usw., auch wenn Sie den Ruhezustand verwenden. Manchmal ist es gut, den Ruhezustand zu umgehen, um die Leistung zu steigern).
  • Habe ich Backup-Strategien erwähnt?
  • Aus Gründen der Skalierbarkeit sollte ein DBA verschiedene Replikationsmodi kennen (RBR, SBR, Replikation im gemischten Modus, Replikationswartung, z. B. Beobachtung der Replikationsverzögerung und Binlog-Wartung).
  • InnoDB-Tuning
  • Welche Art von Dateien werden von der Datenbank geschrieben (z. B. ibdata- und Protokolldateien) und wie können sie angeordnet werden (z. B. eine ibdata-Datei pro Tabelle, verschieben Sie sie auf verschiedenen Partitionen, InnoDB-Komprimierung)?
  • Besprechen Sie die Überwachungstools. Was verwenden Sie, haben sie Erfahrung mit diesem oder einem ähnlichen Tool?
  • Ich würde auch Systemtools wie iostat / memstat / vmstat / untersuchen, was auch immer Ihr Betriebssystem bietet. Geben Sie ihnen ein System mit etwas Last und lassen Sie sie die Ursache finden
  • Und vielleicht Probleme bei der Sicherung und Wiederherstellung von MySQL diskutieren ;-)

Ich bin sicher, dass andere hier diese Liste erweitern können

johannes
quelle
Hallo Johannes;) Ich mag den Backup / Restore-Fokus - darauf kommt es wirklich an. Ich würde gerne jemanden sehen, der einen MyISAM / InnoDB-Vergleich gibt, dem ich jedoch zustimme.
Morgan Tocker
Gute Antwort auf MySQL- und Nicht-MySQL-Probleme. +1 !!!
RolandoMySQLDBA
Daumen hoch! Sie können dieser Liste etwas zu Backup + Restore-Strategien hinzufügen! ;-)
Marian
6

Ich habe vor einiger Zeit darüber geschrieben , nachdem ich zum Interviewprozess bei Percona beigetragen hatte.

Ich denke, um jemanden zu beurteilen, muss man versuchen, ihn dazu zu bringen, das zu tun, was er in seiner täglichen Aktivität tun würde. Zufällige Fragen wie "Was ist ein serieller Datentyp in MySQL?" oder Geheimdienstfragen wie "Warum sind Mannlöcher rund?" erreichen Sie dies nicht.

Sie möchten auch sicherstellen, dass Sie allen den gleichen Test geben. Wenn Sie nur ein offenes Gespräch führen, fallen die selbstbewussteren und (leicht manipulativen) Personen auf, da sie Ihre Fragen subtil umgehen und in Fragen umwandeln können, die sie gut beantworten können. Sie werden nicht immer merken, wann dies geschieht, aber es enthält oft etwas wie "Als ich als DBA anfing, hatten wir 2 MB RAM und verwendeten Bänder .. bla bla bla": P.

Trotzdem ist hier meine Standardliste mit Fragen:

  • Beschreiben Sie den Prozess, mit dem die MySQL-Replikation funktioniert.
  • Was bedeutet die D-Komponente von ACID in der Praxis?
  • Was ändert sich innodb_flush_method = O_DIRECT? (Seien Sie vorsichtig mit diesem: Das allgemeine Verständnis davon ist oft falsch .)
  • Angenommen, ich schreibe eine Abfrage wie "INSERT INTO my_table (a, b) VALUES (1,2)". Beschreibe mir so detailliert wie möglich, was in MySQL passiert.
Morgan Tocker
quelle
+1 für das bisschen über zufällige Trivia-ähnliche Fragen, die die Fähigkeiten nicht richtig testen.
Derek Downey
3
Wenn Sie sie testen wollen, was sie täglich tun werden, wird es dann "offenes Buch" sein? Ich meine, in meinen Grundschulklassen bestanden einige der Lehrer darauf, dass Sie sich alles merken, während andere realistisch waren - in der realen Welt müssen Sie Referenzhandbücher konsultieren; Der wichtige Teil war zu wissen, wo man die Antwort findet, manchmal sogar mehr als zu denken, dass man die Antwort kennt und falsch zu liegen. (und in einigen Fällen ändern sich die Dinge, so dass es wichtig ist, die Dokumente auf die spezifische Softwareversion zu überprüfen)
Joe
+1 für offenes Buch. Wenn Sie ein geschlossenes Buch erstellen müssen, kann dies darauf hinweisen, dass es sich bei Ihren Fragen um triviale Fragen handelt.
Morgan Tocker
Lesen Sie Ihren Artikel und Ihre Antwort. Whoa !!! Tolle Fragen. Ich würde gerne an der Wand fliegen und beobachten, was passiert, wenn einigen Fragen wie diesen gestellt werden. Ich sollte diese Frage verwenden, wenn ich Kandidaten selbst interviewe. Vielen Dank !!! +1 !!!
RolandoMySQLDBA
6

Ich würde vorschlagen, auch einige bereits etablierte Listen zu DBA-Interviews zu lesen:

  • Die 10 wichtigsten Fragen zum SQL Server DBA-Interview - von unserem eigenen Brent Ozar

    • Lieblingsfragen:
    • "Können Sie mir Referenzen von anderen Datenbankadministratoren und Entwicklern geben, die nicht in Ihrem Unternehmen sind?"
    • "Ein Projektmanager benötigt einen neuen SQL Server. Was fragen Sie sie?"
  • Junior DBA Interview Fragen - von unserem eigenen Thomas LaRock

    • Lieblingsfrage: "Wenn ich Sie bitten würde, zu lernen, wie man eine Abfrage schneller macht, wohin würden Sie gehen?"
  • Fragen zum Datenbank-Screening - von Grant Fritchey

    • Lieblingsfrage: "Sie sind der DBA. Das Telefon klingelt. Einer der Benutzer ist in der Leitung. Sie sagen:" Die Datenbank ist langsam. " Dann legen sie auf. Was machst du? "

Sie sind alle großartige SQL Server-Autoren. Ich weiß, dass einige der Fragen möglicherweise SQL Server-orientiert sind, die meisten jedoch nicht und in einem allgemeinen DBA-Interview verwendet werden können.

Marian
quelle
1
Könnten Sie vielleicht Ihre Lieblingsfrage aus jeder Liste hier hinzufügen? Das würde dieser Antwort viel mehr Wert geben.
Nick Chammas
Meine Hauptmotivation war auch zu sehen, wie diese Themen getestet werden sollten (dh nach der Replikation fragen oder ein Testsystem für die Einrichtung übergeben). Ich gehe die Listen durch und ich denke, allgemeine Fragen auf DBA-Ebene würden mich nicht zu einer guten MySQL-spezifischen Kandidatin machen.
Geoaxis
1
@ Nick: Danke für den Hinweis, aktualisierte die Antwort. Geoaxis - ein guter DBA jeglichen Geschmacks kann die Feinheiten von MySQL erfassen. Beispiel: Wenn Sie einen Java-Entwickler einstellen, stellen Sie nur strenge Fragen zur technischen Java-Bibliothek oder auch allgemeine Programmierfragen?
Marian
5

Obwohl ich damit einverstanden bin, dass die vielen scheinbar zufälligen Interviewfragen (z. B. die Schachtabdeckung) nicht wirklich nützlich sind ... (außer vielleicht für einen Industriedesigner und nur für diesen einen Fall).

Sobald Sie den Trivia-Aspekt vieler von ihnen überwunden haben, sollen sie Dinge sein, auf die Sie die Antwort nicht kennen. Daher müssen Sie beschreiben, wie Sie die Antwort finden würden. Oder nicht. Z.B:

  • etwas Plausibles erfinden und / oder versuchen, sich durchzuschlagen. (Könnte für Vertrieb und Marketing nützlich sein? In jedem anderen Bereich nicht einstellen.)
  • Schätzen Sie es basierend auf anderen Informationen
  • Erklären Sie, wie Sie die erforderlichen Informationen erhalten, um das Problem zu lösen

...usw.

Wenn ich in der Vergangenheit für den Einstellungsprozess verantwortlich war, versuche ich, ein völlig außerplanmäßiges 5 bis 15-minütiges Telefoninterview zu führen (rufen Sie sie einfach an, als könnten sie Ihnen ein paar Minuten Zeit geben ... Nicht alle konnten es, da einige bei der Arbeit waren, die sie verlassen wollten) ... nur um zu beurteilen, wie sehr ich denke, dass sie in ihrem Lebenslauf Bullshitting sind.

Wenn wir beispielsweise einen erfahrenen PL / SQL-Programmierer einstellen, würde ich ihn fragen, was die Teile eines PL / SQL-Blocks sind. Heutzutage taucht es bei Google als erstes auf ... das war 2003 nicht der Fall. Die meisten der von uns befragten Personen haben möglicherweise schon einmal Oracle verwendet, sie haben möglicherweise SQL für Oracle geschrieben ... aber wenn Sie Ich kann mir keinen Hinweis geben, dass Sie wissen, wie ein PL / SQL-Block aussieht. Sie sind nicht bereit für einen leitenden PL / SQL-Programmiererjob.

...

Abgesehen davon lautet meine Frage für jedes persönliche Interview:

Star Wars oder Star Trek?

Zum Teil können Sie sehen, wie sie mit einer Situation umgehen, in der es keine beste Antwort gibt, ob sie diplomatisch in ihrer Antwort sind oder ob sie über den Tellerrand hinaus denken (z. B. Dr. Who oder Firefly sind gültige Antworten). Wo ich zurzeit arbeite (ein Weltraumphysiklabor), könnte es ein Fehlschlag sein, wenn ich sage, dass Sie noch nie etwas gesehen haben, es sei denn, Sie sind Ausländer. Zu sagen, dass Sie es auch nicht mögen, und zu erklären, warum dies aus gutem Grund ein Pass wäre. Es könnte immer noch ein Fehlschlag sein, sich über eine der beiden zu informieren (da niemand mit dieser Person arbeiten möchte ).

Joe
quelle
Es ist wichtig, die persönlichen Fragen von der Wand zu haben, um zu sehen, ob sie gut zum Team passen. +1
Derek Downey
@DTest: Aber Sie müssen vorsichtig mit persönlichen Fragen sein ... Es gibt viele Klassen von Fragen, die Sie nicht stellen dürfen, zumindest nicht in den USA: eeoc.gov/facts/qanda.html
Joe