Frage:
Antworten auf technische Interviewtests aus dem Internet kopieren - akzeptabel oder nicht?
ben_979
2016-03-03 06:54:51 UTC
view on stackexchange narkive permalink

Wir filtern derzeit einige Bewerber nach einer technischen Stelle. Wir haben 4 Bewerber eingeladen, einen Codierungstest von einer Codierungsteststelle aus durchzuführen. 3 von 4 haben sich dafür entschieden, gefundene Lösungen (beim Stackoverflow) zu kopieren und als Lösungen einzureichen. Einer hat die Antwort überhaupt nicht geändert, einer hat sie geringfügig geändert, und der dritte hat Änderungen an der Struktur der Lösung vorgenommen, sie basiert jedoch immer noch auf der Online-Lösung.

Ich habe mich umgesehen um zu sehen, wie der allgemeine Konsens für so etwas ist, einschließlich dieses Threads.

Meine persönliche, berufliche Meinung ist, dass dies ein Grund ist, den Bewerber sofort zu disqualifizieren - wie auch immer ich bin nicht die einzige Person, die diese Situation bewertet. Andere sind der Meinung, dass der Test für die von uns eingestellte Position möglicherweise zu schwierig war. Ein weiterer Vorschlag ist, dass diese Art von Verhalten als "akzeptabel" angesehen werden kann, da viele von uns Ressourcen wie Google und StackOverflow verwenden, um ihre täglichen Aufgaben zu erledigen.

Unser 4. Kandidat hat KEINE Lösung aus dem kopiert und eingefügt Internet, (s) er hat Originalarbeit gemacht.

Wie haben andere damit umgegangen? Würden Sie jemandem, der dies im Rahmen des Vorstellungsgesprächs getan hat, eine zweite Chance geben?

