Beurteilen Interviewer Sie anhand der Sprache, die Sie für eine Code-Herausforderung wählen?

Ich habe gerade eine Code-Herausforderung von einem Unternehmen erhalten, bei dem ich mich beworben habe.

Die Code-Herausforderung bietet Ihnen die Möglichkeit, aus einer großen Auswahl an Sprachen auszuwählen. Ich weiß, dass Python am einfachsten wäre, aber ich frage mich, ob ich C++ oder eine andere Sprache wählen sollte, damit es nicht offensichtlich ist, dass ich die "einfachste" Sprache auf der Liste wähle? Weil mir viele Fragen einfallen, die in Python VIEL einfacher wären.

Berücksichtigen Interviewer so etwas wirklich? Oder überdenke ich das? Was sollte ich berücksichtigen, wenn ich mich für ein Tool für eine solche Interviewübung entscheide?

Ich denke, es wäre wirklich, wirklich seltsam, eine Liste von Sprachen zu geben, aber dann heimlich die Verwendung einiger von ihnen abzuhaken. Interviewer versuchen im Allgemeinen nicht, Bewerber auszutricksen. Eine Sprache auszuwählen, nur weil sie schwieriger ist, widerspricht auch dem gesunden Menschenverstand. Das würdest du in der beruflichen Entwicklung nie machen. Ich bezweifle wirklich, dass sie diese Art von Erwartung für ein Interview haben würden.
Was ist die Hauptsprache, die Sie in dieser Position verwenden würden? Wenn Python es ist oder einer von ihnen, dann macht es absolut Sinn.
Sie tun es auf jeden Fall, basierend auf persönlicher Erfahrung. In der Vergangenheit habe ich PHP5 und Ruby zu einem lauwarmen Empfang verwendet. Ein Interviewer machte hinterher tatsächlich einen Kommentar und fragte sich, warum ich PHP verwende. Seitdem werde ich diese beiden nicht mehr verwenden und mich für Python oder die heißeste Backend-Sprache der Stunde entscheiden (je nachdem, was es zu diesem Zeitpunkt ist).
@Kai, das Unternehmen hat die Website, auf der sich die Herausforderung befindet, nicht entwickelt, daher weiß ich nicht, ob es bei der Liste um die Auswahl einiger Standardsprachen ging oder ob sie die Liste selbst angepasst haben.
@Kai Nach dem erneuten Lesen der Stellenbeschreibung sieht es aus, als wäre es eine benutzerdefinierte Liste, also egal. Ich werde dies berücksichtigen, wenn ich die Herausforderung annehme.
@IDrinkandIKnowThings Sie haben keine Hauptsprache aufgelistet, aber das ist etwas, was ich den Personalvermittler möglicherweise fragen könnte.
Als Antwort auf die knappen Abstimmungen würde ich sagen, dass, wenn ich gefragt hätte, WELCHE Sprache gewählt werden soll, diese meinungsbasiert wäre, aber Python und C++ waren nur Beispiele in der eigentlichen Frage, die lautete: „Interessiert/verurteilt mich der Interviewer?“. was ich nicht für eine meinungsbasierte Frage halte.
Oft ist die Sprache irgendwie "irrelevant", weil die Problemlösung im Allgemeinen überall gleich ist. Es ist ein methodischer Ansatz, der interessanter ist als ein Syntaxproblem.
@StarSweeper Ich habe für das Schließen gestimmt, weil die Antwort lautet: "Manche tun es, manche nicht, aber wir können Ihnen nicht sagen, wie oder wie wichtig es für eine bestimmte Person ist". Am sichersten ist es, eine Sprache zu wählen, mit der Sie vertraut genug sind, um nicht mit der Syntax zu kämpfen oder sie zu vermasseln, und die Sie hauptsächlich bei der Arbeit verwenden (oder einer ähnlich ist) (wenn sich diese nicht überschneiden, es ist eine schwierigere Frage, aber keine, die wir beantworten können). Ich habe festgestellt, dass es normalerweise aus einer Stellenbeschreibung ziemlich offensichtlich ist, wenn sie nach einem Experten in einer bestimmten Sprache suchen, im Gegensatz zu jemandem, der im Allgemeinen einfach gut im Programmieren ist.
Sie benötigen weitere Informationen. In der realen Welt sollten Dinge wie Leistung, Entwicklungszeit, Potenzial zur Bewältigung von Änderungen und das Risiko einer technischen Verschuldung berücksichtigt werden, aber Sie haben normalerweise ein besseres Verständnis für ein Projekt, als nur eine isolierte Aufgabe zu lösen.
Verwenden Sie die richtige Sprache für die Aufgabe.

