Frage zum Softwareentwickler-Interview - Fair oder unfair [geschlossen]


10

Ich habe gerade ein Telefoninterview mit einem Unternehmen für eine Stelle als Diplom-Softwareentwickler geführt und mir wurden die folgenden Fragen gestellt. Ich sollte hinzufügen, dass das betreffende Unternehmen kein Datenbankanbieter ist.

  1. Wie funktioniert ein Abfrageoptimierer?

  2. Wenn eine Datenbank eine schlechte Leistung erbringt, wie würden Sie die Leistungsprotokolle verwenden, um das Problem herauszufinden?

Ich habe in einem ersten Telefoninterview gefragt, ob sie allen möglichen Softwareentwicklern (Absolventen oder erfahrenen) solche Fragen stellen. Sie antworteten, dass sie gerne das Wissen ihrer Kandidaten über die Datenbankentwicklung testen würden.

Ich möchte an das Unternehmen schreiben, um zu sagen, dass diese Fragen bei einem Softwareentwickler-Interview nicht zumutbar sind, und um zu verlangen, dass mein Interview erneut durchgeführt wird.

Ich möchte die Angemessenheit der folgenden Annahmen überprüfen

a) Diese Fragen können nicht als Fragen zur Datenbankentwicklung eingestuft werden.
b) Ich denke, die Fragen sind für ein DBA-Interview angemessen, aber für ein Softwareentwickler-Interview (erfahren oder nicht) völlig unvernünftig.
c) Die erste Frage ist nur für einen Datenbankanbieter relevant.
d) Die zweite Frage ist nicht fair, da Softwareentwickler sich normalerweise nicht mit Datenbankleistungsprotokollen befassen, da dies die Aufgabe des DBA ist.

Vielleicht sind einige von Ihnen so freundlich, meine Annahmen zu kommentieren oder andere Vorschläge zu machen, bevor ich an das Unternehmen schreibe.


23
Ich würde lieber einen Entwickler einstellen, der diese Fragen fair beantworten kann, als einen, der dies nicht kann. Aber ich werde mich nicht nur danach entscheiden .
Dr. Belisarius

14
Wir hatten einen Befragten, der einmal so unzufrieden mit seinem Interview war, dass er uns eine Stunde Beratungszeit in Rechnung stellte. Wir hatten ihn bereits weitergegeben, aber wir sind froh, dass er unsere Entscheidung bestätigt hat. :-)

18
aus Kandidatenliste löschen, wobei Benutzername = "Benutzer607018";
Martin York

44
@ user607018 Ich denke, eines Ihrer Probleme hier ist Ihre Annahme, dass ein Vorstellungsgespräch "fair" sein sollte, wie ein Test in der Schule. Das ist nicht richtig; Ein Vorstellungsgespräch ist nur eine Überprüfung, ob sie Sie einstellen möchten. Wenn sie in der Anzeige die Datenbankoptimierung / -leistung überhaupt nicht erwähnt haben, ist das eine andere Geschichte. Sie haben Zeit damit verschwendet, sich für einen Job zu bewerben, den Sie nicht erledigen können, aber ansonsten kommt Fairness überhaupt nicht zum Tragen . Es ist ein weit verbreitetes Missverständnis, wenn man von der künstlichen Welt der Schule in die reale Welt übergeht, um Dinge tatsächlich zu erledigen.
MGOwen

16
Wenn Sie jemals SQL-Abfragen schreiben müssen , müssen Sie die Antworten auf diese Fragen kennen. Andernfalls werden Sie beschissene Abfragen schreiben, und jemand anderes muss sie nach Ihnen bereinigen. Fragen sind also fair und gerechtfertigt.
SK-Logik

Antworten:


86

Wenn ich ein Interviewer wäre (was ich manchmal bin) und einen Brief von einem Kandidaten erhalten hätte, der sich darüber beschwert, dass die Fragen unfair sind und sie eine Überarbeitung wünschen, würde ich meinen Glückssternen danken, dass wir dieser Kugel ausgewichen sind und die Bewerbung sofort verschoben haben der Stapel "ablehnen". Wenn Sie so handeln, zeigen Sie nur, dass Sie ein Beschwerdeführer sind und nicht die Einstellung haben, nach der man suchen kann.