Haben die Anweisungen gesagt, Lösungen nicht zu kopieren?
Wenn ich ein technisches Problem durch Kopieren / Einfügen von StackOverflow lösen kann, werde ich StackOverflow kopieren / einfügen. "Vielleicht war der Test zu schwierig für die Position, die wir eingestellt haben." nein - wenn Sie die Lösungen auf StackOverflow finden können, waren die Fragen vielleicht zu einfach.
@Chan-HoSuh - nicht explizit, nein.
@emory - meine Einstellung dazu ist, dass es "anders" ist als in einer Arbeitssituation. Dies ist ein "Test" zum Zwecke der Bewertung Ihrer Codierungsfähigkeit, nicht Ihrer Google-Einfügefähigkeit. Ich denke, die Frage war nicht einfach, sie war nur eine, die häufig genug war, um die Lösung (en) online zu stellen.
Wenn Sie die Regeln nicht klarstellen, ist das Ihr Fehler, nicht der ihre. Allerdings würde ___I___ jemandem einen Fehler geben, der eine vorhandene Lösung kopiert, ohne (a) sie gutzuschreiben, (b) zu notieren, unter welcher Lizenz sie sich befindet, und (c) die Nutzungsregeln der Lizenz zu erläutern. Oft ist das, was professionell verwendet werden kann, nicht dasselbe wie das, was für die persönliche Arbeit verwendet werden kann, und was in ein Produkt integriert werden kann, ist eine weitere Frage. Ein Teil davon, ein Profi zu sein, besteht darin, die angemessene Nutzung des geistigen Eigentums und seine Auswirkungen auf ein Unternehmen zu verstehen.
Wenn Sie keine Standardantworten wünschen, stellen Sie keine Standardfragen.
Was ist, wenn der Antragsteller der ursprüngliche Autor der fraglichen Stackoverflow-Antwort ist?
@Brandin Wir hatten eine Variante dieses Falls, als wir mehrere Programmierer in einem Outsourcing-Unternehmen getestet haben. Sie verteilten die Testfrage nach der ersten Testrunde in ihrem Unternehmen. Dann postete einer von ihnen eine Antwort auf Stackoverflow und einer von ihnen verwendete sie später in einem Test. Wir haben nie herausgefunden, ob derjenige, der die Antwort auf stackoverflow gepostet hat, derjenige war, der sie im Test verwendet hat.
Warum nicht einfach einen Test vor Ort machen? Als Befragter hätte ich lieber ein oder zwei Stunden Test und wäre damit fertig. Sie wissen, dass sie keine externen Ressourcen verwendet haben, und Sie wissen, wie lange sie dafür aufgewendet haben. Verwenden Sie dieselbe Frage nicht über einen längeren Zeitraum, da die Frage sonst veröffentlicht wird.
Ehrlich gesagt würde ich niemals einfach eine Antwort nehmen, ohne die Quelle anzugeben, dies hängt jedoch vom Umfang der vorgenommenen Änderungen und der Größe des Codes ab, den ich nicht geschrieben habe. Obwohl ehrlich gesagt ein großer Teil des Programmierens darin besteht, Ihre Ressourcen zu nutzen, um Lösungen zu finden. Es wundert mich täglich, wie normale Büroangestellte Google nicht einmal richtig durchsuchen können.
Es muss argumentiert werden, dass es ein unglaublich schlechter Test war, ihn zuzuweisen, da die Lösungen so leicht verfügbar waren. Wenn dies eine On-the-Job-Anwendung eines Problems war, kann es nicht schaden, eine bewährte Lösung von einem anderen Ort zu übernehmen.
Selbst wenn die vierte Kandidatin originelle Arbeit geleistet hätte, hätte sie möglicherweise auch die Umrisse der Lösung untersucht und die genaue Umsetzung der SE-Antwort einfach nicht gemocht. Wenn dies der Fall ist, fragen Sie sich, welche Konsequenzen es hat, jemanden einzustellen, der eine neue Lösung schreibt, weil Ihre bestehende nicht sauber genug ist (beachten Sie, das bin ich, also finde ich es großartig - nicht jeder tut es).
In einer Produktionsumgebung ist es Ihnen wichtig, die Arbeit zu erledigen. Ich würde sie nicht disqualifizieren, aber ich würde sie ihren Code erklären lassen. Ich stehle die ganze Zeit Code, normalerweise meinen eigenen. Was Sie feststellen müssen, ist, ob Sie es mit jemandem zu tun haben, der das Rad nicht neu erfinden möchte und pragmatisch ist, oder ob Sie es mit einem Skriptkind zu tun haben.
Möchten Sie wirklich Leute einstellen, die das Rad neu erfinden? Oder möchten Sie lieber jemanden haben, der ein Rad von der Stange nimmt, es vielleicht etwas runder oder besser ausbalanciert und festschraubt? Denn ehrlich gesagt ist das ERSTE, was ich mache, wenn ich mit einem Programmierproblem konfrontiert werde, zu sehen, ob es eine vorhandene Lösung gibt, die ich verwenden kann.
Wie viele der 4 möchten Sie einstellen? Wenn sie alle die richtige Antwort bekommen haben, aber einer es selbst herausfinden konnte, schlagen Sie vor, die zu mieten, bei der der Test für ihn nicht so schwierig war.
Bestätigen Sie, dass Sie den Prozess verpfuscht haben. Beginnen Sie neu, nachdem Sie mit Ihren Kollegen einen Konsens erzielt haben.
@ben_979 ist eine nützliche Fähigkeit, das im technischen Interview gestellte Problem in Suchmaschinenbegriffe zu übersetzen und zu überprüfen, ob eine bestimmte StackOverflow-Antwort auf die Frage reagiert. Anscheinend ist die Fähigkeit zur Umschreibung auch nützlich, da der 4. Kandidat nach allem, was wir wissen, nur einen Schritt über den anderen hinausging 3.
Sieben antworten:
Joe Strazzere
2016-03-03 17:55:13 UTC
view on stackexchange narkive permalink

Meine persönliche, berufliche Meinung ist, dass dies ein Grund ist, den Bewerber sofort zu disqualifizieren - ich bin jedoch nicht die einzige Person, die diese Situation bewertet. Andere sind der Meinung, dass der Test für die von uns eingestellte Position möglicherweise zu schwierig war. Ein weiterer Vorschlag ist, dass diese Art von Verhalten als "akzeptabel" angesehen werden kann, da viele von uns Ressourcen wie Google und StackOverflow verwenden, um ihre täglichen Aufgaben zu erledigen.