Antworten (3)

Ja, sie berücksichtigen es, aber Sie können nicht wissen, wie sie es betrachten.

Ich weiß, es ist nicht die Antwort, die Sie wollten, aber es ist die Wahrheit. Der einzige Seelenfrieden, den ich anbieten kann, ist, dass Menschen es nicht mögen, wenn andere Menschen scheitern. Daher bezweifle ich stark , dass dies ein Spiel des russischen Roulettes ist. Jede Sprache sollte gleichermaßen empfangen werden.

Sie sagten, Python sei "einfacher", aber Sie hätten auch einen dieser vielen subjektiven Vergleiche sagen können.

  • eine dynamische Sprache im Vergleich zu einer getippten Sprache
  • eine langsame Sprache versus eine schnelle Sprache
  • eine einfach zu debuggende Sprache gegenüber einer schwierigen
  • eine Open-Source-Sprache im Vergleich zu einem ANSI-Standard?

Du vergleichst hier Äpfel und Birnen.

Zu wissen, welche Sprache sie für die richtige Wahl halten, ist so subjektiv wie die Frage, ob Python besser als C++ ist. Die Antwort hängt davon ab, wen Sie fragen.

Es ist Ihre persönliche Wahl, und sie möchten, dass Sie eine auswählen. Der Schlüssel hier ist, dass es eine Gelegenheit ist, ihnen zu sagen, mit wem Sie lieber arbeiten würden, wenn Sie zum ersten Mal in Ihrem neuen Job anfangen. Es geht also darum, einen auszuwählen, mit dem Sie die Herausforderung erfolgreich abschließen können, aber auch einen auszuwählen, den Sie gerne verwenden.

Wählen Sie also die Sprache, die Ihnen am meisten Erfüllung bringt, und schließen Sie auch die Herausforderung ab.

Sie könnten die falsche auswählen, oder vielleicht gibt es keine falsche. Der Punkt hier ist, sich selbst treu zu sein, was Sie bevorzugen würden. Das ist alles, worüber Sie die Kontrolle haben.

Als Ergänzung zu dieser Antwort, weil sie ziemlich vollständig ist: Ich habe kürzlich eine Code-Herausforderung angenommen und meine Offenheit für Veränderungen gezeigt; Ich fing an, mit Frameworks zu arbeiten (in diesem Fall war es eine Front-End-Herausforderung), mit denen ich wenig bis gar keine Erfahrung hatte, da mir gesagt wurde, dass diese Firma viel damit arbeitet (anscheinend noch nicht). Danach waren sie nicht ganz glücklich und ließen mich mit dem entwickeln, womit ich mich wohler fühle, und sie waren absolut glücklicher. Es hängt hauptsächlich von Ihrer Argumentation ab, Sie können auch fragen, was sie sehen möchten; sauberer Code? oder beste Sprachwahl?
Gute Antwort. Möglicherweise möchten Sie die wichtigsten Teile Ihrer Antwort fett formatieren und die Anzahl der Absätze nach den Aufzählungspunkten kürzen.
Der Vollständigkeit halber geht es bei der richtigen Auswahl nicht nur darum, wen Sie fragen, sondern auch darum, was Sie mit dieser Sprache tun werden.
Und bereiten Sie sich beim Folgeinterview darauf vor, zu verteidigen, warum Sie sich für eine Sprache entschieden haben. Stellen Sie sicher, dass Sie zu diesem Thema mehr zu sagen haben als „es schien am einfachsten, es in dieser Sprache zu tun“. Wissen Sie ein oder zwei Dinge darüber, warum dieses spezielle Problem mit der speziellen Sprache, die Sie ausgewählt haben, gut gelöst werden würde.
Nachdem ich diese Antwort und die Stellenbeschreibung ein wenig weiter gelesen habe, denke ich, dass ich warten werde, bis ich sehe, was die Fragen sind, und dann die Entscheidung treffen werde, basierend darauf, welche Sprache ich verwenden würde, um das Problem im wirklichen Leben zu lösen. Danke für die Hilfe!
Ausgezeichnete Antwort. Es könnte verbessert werden, indem das Konzept noch stärker betont wird, dass die Interviewer diejenigen sind, die entscheiden, wonach sie Sie beurteilen. Sie könnten sich dafür entscheiden, Sie nach etwas so Frivolem wie der Farbe Ihres Hemdes zu beurteilen, wenn sie dies wünschen. Als Kandidat sollten Sie sich immer darauf konzentrieren, sich selbst und Ihren Fähigkeiten treu zu bleiben und sicherzustellen, dass Sie den Job, für den Sie in Betracht gezogen werden, Ihrer Meinung nach meistern können.
Denken Sie daran, dass ein Teil der Fähigkeiten eines guten Entwicklers darin besteht, das richtige Tool für die jeweilige Aufgabe zu verwenden. Meistens ist das einfachere Werkzeug das richtige Werkzeug.
@DanPuzey Ich denke, das ist die richtige Antwort auf die Frage.