ein. Die Fragen zum Thema Datenbankentwicklung waren vernünftig.
b. falsch. Alles, was mit Softwareentwicklung zu tun hat, ist ein faires Spiel. Denken Sie daran, dass eine falsche Antwort Sie nicht automatisch für die Position (oder andere Positionen im Unternehmen) disqualifiziert. Es kann nur hilfreich sein, Sie als jemanden zu klassifizieren, der für einen datenbankorientierten Job nicht am besten geeignet ist.
c. falsch.
d. falsch. Erstens gibt es möglicherweise keinen dedizierten DBA. Zweitens muss sich ein Softwareentwickler einer Vielzahl von Problemen bewusst sein, die sich auf die Leistung (und Genauigkeit) auswirken können, und zumindest über ein umfassendes Verständnis der Datenbankverwaltung verfügen.

Nehmen Sie dies als eine Lektion, dass es Dinge gibt, die Sie noch nicht wissen. Jetzt wissen Sie, was Sie für das nächste Mal lernen müssen.


31
+1 für "Jetzt wissen Sie, was Sie lernen müssen." Das LETZTE, was ein Arbeitgeber möchte, ist ein Mitarbeiter, dessen Rede "Nicht mein Job" perfektioniert ist.
Dave

7
+1 - würde +100 positiv bewerten, wenn ich nur ... viel zu viele "Entwickler" wissen heutzutage, wie man Datenbanken benutzt und wie sie funktionieren - und sie benutzen sie die ganze Zeit ...
marc_s

+1 Sie sollten während eines Interviews ALLES erwarten. Es ist ihr Spiel, ihr Interview und ihre Firma

Ich würde mehr Gegenstimmen geben, wenn ich könnte, du hast gesagt, was ich nur taktvoller sagen wollte. Ich werde auch darauf hinweisen, dass Fragen, von denen Sie möglicherweise nicht erwarten, dass sie die Antwort kennen, manchmal gestellt werden, um zu sehen, wie Sie unter Druck antworten. Aber ich fand an diesen Fragen überhaupt nichts Seltsames, wenn die Datenbankentwicklung ein wesentlicher Teil des Jobs ist.
HLGEM

5
Zusätzlich würde ich sagen: "Wie funktioniert ein Abfrageoptimierer?" bedeutet nicht unbedingt, dass Sie einen Abfrageoptimierer von Grund auf neu erstellen können. Dies kann bedeuten, dass sie überprüfen möchten, wann der Optimierer ausgeführt wird, wenn gespeicherte Prozesse, Ad-hoc-SQL-Abfragen usw. verarbeitet werden. Dies ist absolut relevantes Wissen für einen Entwickler, der Code schreibt, der auf eine Datenbank trifft.
Carson63000

17

Ich denke, es ist eine faire Frage (und es klingt wie eine, die Google wahrscheinlich stellt). :) Der Punkt der Frage scheint NICHT darin zu bestehen, Ihr detailliertes Wissen über Datenbankabfragen und dergleichen wirklich zu testen, sondern vielmehr zu beobachten, wie Sie sich einem Problem nähern und es lösen würden. Die Fähigkeit, eine Aufgabe zu erledigen, die Sie bereits zuvor erledigt haben, ist notwendig, aber die Fähigkeit, auf den Beinen zu denken und sich einem neuen Problem zu nähern, ist eine wichtige Fähigkeit.

Wenn mir eine solche Frage gestellt wird und ich nicht über die spezifischen Kenntnisse der jeweiligen Datenbank verfüge, würde eine faire Antwort beginnen: "Nun, ich habe nicht viel Erfahrung mit dieser Technologie im Einzelnen, aber in Im Allgemeinen würde ich in den Leistungsprotokollen nach Vorgängen suchen, die am häufigsten ausgeführt werden, und versuchen, sie nach Verarbeitungszeit zu ordnen. Auf diese Weise könnte ich beurteilen, welche Vorgänge am teuersten sind und möglicherweise gute Kandidaten für eine Optimierung sind. "

Sie benötigen keine spezifischen technischen Kenntnisse für die obige Antwort, aber es zeigt Ihrem Interviewer, dass Sie bereit sind, ein neues Problem zu lösen.