Ich denke, es ist ein großer Fehler Geben Sie Bewerbern eine Aufgabe und machen Sie nicht klar, was Sie von ihnen erwarten.

Sie waren sich in Ihrem eigenen Unternehmen nicht einmal sicher, was Ihre Erwartungen waren - Sie können nicht erwarten, dass ein Bewerber die Gedanken aller liest, eine mentale Umfrage durchführt und zu den richtigen Schlussfolgerungen kommt.

Überdenken Sie Ihren Interviewprozess.

Wenn Sie entscheiden, dass ein Codierungstest immer noch angemessen ist, bewerten Sie den Prozess und den Test selbst. Denken Sie daran, dass Sie nur versuchen, gute von schlechten Kandidaten zu unterscheiden - nicht herauszufinden, wer der beste Testteilnehmer ist.

Stellen Sie fest, ob die Teststufe für den zu erledigenden Auftrag geeignet ist. Bestimmen Sie, ob Kandidaten aus dem Speicher arbeiten sollen oder ob sie das Internet, einen Papier-Spickzettel, ein offenes Buch, einen Taschenrechner, ein Telefon oder nichts verwenden dürfen. Machen Sie den Kandidaten dann klar, was von ihnen erwartet wird, und setzen Sie die Beschränkungen durch. Eine Coding-Test-Site kann dort möglicherweise nicht viel Hilfe bieten. Möglicherweise müssen Sie entscheiden, ob Sie sich genug um das zusätzliche Geld kümmern und die Tests ordnungsgemäß überwachen lassen.

Überprüfen Sie Ihren Prozess regelmäßig. Erhalten Sie Feedback von Bewerbern, wie sie den Prozess gesehen haben. Stellen Sie sicher, dass das, was Sie tun, immer noch Ihren Erwartungen entspricht. Und stellen Sie sicher, dass Sie auf diese Weise tatsächlich bessere Mitarbeiter haben - das sollte der springende Punkt der Übung sein.

Das ist die richtige Antwort. Abgesehen davon sollte das OP diese Gruppe von Kandidaten FUBAR berücksichtigen und neu beginnen, nachdem der Prozess überdacht wurde.
Ich stimme vollkommen zu. Ein Teil davon, ein guter Entwickler (oder wirklich ein Mitarbeiter) zu sein, besteht darin, Antworten auf Fragen zu finden, die Sie nicht alleine lösen können. Es ist möglich, dass Ihre Interivewees nicht wussten, wie sie das Problem lösen können. Dies ist wahrscheinlich eine rote Fahne, es sei denn, es ist ihnen völlig unbekannt (sie bitten einen SQL-Entwickler, einen C-Code auf niedriger Ebene zu schreiben), aber es kann auch zeigen, dass die Person fähig ist der Forschung und Identifizierung gültiger Lösungen. Wenn es sich um eine kurze Fizzbuzz-Frage handelt, ist sie möglicherweise nicht so gut. Ich würde vorschlagen, die Kandidaten zu bitten, zu erklären, warum der Code zusätzlich zum Codieren funktioniert.
Stone Hearts
2016-03-03 08:42:30 UTC
view on stackexchange narkive permalink

Es scheint, dass Sie sich bereits aufgrund einiger Ihrer Antworten entschieden haben, dass das, was sie getan haben, falsch ist.

Anstatt sie dazu zu bringen, einen anderen Test zu machen, können Sie sie fragen, warum sie die Frage so beantwortet haben, wie sie es getan haben.

Wenn Sie diese Nachverfolgung über das Telefon durchführen würden, würde dies Ihnen einen ziemlich klaren Hinweis darauf geben, ob sie wissen, was der Code tut oder nicht. Sie könnten sie fragen, warum sie nicht die X-Methode verwendet haben, aber dann laufen Sie Gefahr, dass sie nur die eine Methode wirklich kennen, abhängig von der Ebene der technischen Position, für die Sie ein Interview führen. Unabhängig davon erhalten Sie einen besseren Einblick in ihre Fähigkeiten, als Sie es von einem scheinbar einfachen Test erhalten.

Sie möchten nicht, dass sie das Rad neu erfinden, aber Sie möchten wissen, dass sie wissen, wie das Rad funktioniert. Und wie in der obigen Antwort angegeben, haben Sie nicht explizit gesagt, dass die Codierung original sein soll.