Als Interviewer würde ich das gerne sehen

  • die Sprache Ihrer Wahl ist für die gestellte Aufgabe geeignet;
  • die Sprache Ihrer Wahl richtig verwendet wird;
  • Sie können Ihre Wahl erläutern und die Vor- und Nachteile der ausgewählten Sprache gegenüber anderen Optionen angeben.

Natürlich muss die Lösung korrekt sein und Ihre Fähigkeit zur Lösung des Problems demonstrieren.

Die Auswahl der "einfachsten" Sprache könnte Ihre Fähigkeit signalisieren, die richtigen Werkzeuge für den Job auszuwählen - stellen Sie sicher, dass Sie Ihre Entscheidung erklären.

Ich stimme zu. Tatsächlich besteht ein häufiges Problem junger Entwickler darin, dass sie glauben, dass eine Sprache „besser“ ist, ohne wirklich zu wissen, warum. Ich habe an einem Projekt teilgenommen, bei dem beschlossen wurde, eine GUI in C++ / Qt zu entwickeln, obwohl es keine Anforderungen für plattformübergreifende Unterstützung gab und das gesamte Projekt eigentlich eine Erweiterung für AutoCAD war, die eine perfekte .NET-Unterstützung bietet. Aber hey, C++ ist die Sprache für echte Programmierer...

Liefern Sie eine fehlerfreie Lösung.

Zeigen Sie Ihre Fähigkeit, gut strukturierte, leicht lesbare, gut dokumentierte, wartbare, robuste, effiziente usw. Lösungen für Programmierprobleme zu erstellen. Wenn ich der Interviewer wäre, würde ich die Lösung einem zufälligen internen Entwickler geben und ihn fragen, ob er den Code versteht, und einen Experten in der von Ihnen gewählten Sprache, um Ihren Programmierstil zu beurteilen.

Wählen Sie also eine Sprache, die Ihnen das erlaubt (und bei der gegebenen Herausforderung sinnvoll ist, also wählen Sie zB nicht Javascript für Hochleistungsalgorithmen). Wählen Sie keine Sprache, mit der Sie nicht vertraut sind – Sie werden viele Anfängerfehler machen.

Und machen Sie sich keine Sorgen, ob Sie die bevorzugte Sprache des Unternehmens erfüllen: Wenn sie einen Experten in genau einer Sprache einstellen wollten, hätten sie es Ihnen gesagt.

Ich würde Javascript nicht als Beispiel für eine schlechte Wahl für Hochleistungsalgorithmen verwenden; es ist eigentlich ziemlich schnell in diesen Tagen. Sie werden mit Javascript wahrscheinlich schnellere Ergebnisse erzielen, wenn Sie es kennen, als mit einer "schnelleren" Sprache nicht.
@Erik guter Punkt: Ich würde lieber den richtigen Algorithmus in JS ausführen als den falschen in etwas schnellerem.
Natürlich verschwendet man mit dem falschen Algorithmus leicht den Faktor 1000, mit der falschen Sprache vielleicht den Faktor 20, also mit dem falschen Algorithmus in der falschen Sprache den Faktor 20000...
Die einzige „makellose Lösung“ besteht darin, die Herausforderung nicht anzunehmen. Quellcode ist höchst subjektiv, und Leute, die den Code überprüfen, möchten wissen, ob der Kandidat zu ihrem Programmierstil und ihrer Kultur passt. Es wird nur davon ausgegangen, dass der Kandidat die Herausforderung abschließt. Was sie suchen, sind rote Fahnen in ihrem Stil, die darauf hindeuten, dass sie nicht hineinpassen. Vielleicht ist sein Code verschleiert oder er schreibt Kommentare mit einer Haltung der Überlegenheit. Vielleicht schreibt er keine Kommentare. Vielleicht bevorzugen sie funktional und er schreibt OOP. Es ist sehr subjektiv. Sie können es also perfekt machen und trotzdem scheitern.