Eine Firma, mit der ich zusammenarbeite, hat mich gebeten, telefonische Überprüfungen durchzuführen, um sicherzustellen, dass sie sich nicht völlig schämen, wenn sie jemanden an einen potenziellen Kunden senden.
Es stellte sich heraus, dass eine ganze Reihe von Mitarbeitern für eine C ++ - Entwicklerrolle eingestellt wurden. Ich verbringe nicht viel Zeit in C ++, aber ich habe ein paar triviale und nicht-triviale Projekte in der Sprache gemacht. Ich dachte mir, dass "Erklären Sie die RAII-Sprache" eine nette Softball-Frage sein würde, die die meisten ernsthaften C ++ - Entwickler im Halbschlaf beantworten könnten, und es mir ermöglichen würde, auf interessantere Fragen zur Erfahrung überzugehen. Es stellt sich jedoch heraus, dass Personen mit mehr als 10 Jahren C ++ - Erfahrung den Begriff nicht erkennen, auch wenn ich das Akronym auf "Ressourcenbeschaffung ist Initialisierung" erweitere. Ein Kandidat meinte sogar, es sei nicht immer praktikabel, die Technik in der Windows-Entwicklung anzuwenden, was ich als merkwürdig empfand, aber ich konnte ein paar Beispiele sehen, die diesen Gedankengang wohl unterstützen.).
Selbst ein paar C ++ - Entwickler, die ich gut genug kenne, um ihre Kompetenz beurteilen zu können, sagten, sie hätten den Begriff nicht erkannt, aber als sie eine Zusammenfassung der Technik lasen, sagten sie: "Oh ja, ich wusste nicht, dass das einen Namen hat. Ich nur dachte an diese Dinge als etwas, was du nur tun musst . " Ich erinnere mich an den Begriff aus der zweiten Ausgabe von Stroustrups Buch, obwohl die volle Wirkung zu dieser Zeit nicht einsank.
Also, ist "Kannst du mir die RAII-Redewendung erklären?" eine faire Screening-Frage? Ist es vernünftig zu erwarten, dass alle kompetenten C ++ - Entwickler es verstehen? Ist der Begriff esoterischer als ich denken würde? Angenommen, ein Kandidat kennt den Begriff nicht, gibt es Anschlussfragen, die mir helfen könnten, herauszufinden, ob er die Praktiken, die RAII funktionieren lassen, zumindest verinnerlicht hat? Gibt es bessere alternative "Unkraut" -Fragen, die dem Kandidaten einen gewissen Spielraum bei der Beantwortung geben und ihm helfen, sein Verständnis der C ++ - Entwicklung zu demonstrieren?
Bearbeiten zum Hinzufügen : Um das zu verdeutlichen, bin ich kein Interviewer, der Leute disqualifiziert, weil sie keine Schlagworte und Akronyme kennen. Ich halte es jedoch für vernünftig zu erwarten, dass ein erfahrener C ++ - Programmierer bewährte Methoden für das Ressourcenmanagement verinnerlicht hat. Ich denke auch, dass es wichtig ist, zu überprüfen, ob ein Kandidat einige "Grundlagen" über die Technologie versteht, in der er Fachkenntnisse besitzt, bevor er zu interessanteren Fragen über Design, Problemlösung usw. übergeht. Ich denke, was ich suche, ist ein guter Weg eine offene Frage zu stellen, die für ein kurzes Telefon-Screening geeignet ist und die ich verwenden kann, um das grundlegende Verständnis eines Kandidaten für gute Ressourcenmanagement-Praktiken in C ++ zu beurteilen, bevor ich "harte" Fragen stelle.