Ja, ich habe sehr starke Meinungen dazu, aber meine Kollegen und ich sind uns nicht einig, deshalb suche ich einen Blick von der "anderen Seite".
+1 für das Abfragen des Codes, den sie geschrieben haben. Mit ihnen zu sprechen und festzustellen, wie gut sie den von ihnen eingereichten Code verstehen, ist viel wertvoller als der Code selbst.
+1 dafür, dass sie es erklären. Das wird die findigen von den Skriptkindern trennen.
Wir beschlossen, einige der Kandidaten erneut zu interviewen. Ein Teil des zweiten Interviews beinhaltet die Anforderung, die Codierungsfrage zu erklären, die ihnen gestellt wurde (um sicherzustellen, dass sie sie verstanden haben und nicht nur die Antwort von Google), und wir geben ihnen auch jede Gelegenheit zu erwähnen, dass sie die Antwort recherchiert haben. Außerdem wenden wir intern einen sehr einfachen Programmiertest auf ein Problem an, das wir selbst entwickelt haben und das nicht auf StackOverflow basiert (zumindest noch nicht :-)). Ich freue mich über alle Rückmeldungen von allen.
Kilisi
2016-03-03 07:03:13 UTC
view on stackexchange narkive permalink

Das Internet als Ressource zu nutzen, wäre für mich in Ordnung. Ich würde den Kandidaten bevorzugen, der seine eigene Lösung hatte, aber realistisch gesehen bedeutet es nicht, dass es auch original ist, nur weil er nicht vom Stapelaustausch kopiert hat. Es ist nicht die einzige verfügbare Ressource.

Ich bitte sie jedoch, Quellen zu zitieren, wenn sie so etwas tun, und würde diejenige, die geändert wurde, um der Frage richtig zu entsprechen, als besser als die wörtlichen Antworten beurteilen.

Dies sollte nicht das einzige Kriterium sein, nach dem ein Kandidat beurteilt werden kann. Ich würde alle Aspekte ihrer Kompetenz betrachten und für das Unternehmen geeignet sein.

Wenn sie realistisch für mich arbeiten, möchte ich, dass sie Probleme so schnell, robust und effizient wie möglich lösen und das Rad nicht neu erfinden jedes Mal, wenn es mich kosten wird. Es ist mir egal, wie sie es machen. Deshalb stelle ich ihnen eher technische Fragen, um ihr Wissen zu beurteilen, als um ein Problem zu lösen, das sie leicht nachschlagen können.

Ich stimme vielen Ihrer Aussagen zu, außer wie ich in einem anderen Kommentar sagte, dass das Kopieren und Einfügen mir nichts über ihre Fähigkeiten als Softwareentwickler zeigt - und sie sollten wissen, dass dies evaluiert wird.
Ja, deshalb würde ich eine Frage nicht direkt aus dem Stapelaustausch ziehen, damit sie sie lösen können. Sie wissen nicht, wie sie ihre Antwort bekommen haben, also "beweist" es nichts.
Ich hätte jemandem, der das Ausschneiden und Einfügen anerkannte, große Bonuspunkte gegeben. Aber echte Programmierer schneiden und fügen ständig Code ein. Früher haben wir es anhand von Beispielen oder Handbüchern gemacht, aber jetzt ist Stackoverflow das fehlende Handbuch für fast alles.
@jimm101: Ich stimme zu. Die Anzahl der Kommentare mit Links zu SO-Fragen in unserer Codebasis ist fast lustig.
@ben_979 Die richtige Lösung zu finden und zu identifizieren, ist eigentlich ein großer Prozentsatz dessen, was man braucht, um ein guter Softwareentwickler zu sein. Die als korrekt gekennzeichnete Lösung ist oft gar nicht oder nicht so korrekt wie eine andere Lösung, von der das OP nicht weiß, dass sie "korrekter" ist.
jcmack
2016-03-03 07:22:06 UTC
view on stackexchange narkive permalink