4
Alternativ kann es sein, dass das Unternehmen Entwickler mit Kenntnissen in der Abfrageoptimierung bevorzugt. Meine Frau ist keine DBA, aber sie hat viel gute Arbeit geleistet, um Abfragen zu optimieren. Die Datenbankadministratoren sind zu beschäftigt, um alle Abfragen zu optimieren, die sie verwenden könnten.
David Thornley

16

Wenn fair oder nicht fair nicht die Frage ist, stellen sie ein, damit sie die Regeln festlegen und fragen dürfen, was sie wollen (ok, nicht alles, aber fast alles;))

Und wenn Sie den Job immer noch wollen, werden Sie sich wohl keinen Gefallen tun, wenn Sie sie schreiben.


Technisch gesehen können sie dich alles fragen , es liegt an dir zu antworten oder nicht (und wenn sie dich etwas völlig Dummes fragen, willst du diesen Job sowieso nicht).
o0 '.

16

Eine sehr verbreitete Strategie bei Vorstellungsgesprächen besteht darin, eine Frage zu stellen, die über das Niveau der Position hinausgeht, für die ein Vorstellungsgespräch geführt wird, und zu sehen, wie sich ein Kandidat durchwühlt. Mit den gestellten Fragen könnte man vernünftigerweise erwarten, dass Sie Folgendes beantworten:

Nun, meine Kenntnisse über Datenbanken sind rudimentär, aber ich denke, es geht ungefähr so ​​...

Oder auch:

Es tut mir leid, dass dies weit außerhalb meines Fachwissens liegt. Ich muss die Details der Leistungsprotokolle mit einem DBA überprüfen

Im Allgemeinen würde ich von Einsteigern erwarten, dass sie zumindest ein grundlegendes Verständnis für die Funktionsweise von Datenbanken haben und auch die Einstellung "Ich weiß nicht, aber ich werde versuchen zu lernen" haben.

Wenn Sie einen ehrlichen Versuch unternommen hätten und sie das Telefonat sofort beendet hätten, hätten Sie echten Grund, sich schwer getan zu fühlen, aber ich würde sagen, Sie sollten lernen, selbstbewusst zu wirken, während Sie zugeben, dass Sie nichts wissen.


12

Ich kenne Interviewer, die ein Interview nicht für vollständig halten, es sei denn, sie finden einige semi-relavante technische Fragen, die der Kandidat nicht beantworten kann. Das Ziel ist zu sehen, wie der Kandidat mit dieser Art von Frage umgeht.

Zugeben, dass sie es nicht wissen? Gut. Spin / BS für eine Antwort erfinden? Die Tür.


9

IMO-, Softwareentwickler- und DBA-Rollen sind in vielen Unternehmen nicht gut kategorisiert. Im Allgemeinen müssen Sie mindestens einige Teile von Datenbanken kennen, wenn Sie ein Softwareentwickler sind. Fragen erscheinen mir also fair, vorausgesetzt, sie werden nicht frischer gestellt.


8

Ich finde das fair. Ich arbeite nicht bei einem Datenbankanbieter, aber es ist SEHR wichtig zu wissen, wie man Abfragepläne (und in geringerem Maße Leistungsprotokolle) liest. Es ist auch gut zu wissen, wie das Abfrageoptimierungsprogramm funktioniert.

Als Antwort auf Ihre Kugeln:

a) Huh? Sicher, sie hängen mit der Datenbankentwicklung zusammen. Wenn Sie Code schreiben und Ihr Programm Daten abfragen muss, ist dies relevant.

b) Nicht wirklich. Ein DBA sollte die Antworten besser kennen, aber ein guter Entwickler sollte auch eine Antwort kennen. Ich würde keine so detaillierte Antwort erwarten wie von einem DBA, aber ich würde etwas erwarten. Und wenn ein Entwickler es nicht weiß, könnte ich als Antwort "Ich würde den DBA bitten, mich zu unterrichten" akzeptieren, wenn der Entwickler noch relativ neu in der Datenbankarbeit war.

c) Nein, ist es nicht. Dies ist für alle relevant, die sich Sorgen über die Leistung ihrer Datenbankabfragen machen. Wenn Sie sich nicht darum kümmern, wie schnell Ihre Abfragen ausgeführt werden, können Sie dies ignorieren. Ihre Kunden, die auf ihren Websites zunehmend schlechtere Leistungen erbringen, sind möglicherweise anderer Meinung.

