Ich bin etwas amüsiert, warum "kannst du das löschen?" wird als interessante Frage angesehen. Jeder, der COM-Code in C ++ geschrieben hat, weiß, dass das allererste, was Sie am ersten Tag der grundlegenden COM-Programmierung lernen, die korrekte Verwendung von "delete this" ist. Ich nehme an, es könnte nützlich sein zu bestimmen, ob beispielsweise jemand in seinem Lebenslauf über das Schreiben von COM-Programmen lügt, aber als allgemeine C ++ - Frage, wenn jemand sie nicht sofort beantworten kann, werden sie nicht gut passen für mein team.
Wenn es Ihr Ziel ist, eine Frage zu entwickeln, die die C ++ - Fähigkeiten misst, dann ist die Auswahl einer Frage der falsche Weg. Dreh es um. Die richtige Frage ist:
Wie gut sind Sie als C ++ - Programmierer auf einer Skala von eins bis zehn?
Dies ist nicht die Frage, mit der Sie die gewünschte Antwort erhalten. Jeder sagt "acht", egal. Die Frage, mit der Sie die gewünschte Antwort erhalten, lautet:
OK, also bist du eine Acht. Was ist ein Problembereich, mit dem eine Sieben Ihrer Meinung nach nur schwer arbeiten kann?
Und boom , jetzt hast du sie. Wenn der Kandidat der Meinung ist, dass "etwas mit Rekursion zu tun hat" oder "wann ein virtueller Destruktor verwendet werden muss" die Art von Dingen ist, mit denen eine Sieben Schwierigkeiten hat, dann wissen Sie, dass sie ein wenig über Rekursion oder Destruktoren oder was auch immer wissen und dass ihr Wissen nicht viel weiter geht.
Das sollte Ihnen eine viel bessere Kalibrierung ermöglichen, als wenn Sie sich eine Quizfrage stellen. Wenn Sie mich zwingen würden, eine gute Frage zu einem Faktum über C ++ zu stellen, würde ich wahrscheinlich fragen: "Wie würden Sie den semantischen Analysator und den Codegenerator für den Teil eines C ++ - Compilers entwerfen, der sich mit virtuellen Methoden befasst? in einem Basisklassen-Destruktor aufgerufen? " Sie sollten Fragen stellen, die mit echten Dingen zu tun haben, an denen Sie arbeiten und an denen der Kandidat wahrscheinlich arbeitet. Das ist ein Problem, an dem ich einmal arbeiten musste, und ich denke, es würde einen ziemlich guten Einblick geben, wie eine Person semantische Analysatoren und Codegeneratoren entwirft und wie sie C ++ kennt.