Dies hängt wirklich von den Anforderungen der Codierungsfragen ab. Wurde ausdrücklich gesagt, dass externe Quellen NICHT zulässig sind und die Lösungen ihre eigene Arbeit sein müssen? Bei der Arbeit werden viele Leute Code aus StackOverflow verwenden / kopieren / ändern, aber für Vorstellungsgespräche ist dies nicht sehr ethisch, da es nicht Ihre tatsächlichen Programmierfähigkeiten zeigt.

Ich würde nehmen Ein Blick auf die Lösung des Kandidaten, der nicht aus dem Internet kopiert hat. Wenn diese Lösung immer noch nicht zufriedenstellend ist, lassen Sie alle Kandidaten einen weiteren Codierungstest mit den klar angegebenen Einschränkungen durchführen.

Es wurde nicht ausdrücklich gesagt, dass keine externen Quellen zulässig sind - aber ich denke nicht, dass dies erforderlich sein sollte. Wie Sie sagten, finde ich dieses Verhalten nicht sehr ethisch. Ein erneuter Test ist eine der in Betracht gezogenen Optionen.
@ben_979 "Keine externen Quellen erlaubt" - Wenn also ein Antragsteller ein Nachschlagewerk zu einer Sprachspezifikation oder zu Algorithmen konsultiert, wäre dies eine Disqualifikation?
Würden "keine externen Quellen erlaubt" Manpages enthalten?
Das hängt vom Umfang des Tests ab. Im Allgemeinen sollten Manpages und andere offizielle Verweise zulässig sein. Ich empfehle, die zulässigen Ressourcen für den Kandidaten aufzulisten. Ich wurde zu Dingen befragt, die ich leicht hätte nachschlagen können, aber der Interviewer hielt es für wichtig, sie auswendig zu lernen.
Learner_101
2016-03-03 08:42:29 UTC
view on stackexchange narkive permalink

Die Tests sind ein Medium, das die Codierung Fähigkeiten der Teilnehmer zu testen. Der gesunde Menschenverstand sagt, nicht kopieren, einfügen. Die Teilnehmer gingen voran und kopierten die Lösungen. Dies weist darauf hin, dass sie nicht den gesunden Menschenverstand haben, Copy-Paste-Lösungen zu vermeiden. Derjenige, der nicht nachgewiesenen Fähigkeiten gesunder Menschenverstand fügen haben kopieren. Es spielt keine Rolle, ob der Test einfach oder schwierig war. Der Ansatz hätte überprüft werden können, selbst wenn sie den Test nicht bestanden hätten.

Meiner Meinung nach gehen die drei aus der Tür. Der vierte schafft es in die nächste Runde.

Richard Dalton
2016-03-03 15:35:13 UTC
view on stackexchange narkive permalink

Die dritte Person, die den Stapelüberlauf verwendet hat, scheint mir die beste zu sein. Wenn Sie feststellen, dass eine Lösung bereits gelöst wurde, diese aber an Ihr Szenario anpassen, ist dies sicherlich der ideale Entwickler, den Sie möchten?

Wenn Sie die Fähigkeit von Personen testen möchten, etwas vollständig selbst zu codieren, lassen Sie sie den Test ohne Internetzugang durchführen (möglicherweise nur mit Zugriff auf die Referenz für die Sprache, obwohl eine anständige IDE dabei helfen würde )

HopelessN00b
2016-03-04 22:48:32 UTC
view on stackexchange narkive permalink

3 Ihrer Kandidaten zeigten die Fähigkeit, eine Website zu finden (StackOverflow).

1 zeigte die Fähigkeit, tatsächlich Code zu schreiben.

Was müssen Sie wirklich noch wissen? Ob es "falsch" ist oder was auch immer, ist völlig nebensächlich - sie alle hatten die Gelegenheit, ihre Codierungsfähigkeiten zu demonstrieren, und drei von ihnen haben in diesem speziellen Fall versagt.

