Я дещо збентежений, чому "ви можете видалити це?" вважається цікавим питанням. Кожен, хто написав COM-код на C ++, знає, що найперше, що ви дізнаєтесь у перший день базового програмування COM, - це як правильно "видалити цей". Я вважаю, що може бути корисним визначити, чи хтось бреше у своєму резюме про написання програм COM, але як загальне питання C ++, якщо хтось не зміг відповісти на нього негайно, то вони не будуть добре підходити для моєї команди.
У будь-якому випадку, якщо ваша мета - створити питання, яке вимірює навички C ++, то вибір одного питання - це неправильний шлях. Переверніть його. Правильне запитання:
На шкалі від одного до десяти, наскільки хороший програміст на C ++?
Це не питання, яке отримує від вас потрібну відповідь. Усі говорять "вісімки" незалежно. Питання, яке дає вам відповідь, яку ви хочете:
Добре, значить, вам вісім. Яка проблемна область, з якою, на вашу думку, семерою буде важко працювати?
І бум , тепер ти їх отримав. Якщо кандидат вважає, що "щось пов'язане з рекурсією" або "коли використовувати віртуальний деструктор" - це щось таке, з чим семеро важко, тоді ви знаєте, що вони знають трохи про рекурсію або деструктори чи що завгодно і що їхні знання не йдуть набагато далі.
Це повинно дати вам набагато кращу калібрування, ніж придумати якісь дрібниці. Якби ви змусили мене створити хороший єдиний запитання про факт про C ++, я, мабуть, запитав би щось на кшталт "як би ви створили семантичний аналізатор та генератор коду для частини компілятора C ++, що займається віртуальними методами викликається деструктором базового класу? " Вам слід задати питання, які стосуються справжніх речей, над якими ви працюєте, і над якими кандидат, швидше за все, працюватиме. Це проблема, над якою мені довелося попрацювати один раз, і я думаю, що це дасть досить гарне уявлення про те, як людина розробляє семантичні аналізатори та генератори коду, а також свої знання C ++.