Veröffentlicht am 28-02-2019

Meine Lieblingsinterviews mit Programmierinterviews

Wir haben nur originale Inhalte veröffentlicht, aber nachdem wir diesen großartigen Artikel gefunden haben, der von Pedro Pereira Santos geschrieben wurde, haben wir ihn angesprochen und er hat uns freundlicherweise erlaubt, ihn mit Ihnen zu teilen. Wenn Sie selbst ein großartiger Schriftsteller sind und etwas Interessantes mit unserer Community teilen möchten, senden Sie es uns in die richtige Richtung und wir werden prüfen, ob wir es auch veröffentlichen können!

Es ist üblich, dass Unternehmen eine Reihe technischer Fragen haben, die bei Programminterviews gestellt werden müssen. Möglicherweise haben wir eine Reihe allgemeiner Fragen und auch spezifische Fragen zu Sprache und Technologien. Mit diesem Fragenskript können Sie die verschiedenen Interviews auf eine gemeinsame Basis stellen. Wenn wir immer dieselben Fragen stellen, ist es einfacher, die Leistungen der Kandidaten zu vergleichen.

Mit der Zeit habe ich mir meine eigenen Fragen gestellt. Ich habe einen anderen Stil. Ich bevorzuge offene Fragen, die es den Kandidaten ermöglichen, frei über ihre bisherigen Erfahrungen zu sprechen.

Das Eis brechen

Normalerweise beginne ich mit Small Talk. Ich werde versuchen, die Kandidaten zu beruhigen. Bei einem Interview zu sein, kann ein stressiges Ereignis sein. Und ich möchte, dass die Kandidaten eine großartige Erfahrung haben. Einige Schritte, um das Eis zu brechen:

  • Fragen, ob es einfacher war, hierher zu kommen?
  • Angebot von Kaffee oder Wasser
  • Präsentiere mich (und andere Interviewer); Sprechen Sie ein bisschen darüber, was wir tun
  • Geben Sie einen kleinen Überblick über die Agenda des Interviews
  • Erklären Sie, dass es keine richtigen oder falschen Fragen gibt, wir lernen uns einfach kennen und wenn wir zusammenpassen würden

Ich möchte ein wenig lachen und versuchen, die Kandidaten bequem zu machen.

Das Mikrofon an den Kandidaten weitergeben

Dann fange ich mit meinem Skript an. Ich werde einige offene Fragen stellen und dann vielleicht einige Themen aufgreifen und nach mehr Details fragen

  • Können Sie sagen, auf welches Projekt Sie am meisten stolz sind und warum? Dies sollte die Konversation auf bekanntem Boden bewegen. Die Kandidaten sollten sich an ihre stolzesten Momente erinnern können. Dadurch kann ich auch ein Gefühl dafür bekommen, wie viel Erfahrung Kandidaten haben. Wenn Kandidaten auf knifflige Herausforderungen eingehen, bitte ich um mehr Details, um sie zu verstehen. Ich werde sie zu keinem Zeitpunkt in Frage stellen oder Meinungsverschiedenheiten zeigen.
  • Wenn Sie die Macht hätten, etwas an diesem Projekt zu tun, was würden Sie tun? An diesem Punkt sollte ich wissen, wie erfahren der Kandidat ist. Jetzt möchte ich abschätzen, ob der Kandidat ein Visionär ist. Möglicherweise haben wir Entwickler, die sich darauf konzentrieren, einen Rückstand zu verfolgen, oder andere Parteien, die dies definieren. Diese Frage lässt sie überlegen, was sie tun würden, wenn sie unter Anklage stehen würden. Ich suche Menschen, die eine Vision haben und die sie durchstehen könnten.
  • Können Sie uns etwas über ein komplexes Problem erzählen, das Sie lösen mussten, und wie Sie es getan haben? Jetzt möchte ich das Problem lösen. Bestimmte schwierige Dinge, die der Kandidat durchgemacht hatte. Ich werde versuchen zu prüfen, ob der Kandidat mehr Ich oder Wir verwendet und ob die Kandidaten die Verantwortung für Probleme übernehmen.
  • Und was war mit dem, was Sie getan haben, das war ein totaler Misserfolg? In der Lage zu sein, sagen zu können, dass ich es nicht wisse und zugeben muss, ist mir wichtig. Normalerweise sprechen wir gerne über unsere erfolgreichen Erfolge. Offen zu sein und über unsere Fehler zu reden und darüber zu lernen, wie wir daraus gelernt haben, ist sehr wichtig.
  • Stellen Sie sich vor, Sie sehen sich irgendwann mit einer Aufgabe, die 2 Wochen dauert, aber Sie haben eine Frist in einer Woche. Was würden Sie tun? Nun sehen Sie, wie die Kandidaten mit Druck umgehen und mit Erwartungen umgehen. Dies wird mir zeigen, wie reif die Entwickler sind. Der Umgang mit Fristen ist etwas, das wir in einer produktiven und gesunden Umgebung tun müssen. Ich suche hier auch nach Einfallsreichtum und arbeite klug gegen harte Arbeit.
  • Was wäre Ihr idealer Entwicklungsprozess, von der Bereitstellung eines Features bis zur Bereitstellung von Qualität? Es ist wichtig, sich an Werten und Entwicklungsprozess zu orientieren. Mit dieser Frage werde ich verstehen, was der bevorzugte Arbeitsablauf für Kandidaten ist. Wie (und ob) sie Wert auf Qualität, Teamarbeit und Erwartungen legen. Wie ähnlich ist dieser Prozess schon unserem, usw. Dann präsentiere ich normalerweise auch unseren eigenen Entwicklungsprozess.

