Ich denke, man sollte darauf achten, dass man nicht nach Kenntnissen fragt, bei denen es im Grunde zufällig ist, ob der Befragte sie zur Hand hat oder nicht. Bei Ihren Beispielen fällt mir auf Anhieb nicht ein, wie die Hacks für die Fragen nach dem wichtigsten Bit lauten (Finden des Bits und Aufrunden auf die nächste Zweierpotenz). Ich weiß, dass es Hacks gibt, die ich nachschlagen könnte, und ich weiß von __builtin_clz
auf GCC, der natürlich nicht portabel ist.
Habe ich das Vorstellungsgespräch also nicht bestanden? Und wenn ja, sind Sie sicher, dass ich nicht geeignet bin, um in Ihrem Unternehmen Qt zu programmieren? Sie implementieren einen Filter, und Sie müssen nur an die Falsch-Positiv-Rate (wie viele Leute kennen die Bit-Twiddles, sind aber schlechte Mitarbeiter) und die Falsch-Negativ-Rate (wie viele gute Mitarbeiter haben die Bit-Twiddles vergessen) denken.
Natürlich gibt es bei allen Befragungen eine Falsch-Negativ-Rate. Die Kosten, die Ihrem Unternehmen durch die Einstellung eines schlechten Mitarbeiters entstehen, sind ziemlich hoch, also müssen Sie sicher sein. Aus diesem Grund denke ich, dass, wenn sich dieser Mitarbeiter als gut herausstellt, das wahrscheinlich mehr Glück als Urteilsvermögen seitens Ihres Unternehmens ist - Sie sollten niemanden als Qt-Programmierer einstellen, ohne seine Fähigkeiten mit Qt oder etwas Ähnlichem zu testen. Wie hoch sind die Kosten für ein zweites Gespräch mit jedem der drei besten Kandidaten, das von einem Ihrer Qt-Mitarbeiter geführt wird, im Vergleich zum Wert der Einstellung des besten Kandidaten? Wie hoch sind die Kosten für die Zeit, die Sie für das Gespräch mit den Kandidaten aufwenden müssen, da dieses Gespräch keinen Einfluss auf die Einstellungsentscheidung hat?
Denken Sie daran, dass verschiedene Arten von Programmierern über unterschiedliche Kenntnisse verfügen, und stellen Sie sicher, dass Ihre Fragen in engem Zusammenhang mit der Art von Programmierer stehen, die Sie suchen. In diesem speziellen Fall beweist es, dass der Befragte Zeit damit verbracht hat, Bit-Twittering zu betreiben, möglicherweise in der jüngeren Vergangenheit. Auf der positiven Seite ist das Zeit, die sie mit Programmieren verbracht haben. Auf der Minusseite ist das Zeit, die sie nicht damit verbracht haben, Qt zu schreiben und zu lernen.
Ich wäre besorgt, wenn jemand nicht wüsste, wie man den lsb prüft, und nicht wüsste, dass der lsb für positive Werte und für negative Werte im 2er-Komplement 1 für ungerade Zahlen und 0 für gerade Zahlen ist. Das liegt daran, dass ich von Programmierern erwarte, dass sie wissen, was eine binäre Darstellung ist. Ich wäre auch besorgt, wenn jemand denken würde, dass x & 1
in irgendeiner Weise besser sein dürfte als x % 2
weil es bedeutet, dass sie einen schrecklichen Compiler benutzen ;-)
Ich wäre nicht allzu beunruhigt, wenn sich jemand das Bit-Twiddle für popcount nicht merken könnte. Etwas mehr, wenn sie den Code dafür nicht herausfinden könnten, nachdem du ihnen einen starken Hinweis auf eine der einfacheren Möglichkeiten gegeben hast: "Wie kann ich den Popcount einer 2-Bit-Ganzzahl mit Bit-Twiddling berechnen? OK, jetzt schreibe eine Zeile, die das parallel für jedes der oberen und unteren 2 Bits einer 4-Bit-Ganzzahl macht. OK, jetzt schreibe einen 32-Bit-Popcount".
1 Stimmen
Was bedeutet "ältestes" Bit gesetzt? Das habe ich noch nie gehört.
0 Stimmen
Mit "ältestes" meine ich den Index des höchstwertigen Bits, das gesetzt ist, z. B. in 00101110 wäre es 6 oder 7, je nachdem, ob das LSB durch 0 oder 1 indiziert ist
1 Stimmen
@Ashelly, das ist wahrscheinlich ein sprachspezifisches Problem. Im Polnischen zum Beispiel heißt das höchstwertige Bit "najstarszy bit", was übersetzt "das älteste Bit" bedeutet.
0 Stimmen
@Micha, ich stelle diese Frage auf Polnisch :-)
0 Stimmen
Ich habe versucht, diese Frage zu programmers.stackexchange.com zu verschieben, aber sie wurde stattdessen geschlossen. Versuchen Sie, dort zu fragen.