d) Vielleicht. Nicht alle Entwickler sehen die Leistungsprotokolle, aber wenn es ein Problem gibt, können Sie erwarten, dass ein DBA Ihnen die relevanten Teile per E-Mail sendet und das Problem erklärt, wenn Sie nicht wissen, wie Sie es interpretieren sollen. Zumindest sollte ein Entwickler in der Lage sein, einen Abfrageplan zu betrachten und die grundlegenden Probleme zu erkennen (vollständiger Tabellenscan => schlecht, schneller Indexscan => gut).

Da Sie gerade die Schule verlassen haben und dieses Thema in Ihren Klassen möglicherweise nicht behandelt haben, könnten Sie mit den Worten antworten: "Ich würde mit einem älteren Entwickler oder DBA sprechen und um Unterstützung bitten, um dies zu verstehen." Interviewer könnten das akzeptieren, da es zumindest zeigt, dass Sie bereit sind, neue Dinge zu lernen, da Sie noch nicht die Erfahrung hatten, sie herauszufinden. Die andere Möglichkeit besteht darin, sie selbst zu lernen.

Viel Glück beim nächsten Interview!


7

Sie haben das Recht zu fragen, was sie wollen. Möglicherweise haben Sie diese Themen nicht in Ihrem Lehrplan behandelt, aber das bedeutet nicht, dass andere Befragte nicht oder nicht genug Interesse an dem Thema haben, um über den Lehrplan hinauszugehen. Sie suchen das Beste. Ich hoffe, Sie haben zumindest versucht, die Fragen zu beantworten, und sind nicht alle defensiv geworden. Wenn ich sie wäre und einen weinerlichen Brief von Ihnen bekommen würde, wären Sie auf der schwarzen Liste.


2
Oder nur weil es nicht in der Schule behandelt wurde, heißt das nicht, dass das Unternehmen diese Fähigkeiten nicht benötigt!
Großmeister

3
Und wenn der Kandidat irgendwie eine zweite Chance bekommen würde, wäre es ein großer Fehlschlag, dieselbe Frage (oder sogar etwas vage Ähnliches) zu erwarten. Eine Sache, die ich tue, um das Teilen von Fragen zu verhindern (besonders bevorzugt von Personalvermittlern), ist, die "seltsame" Frage ganz erheblich zu variieren. Erwarten Sie beim nächsten Mal etwas über die Telefonintegration oder das Scannen von Barcodes.

7

Softwareentwicklung ist ein multidisziplinärer Beruf. Ich glaube nicht, dass Sie Meilen sammeln werden, wenn Sie nach einer Überarbeitung Ihres Interviews fragen. "Vernünftig" ist in diesem Zusammenhang, ob ein bestimmtes Unternehmen Sie nur aufgrund Ihrer mangelnden DBA-Kenntnisse von der Prüfung ausschließen würde . Die Frage zu stellen ist völlig vernünftig.

Je weiter Sie in Ihrer Karriere vorankommen, desto mehr müssen Sie wissen. Wenn Sie sich fragen, warum sich ein Softwareentwickler für die Abfrageoptimierung interessieren sollte, ziehen Sie das Anwendungsdesign in Betracht. Neue Projekte beinhalten häufig Datenmodellierungsdiskussionen. Dies führt zu Normalisierungsdiskussionen, die zu Datenbankentwurfsarbeiten führen. Gute Gestaltungsprinzipien fließen in die Umsetzung ein. Schlechte / ineffektive Entwürfe auf architektonischer Ebene haben Konsequenzen, deren Behebung oft teuer ist.


5

Das Konzept "fair" spielt hier keine Rolle. Dies ist ein Vorstellungsgespräch.

Sie können Sie nicht aufgrund Ihrer Hautfarbe, Religion, ethnischen Zugehörigkeit oder einiger anderer solcher Dinge ablehnen. Aber sie können dich aus jedem anderen Grund ablehnen , so dumm wie die Farbe der Schuhe, die du zum Interview getragen hast. Und vielleicht kennen Sie nie den wahren Grund.