Und das ist es. Diese einfachen Fragen sollten eine fast einstündige Unterhaltung ermöglichen. Ich kann sehen, wie die Kandidaten kommunizieren. Sind sie vage oder direkt auf den Punkt? Sind sie demütig?

Eine Sorge, die ich habe, ist die Anpassung des Ablaufs, wenn der Kandidat zu schüchtern oder zu

Technisch gehen

Ich muss vielleicht technisch gehen. Dies geschieht, wenn ich nicht weiß, wie viel Erfahrung die Kandidaten mit ihren Antworten Dies ist zum Beispiel bei Absolventen üblich. In diesen Szenarien habe ich auch einen Fluss von Fragen.

  • Stellen Sie sich vor, Sie haben die Aufgabe, eine Hash Map-Klasse zu erstellen. Wie würdest du es machen? Auf diese Weise kann ich die Fähigkeiten des Kandidaten mit Sammlungen und Algorithmen verstehen.
  • Was wäre eine gute Hash-Funktion? Wenn der Kandidat zufrieden ist, werde ich versuchen, Fragen zu stellen, die sich auf die Hash-Funktion beziehen. Wie man es ausbalanciert und was zu tun ist, wenn wir die Kapazität erhöhen müssen. Ich erwarte hier keine direkten Antworten. Es ist nicht so üblich, dass wir diese Dinge täglich umsetzen müssen. Dies erlaubt mir jedoch, die Gründe zu sehen und ob der Kandidat Probleme feststellt.
  • Jetzt haben Sie diese Klasse für mehrere Projekte verwendet. Sie haben jedoch einen Änderungswunsch: Wir sollten die Werte in aufsteigender Reihenfolge erhalten können. Veränderung ist unvermeidlich. Wir müssen uns immer darum kümmern. Konzentriert sich der Kandidat auf die Kompatibilität mit den aktuellen Projekten? Welche Lösung wird vorgeschlagen: eine andere Methode? Eine abgeleitete Klasse? Eine Wrapper-Klasse? Wird die Verwendung eines Baumes vorgeschlagen? Ähnlichkeit mit einem Datenbankindex?
  • Wir haben einen Fehlerbericht. Die Klasse ist nicht fadensicher. Was sollen wir machen? Auf diese Weise kann ich erkennen, wie kompetent Kandidaten mit Multi-Threading und Parallelität sind.
  • Jetzt sind die Daten auf der Hash-Karte riesig. Was tun, wenn diese Daten nicht in den verfügbaren Speicher passen? Nun, das wird viel mehr Konversation erlauben. Zu diesem Zeitpunkt werde ich nach Bedenken suchen und hauptsächlich Kompromisse

Diese Fragen erlauben es mir, viele Themen zu behandeln, während der Kandidat im Gespräch bleibt und führt. Wieder konzentriere ich mich darauf, die Kandidaten zu allen Reden zu lassen.

Zusammenfassung

Ich versuche mich auf generische Konzepte zu konzentrieren. Diese Interviewfragen sind technologie- und sprachunabhängig. Es geht mir mehr darum zu verstehen, was der Kandidat will. Alles andere ist eine Frage des Kontextes und eine Gelegenheit zum Lernen.

Fit zu sein ist sehr wichtig. Es geht niemals darum, dass der Kandidat gut oder schlecht ist, sondern nur ein Maßstab dafür, wie gut wir zusammenarbeiten. Welchen Wert hätte der Kandidat für das Team? Und manchmal ist es großartig, Leute komplett ausgerichtet zu haben. Auf der anderen Seite bringt es jedoch eine neue Perspektive mit sich, wenn sich die Menschen auf Prozesse und Denkweise aus einem völlig anderen Hintergrund ausrichten und unsere Überzeugungen in Frage stellen.

Als letzte interessante Bemerkung sei darauf hingewiesen, dass der erste Satz generischer Fragen auch vom Interviewpartner den Interviewern präsentiert werden kann (und sollte?). Dies ist tatsächlich ein Zeichen der Reife. Ältere Entwickler werden versuchen, so schnell wie möglich zu verstehen, ob das Unternehmen fit ist. In der Tat sehe ich manchmal erfahrene Kandidaten, die die Interviews führen.

Pedro Pereira Santos, ursprünglich in Engineering Management Space veröffentlicht

Siehe auch

Was ich durch eine Live-Video-Challenge gelernt habeDie digitale Architektur ist der Markt. Der Markt ist die digitale Architektur.Eine kurze Geschichte weiblicher ProgrammiererWie das Produktdenken unseren Newsroom verändertRessourcen für den Kundenerfolg, die Sie nicht nutzen, aber solltenVerbessern Sie Ihre technischen Fähigkeiten auf eine Managementrolle