Ich würde argumentieren, dass nichts falsch ist mit der Verwendung von Internet-Ressourcen für ein Interview oder eine Bewerbung, da wir alle Webressourcen für unsere eigentlichen Jobs verwenden. Tatsächlich bevorzuge ich es persönlich, den Kandidaten einen Laptop und eine Reihe von Aufgaben zu geben, die sie als abschließendes technisches Interview (für Systemjobs) ausführen können - aber sie erledigen das nicht sehr wichtig für mich. Es geht darum, dass sie zeigen, dass sie das tun können, was normalerweise für sie erforderlich ist, um die Arbeit zu erledigen. Das gleiche Argument könnte in diesem Fall vorgebracht werden (alle haben Code entwickelt, der funktionieren würde), aber es scheint mir, dass nur einer von ihnen gezeigt hat, wonach Sie gesucht haben (die Fähigkeit, Code zu schreiben), also gibt es Ihren Kandidaten dafür Fahren Sie mit der nächsten Runde fort.

In einem ähnlichen Zusammenhang muss Ihr Codierungstest möglicherweise überarbeitet werden, wenn die Antwort auf der weltweit am stärksten frequentierten Entwickler-Website frei verfügbar ist. Es hört sich nicht so an, als würden Sie viel Wert daraus ziehen. Derzeit klingt es so, als könnten Sie wahrscheinlich jedem viel Zeit sparen, indem Sie den Codierungstest ersetzen, indem Sie die Kandidaten fragen, ob sie etwas über StackOverflow wissen.

Warum sollte ich Zeit damit verbringen, Code zu schreiben, wenn ich die Arbeit in kürzerer Zeit erledigen kann, indem ich vorhandenen Code finde und ändere, egal ob meinen oder den eines anderen? Wie unterscheidet sich das Finden und Verwenden von vorhandenem Code zur Lösung eines Problems im Prinzip vom Aufrufen einer Bibliotheksroutine? Wie viele Menschen können wirklich effektiv ohne eine Standardtastatur und einen anständigen Monitor für Größe und Auflösung arbeiten, ganz zu schweigen von ihrem bevorzugten Toolset?
@jamesqf Ein gültiges Argument, wenn Sie einmal angestellt sind, und warum ich es nicht für "falsch" halte, Code für ein Code-Test-Interview zu kopieren. Wahrscheinlich nicht klug, wie diese Frage zeigt. Der Zweck dieser Frage besteht schließlich darin, die Codierungsfähigkeit zu testen, nicht die Fähigkeit, SO zu suchen und daraus zu kopieren. Der Laptop-Test dient hauptsächlich dazu, die Bullshitter auszusortieren, also nichts besonders Schwieriges. (Und ich gebe einen voll mit Werkzeugen, oft meinen.) "Oh, Sie haben angeblich 8 Jahre lang mit vCenter / vSphere / ESXi gearbeitet, aber Sie können keinen Schnappschuss konsolidieren? Sie sind es."
Sie haben z. mehrere Jahrzehnte (oder sogar 8 Jahre) von benutzerdefinierten Editor-Makros? Und ich werde ohne eine Standard-Cursortastatur absolut langsam sein. Ob es gut ist, für einen Codetest zu kopieren ... Nun, das hängt davon ab, was der Test testen soll, und wie diese Frage und Antworten zeigen, muss man manchmal nur raten. Ich kann mir ein anderes Poster vorstellen, auf dem gefragt wird, was mit dem einen Kandidaten zu tun ist, der das Rad neu erfunden hat :-)
@jamesqf Ich bin auf die gleiche Art und Weise, also habe ich eine Logitech-Tastatur / -Maus, die meinen Laptop überall hin begleitet ... aber wie gesagt, es ist eher eine Möglichkeit, die Bullshitter auszusortieren, also gibt es nur sehr wenig, was dazu führen würde benötigen ein Makro, und "tot langsam" ist in Ordnung. Ich war eine Weile in schweren Windows-Shops, daher wird viel nach Cmdlet, Option oder API auf Technet gesucht, was sowohl akzeptabel als auch erwartet ist.
Nun, sicher, aber die Art und Weise, wie ich das mache (Linux, also Manpages), wenn ich Code schreibe, besteht darin, Alt-m für eine Funktion zu drücken, die die richtige Manpage (oder unter bestimmten Umständen andere Dokumente) in der öffnet Editor, damit ich daraus kopieren und einfügen kann ...


Diese Fragen und Antworten wurden automatisch aus der englischen Sprache übersetzt.Der ursprüngliche Inhalt ist auf stackexchange verfügbar. Wir danken ihm für die cc by-sa 3.0-Lizenz, unter der er vertrieben wird.
Loading...