Es ist wichtig, beim Interview belastbar zu sein. Ich verstehe die Neigung zur Überanalyse und habe es oft genug selbst gemacht. Aber das Beste, was Sie tun können, ist zu akzeptieren, dass das Leben nicht fair ist, und genügend Interviews in der Pipeline zu halten, damit Sie nicht alle Ihre Hoffnungen auf eines von ihnen setzen müssen.


5

Wie andere gesagt haben, sind die Fragen völlig gültig. Es wäre jedoch seltsam, wenn der Interviewer aufgrund dieser Fragen entscheiden würde, ob er Sie vollständig einstellen soll . Vielleicht wollten sie Ihnen die Gründe für ein Thema anhören, mit dem Sie möglicherweise nicht vertraut sind, und das ist eine gültige Interviewtechnik.

Wenn ich einstellen würde, würde ich Sie nicht ausschließen, wenn Sie sagen "Es tut mir leid, ich weiß nicht so viel über Abfrageoptimierer, aber ich kann lernen". Ich würde Sie jedoch ausschließen, wenn Sie anfangen würden, über die Fragen zu jammern.


5

Alter, lassen Sie mich gleich sagen: Als Softwareentwickler führt kein Weg an Datenbanken vorbei. Jedes einzelne Projekt, an dem ich bisher beteiligt war, nahm mindestens die Hälfte der Entwicklungszeit in Anspruch. Das DB-Design ist ein wesentlicher Bestandteil der Softwareentwicklung. Je mehr Sie wissen, desto besser können Sie das Problem lösen. Lassen Sie sich auch nicht von der Art der Fragen und dem Kontext zu sehr verwirren. Meistens wollen Arbeitgeber nur sehen, ob Sie in der Lage sind, auf den Beinen zu denken, um das vorliegende Problem zu lösen, oder ob Sie das Vertrauen haben, zumindest etwas Vernünftiges zu sagen. Als Absolvent erkennen sie, dass sie tatsächlich Zeit damit verbringen müssen, Ihnen all diese Dinge beizubringen, aber sie möchten wissen, ob Sie die Zeit und Mühe wert sind. Bleib scharf und bescheiden!


Ich bin Entwickler und habe seit Jahren keine Datenbank mehr berührt. Einige von uns machen keine CRUD-Webapps. Das heißt, für viele (vielleicht sogar die meisten) Rollen hat Ihr Argument.
Kristof Provost

5

Ich möchte an das Unternehmen schreiben, um zu sagen, dass diese Fragen bei einem Softwareentwickler-Interview nicht zumutbar sind, und um zu verlangen, dass mein Interview erneut durchgeführt wird.

Was in aller Welt wird Ihrer Meinung nach passieren, wenn Sie diesen Brief senden? Stellen Sie sich vor, dass sie sagen werden: "Hmm, dieser Kandidat hat Recht. Wir sollten ihn zurückhaben und ihm einfachere Fragen stellen." Ich garantiere Ihnen, dass sie nicht werden. In der Tat werden sie den Brief weitergeben und lachen.

Überwinde dein Anspruchsgefühl. Du gehst in die reale Welt aus.

Wie finden Sie, dass die Fragen zu Datenbanken unfair sind? Sie denken, dass Programmierer keine Datenbanken kennen müssen, aber diese Firma tut es anscheinend. Deshalb stellen sie die Fragen! Interviewer stellen nicht nur zum Teufel Fragen. Sie stellen die Fragen, um herauszufinden, ob Sie die Dinge wissen, die sie brauchen. Wenn Sie nicht wissen, was sie brauchen, sind Sie nicht die richtige Person für den Job.

Wenn Sie nichts über Datenbanken erfahren möchten, ist das in Ordnung, aber jammern Sie nicht, wenn ein Unternehmen Sie nicht einstellen möchte. Ihnen ist kein Job geschuldet.


1
Ich würde eine Million Mal upvoten, wenn ich könnte
HLGEM

4

Wie sind diese nicht fairen Fragen? Entwickler arbeiten mit Datenbanken. Denken Sie nicht, dass sie zumindest mit den Faktoren vertraut sein sollten, die dazu beitragen, Datenbankabfragen effizient und schnell zu gestalten? Nicht jedes Unternehmen verfügt über interne Datenbankadministratoren ... und selbst wenn dies der Fall ist, übernimmt dies nicht die Verantwortung für das Schreiben effektiver Abfragen vom Entwickler.


4

Wenn sie allen Kandidaten die Fragen stellen, sind sie fair und erledigt.

Es spielt keine Rolle, ob Sie der Meinung sind, dass die Fragen für die Position angemessen sind, es ist nur wichtig, ob der potenzielle Arbeitgeber dies für angemessen hält - und wenn er fragt, ist es wahrscheinlich, dass dies der Fall ist (entweder weil sie die erforderlichen Fähigkeiten widerspiegeln oder weil sie sie gefunden haben) dass die Antworten, die sie erhalten, ihnen interessante Dinge über den Befragten erzählen).

Schließlich scheinen Sie einige seltsame Vorstellungen über die Grenzen des Aufgabenbereichs eines Entwicklers zu haben - ich habe noch nie (soweit ich mich in einer 25-jährigen Karriere erinnern kann) mit einem engagierten DBA gearbeitet ...


Sie haben damals große Nicht-IT-Unternehmen vermieden :) Sie müssen auf die DBA-Nazis in diesen achten!
Ozz

@james "Avoided" ist das falsche Wort - aber ja ... Punkt ist jedoch, dass ich die meiste Zeit ein "Entwickler" war und als solcher zumindest einige DBA-Kenntnisse benötigt habe (obwohl ich dies nicht tue) schlagen vor, dass ich ein DBA bin ... aber es ist auch nicht immer notwendig, eine dedizierte Datenbank für bescheidenere Projekte zu haben / zu haben, obwohl das Erkennen der Lücken in den eigenen Fähigkeiten manchmal schmerzhaft sein kann)
Murph

4

Wenn ich mir die Fragen anschaue, denke ich, dass dies mein Unternehmen sein könnte - wir stellen diese Art von Fragen JEDEM Kandidaten im Rahmen eines Telefoninterviews. Immer. Es gibt uns einen Standard, nach dem wir arbeiten können.

Die meisten der obigen Antworten fassen es ziemlich gut zusammen ...

a) Wir wollen Menschen mit breiter Erfahrung, nicht Menschen, die nur ein paar Dinge tun können.

b) Die Fragen helfen uns dabei, Ihr Wissen zu überprüfen. Möglicherweise kennen Sie die Antwort nicht vollständig (oder überhaupt nicht). Die Fragen sind ein Ausgangspunkt, um Ihr Wissen und Ihre Erfahrung zu erweitern.

c) Denken Sie daran, dass das Interview zu unserem UND IHREN Gunsten da ist. Anhand der Art von Fragen sollten Sie sich ein Bild von der Rolle und dem Unternehmen machen können und ob wir zu Ihnen und zu uns passen ...

d) Es ist Aufgabe, wenn Sie das Interview nicht überstehen, dann werden Sie erwachsen, hören Sie auf zu jammern und versuchen Sie es beim nächsten Interview besser.


3

Scheint, als hätten sie keinen DBA, also wollten sie, dass Sie auch diese Rolle übernehmen. Dies ist bei kleinen Unternehmen üblich.


6
Nur weil ein Unternehmen möchte, dass ein Entwickler versteht, wie seine Datenbankskripte optimiert werden, bedeutet dies NICHT, dass er keinen DBA hat. Ich hätte lieber einen Entwickler, der seine eigenen Sachen optimieren kann, anstatt ein SQL-Skript auf den Server zu kotzen und zu hoffen, dass ein DBA dazu kommt. Ein DBA muss sich mehr Sorgen machen, als Ihre Skripte ständig zu reparieren.

1
Nicht jedes Unternehmen beschäftigt DBAs als solche. Betrachten Sie kommerzielle Entwickler, die Software an Kunden verteilen. Die Clients verfügen möglicherweise über Datenbankadministratoren, die Entwickler müssen jedoch die Abfragen, die von ihrer Software verwendet werden, effizient schreiben.
Großmeister

Ich habe für eine kleine Firma gearbeitet (ungefähr zwei Dutzend Leute, als ich dazu kam), die erst viel später echte Datenbankadministratoren bekam. Wenn ich eine Anfrage von einer halben Minute auf eine halbe Stunde hatte, musste ich es selbst herausfinden.
David Thornley

1
In jedem Fall ist es nicht unangemessen, Entwickler zu wollen, die mehr als nur Programmieren können.
Andres F.

3

Ich sehe absolut nichts falsch daran. Warum sollte ein Entwickler, insbesondere wenn er in der Datenbank arbeitet, nicht mit solchen Elementen vertraut sein?

Sollte ein Softwareentwickler nicht über Optimierungssoftware informiert sein oder wissen, wie er auf Anwendungsereignisprotokolle zugreifen kann, um ein Leistungsproblem herauszufinden? Wenn ja, warum nicht dasselbe für jemanden, der Datenbankentwickler ist? Warum können sie nicht ein und dasselbe sein?

Wenn ich jemanden für eine Position in der Softwareentwicklung interviewt habe, an der auch die Datenbankentwicklung beteiligt war, haben Sie verdammt Recht. Ich werde sicherstellen, dass er nicht nur weiß, was er tut, sondern auch die Leistung seines Codes steigern kann oder vorhandener Code als Datenbank kann ein riesiger Flaschenhals sein.

Anstatt eine Einstellung zu entwickeln, wäre eine bessere Vorgehensweise vielleicht gewesen: "Ich kenne die Antwort nicht, aber hier ist, was ich tun würde, um sie zu finden."


3

Wie andere betont haben, ist in einem Interview so ziemlich jede Art von Frage ein faires Spiel, solange sie keinen gesetzlich geschützten Bereich berührt (z. B. Alter, Rasse, Geschlecht usw.) und es nicht ungewöhnlich ist, dass Interviewer werfen Fragen an Sie, nur um zu sehen, wie Sie auf die Frage reagieren und wie Sie versuchen würden, eine Lösung für die Frage zu finden. Da es den Anschein hat, dass Sie ein Absolvent sind, sind sie darüber hinaus etwas eingeschränkt, wenn es darum geht, Sie nach Ihrer Berufserfahrung und den Problemen zu fragen, die Sie in einer Produktionsumgebung gelöst haben. Wenn das Unternehmen viel datenbankorientierte Arbeit leistet, können die gestellten Fragen auch relevant für die Position sein, die Sie interviewen.

In Bezug auf Ihre Annahmen:

a) Diese Fragen können nicht als Fragen zur Datenbankentwicklung eingestuft werden.

Vielleicht, vielleicht nicht. Wenn Sie eine Datenbankentwicklung durchführen, verwenden Sie einen Abfrageoptimierer und planen von Zeit zu Zeit, um sicherzustellen, dass keine offensichtlichen Probleme mit Ihren Abfragen vorliegen. Wenn das Unternehmen Datenbankadministratoren oder Experten hat, die die Abfragen überprüfen können, haben sie möglicherweise nicht die Zeit, sich alles anzusehen, und sie möchten auch nicht jede schlecht codierte Abfrage betrachten. Ebenso ist es nicht ungewöhnlich, dass Entwickler für die Wartung ihrer Entwicklungsumgebung verantwortlich sind, Datenbanken einbeziehen und die DBAs die Produktion übernehmen.

b) Ich denke, die Fragen sind für ein DBA-Interview angemessen, aber für ein Softwareentwickler-Interview (erfahren oder nicht) völlig unvernünftig.

Sie wären wahrscheinlich für ein DBA-Interview geeignet. Unabhängig davon sind sie jedoch auch Themen, mit denen ein Entwickler vertraut sein sollte, wenn er nur in der Lage ist, zu erkennen, wo ein Problem liegen könnte, und einige grundlegende Fehlerbehebungsmaßnahmen selbst durchzuführen. Wie ich bereits erwähnt habe, sollten Unternehmen, die nur über begrenzte Ressourcen verfügen, sicherstellen, dass sie nicht die Zeit der Menschen mit etwas verschwenden, das ein grundlegendes Problem sein könnte.

c) Die erste Frage ist nur für einen Datenbankanbieter relevant.

Spezifische Details können herstellerspezifisch sein, aber die allgemeinen Konzepte können überall angewendet werden. Manchmal reicht es aus, wenn Sie zeigen können, dass Sie die allgemeinen Konzepte verstehen. Wenn Sie nicht an einen einzelnen Entwicklungsstapel (z. B. LAMP ) gebunden sein möchten, müssen Sie in Interviews zeigen können, dass Sie die Kernkonzepte verstehen und problemlos zu verschiedenen Entwicklungsstapeln wechseln können.

d) Die zweite Frage ist nicht fair, da Softwareentwickler sich normalerweise nicht mit Datenbankleistungsprotokollen befassen, da dies die Aufgabe des DBA ist.

Dies ist im Allgemeinen der Fall, aber wenn ein Teil Ihrer Aufgabe darin besteht, Software für eine bestimmte Datenbank zu schreiben, die sehr reaktionsschnell sein muss, müssen Sie sicherstellen, dass Sie sich nach besten Kräften bemühen, diese Abfragen so zu schreiben, dass ein Kollege dies tut Ein Experte in einem bestimmten Bereich ist nicht mit schlecht geschriebenen Fragen beschäftigt. Während Sie möglicherweise nicht genau wissen müssen, was die Protokolle Ihnen sagen, müssen Sie möglicherweise in der Lage sein, offensichtliche Probleme zu identifizieren.

Hoffentlich hilft das alles!


2

Nur weil Sie ein Softare-Entwickler sind, heißt das nicht, dass Sie nur Themen für Softwareentwickler kennen sollten. Als Entwickler ist es sehr nützlich, über eine Vielzahl von Kenntnissen zu verfügen, von der Serververwaltung bis hin zu Datenbanktechnologien. Ich hätte keine Probleme damit, Kandidaten solche Fragen zu stellen. Wenn sie sie nicht richtig verstehen, wird sie nicht von der Liste gestrichen (ich erwarte nicht, dass sie alles wissen), aber wenn sie antworten können, zeigt mir das, dass der Entwickler viel mehr ist als Nur der typische Programmierer mit Fähigkeiten, und das ist eine seltene Rasse.


+1, stimme vollkommen zu. Und wenn stattdessen die potenzielle Einstellung anfängt, über die "Ungerechtigkeit" der Fragen zu jammern, gehören sie zu der allgemeineren Rasse der Nicht-Einstellung .
Andres F.

2

Ich habe auch einen ähnlichen Streit mit einem potenziellen Arbeitgeber, der mir eine Frage zu einem Schachtdeckel gestellt hat. Ich frage Sie, was hat die Form eines Schachtdeckels mit Programmierung zu tun?


3
Was war die eigentliche Frage zum Schachtdeckel? Ich wette, es war ein Gedankenexperiment, das erstellt wurde, um Ihre Denkfähigkeit zu messen, und das nichts mit Schachtabdeckungen zu tun hatte.
Kenny Wyland

Ein guter Interviewer wird Ihnen diese Art von Fragen stellen, um besser zu verstehen, wie Sie denken und Probleme lösen. (Obwohl die Frage nach dem runden Mannloch heutzutage etwas müde ist).

2
Es ist eine sehr häufige Interviewfrage: "Warum sind Schachtabdeckungen rund?" und die erwartete Antwort soll lauten: "Sie können also nicht in das Loch passen (und in dieses fallen)." (und nicht viele andere vernünftige Gründe, wie "weil das Loch rund ist (weil es rund gebohrt ist)" oder "damit Sie die Abdeckung rollen können, um sie nach dem Anheben zu bewegen (andernfalls müssen Sie entweder ziehen oder zwei Personen) zu bewegen) "
Jimmy

Diese Frage ähnelte wahrscheinlich der Anzahl der Golfbälle, die in eine Busfrage passen. Es gibt nicht unbedingt eine richtige Antwort, aber der Interviewer möchte sehen, wie Sie denken und wie Sie das Problem lösen würden. Es ist wichtig, beim Interview laut zu denken.

2
Die Aussage ist natürlich im Scherz, ich bezweifle, dass jemand in den letzten zwanzig Jahren die berühmte Mannlochfrage benutzt hat. Der Punkt ist, dass Sie in einem Interview die Regeln des Interviewers befolgen. Wenn eine Frage unangemessen erscheint, sprechen Sie sie an und erläutern Sie Ihre Argumentation.

0

Antworten des Formulars Nun, ich bin mir nicht sicher, aber ich würde es nachschlagen, indem ich zu gehe, und bin auch gut. Niemand glaubt, dass Sie alles wissen, aber es ist eine Schlüsselkompetenz, Dinge nachschlagen zu 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.