Чи є якісь формальні дослідження ефективності питання FizzBuzz? [зачинено]


23

Побачивши сьогодні це питання щодо варіації інтерв'ю FizzBuzz, а також побачивши інші питання, пов'язані з цим навколо, я повинен запитати: чи є якесь офіційне дослідження наскільки це ефективно як метод інтерв'ю? Є багато людей, які кажуть, що це відфільтровує якийсь божевільний відсоток кандидатів (95% + у деяких випадках), але наскільки це корисно для пошуку хороших програмістів / розробників?

Проведено деякі дослідження, які показують, що м'які навички можуть бути кращими показниками, ніж важкі навички вибору хорошого кандидата на посаду. Крім того, можуть бути деякі проміжні причини, коли стільки кандидатів не зможуть пройти цей тест (нервозність, думка, що "це трюк" тощо).


Виходячи з коментарів поки що, схоже, що ідея, що стоїть перед питаннями FizzBuzz, полягає в тому, щоб визначити, чи має людина хороші (достатньо) навички кодування, щоб їх далі розглядати. Я не зовсім впевнений, що FizzBuzz насправді робить це. Крім того, пам’ятайте, що FizzBuzz фільтрує дуже великий відсоток кандидатів дуже рано в процесі найму, що може означати, що значна кількість хороших кандидатів віддаляється рано, тому що вони не можуть вирішити дурні проблеми досить швидко.

Також зазначу, що дивлячись на ефективність FizzBuzz - це те, що можна повністю зробити кількісно. Це на відміну від погляду на "придатність" чи "пристрасть", які є дуже мінливими та дуже ненауковими (але все ще досить важливі для нових рішень щодо найму).



16
Я не хотів би наймати кандидата, який не може кодувати FizzBuzz, хоча нервує.
Ерік Вілсон

На це не вказує стаття, на яку ви посилаєтесь. Це вказує на те, що ті, хто наймається там, мають високий рівень випадання. Але в ньому немає абсолютно ніяких даних про відхилені. Для мене це говорить про те, що компанії, ймовірно, роблять хорошу роботу, відмиваючи нетехнічних людей (як це було в центрі їх інтерв'ю), які не могли виконати цю роботу, але їм потрібно зробити додаткову фільтрацію для людей, які відмовляються вчитися або відмовляться вести себе добре як члени команди
Martin York

2
@JMG: Вам потрібно бути більш точним (навпаки, що саме). Якщо вони не можуть виконати технічну частину роботи (Hard Skills), чому ви думаєте, що у них є шанс. Якщо ви наймаєте людей, які за визначенням не можуть виконати роботу, яку вони наймають, ви не думаєте, що рівень вибуття буде 100%. У процесі інтерв'ю у нас є конкретні розділи, щоб дізнатися, чи буде кандидат найкращим чином підійти до команди та компанії. Але скільки б ми їх не любили особисто, немає сенсу наймати людину без навичок кодування.
Мартін Йорк

3
Так як відповідь на if their hard skills was weighted more evenly with their soft skills. Ні . Важка майстерність буде одним фільтром. М'які навички - це додатковий фільтр. Це не ви випадок, коли ви можете мати, A or Bви повинні мати A and B. Яким чином я читав статтю, яку ви пов’язали. Вони вже відфільтрували А, вони щойно зробили погану роботу по фільтруванню для Б.
Мартін Йорк

Відповіді:


14

З давніх часів я прочитав дослідження про співбесіду (тому я не можу конкретизувати сайт, за що я вибачаюся), але загальне правило полягає в тому, що люди наймають на основі м'яких навичок, але немає кореляції між цим та виконання. Тестування на конкретні навички може працювати, для особистості - ні (за вимірюваними даними).

Майже всі вважають, що їхні спеціальні методи інтерв'ю працюють, дані свідчать, що ви, мабуть, не повинні турбувати інтерв'ю (частина інтерв'ю "скажіть про себе", на відміну від об'єктивного тестування), оскільки кандидати, відібрані інтерв'юерами, не кращі, але інтерв'юер показує упередженість до екстравертів, людей, демографічно схожих на інтерв'юера, високих людей, привабливих людей тощо. (Можливо, ви повинні найняти людей, які добре справляються з тестами і погано в іншому інтерв'ю, оскільки вони, очевидно, так само хороші на роботі, але може важче покинути свою компанію).

Я, напевно, розраховую на те, що за це спалахне, зазвичай хтось, кому я це скажу, "але ми використовуємо метод X і він насправді працює для нас", але якщо ви не

  1. найняти деяких людей, які не пройдуть ваш процес співбесіди,

  2. не кажіть своїм колегам, хто пройшов, а хто ні, і

  3. порівняйте результати роботи тих, хто пройшов, та тих, хто цього не зробив, використовуючи попередньо узгоджені об'єктивні критерії

у вас дійсно дуже мало уявлення, чи працює ваш процес. На жаль, ефективність інтерв'ю по суті важко оцінити.

Якщо вам цікаво, експерименти роблять такі речі, як просити людей оцінювати кандидатів на основі стенограмів інтерв'ю, від кандидатів, яких насправді вже прийняли на роботу (серед багатьох інших методик). В ідеалі експериментатори мали б людей проводити співбесіди, вибирати кандидатів, стирати пам'ять інтерв'юера, випадковим чином вибирати, кого найняти з числа кандидатів, і порівнювати результати роботи кандидатів, використовуючи точні, об'єктивні критерії проти рейтингів, які дають інтерв'юери, але цей експеримент є важко зняти.

Тож, хоча я не бачив конкретних досліджень FizzBuzz, саме така річ може виявити ефективність у науковому тестуванні. Якщо він виявить 95% кандидатів, то мені буде цікаво, чому - це було винайдено настільки абсурдно легко, що тільки некомпетентний програміст не міг його пройти, і важко зрозуміти, як притупити FizzBuzz. Цікаво, який відсоток пройти тест "Привіт, світ"? Тест "змусити комп'ютер робити щось, що-небудь" тест?


+1 Тому я задаю питання: наймання по суті дуже ненаукове, але ефективність FizzBuzz можна принаймні перевірити досить кількісно.
joshin4colours

@psr: З мого досвіду опитування нових випускників у США, BSCS або MSCS, близько 90% з них не можуть програмувати. Чому? Тому що заклади мають фінансовий стимул підтримувати їх у програмі оплачувати навчання.
кевін клайн

1
@kevin cline: Вигляд відходу від теми, але в моїх MSCS я не думаю, що вони були на цьому зосереджені на нижній лінії. Однак вони були надзвичайно стурбовані тим, щоб виділити себе як академічну програму порівняно з торговою школою, і так багато професорів трохи поглянули на просто програмування, а не, скажімо, на доведення дійсно незначних речей щодо машин Тьюрінга.
пн

Я думаю, ви не помічаєте факту, що мета людей, які займаються наймом, - не стільки знайти найкращий можливий матч, скільки просто намагатися уникнути катастроф. Навіть у добрі економічні часи люди, які пропонують роботу, переповнюються претендентами, багато з яких безнадійно не кваліфікуються. Ви просто повинні мати якийсь швидкий фільтр, щоб визначити кількість претендентів на керовану кількість. Первісний пункт тесту fizbuzz полягав у тому, щоб зробити це як частина екрану телефону. Якщо пул людей, які проходять Fizzbuzz, навіть трохи збагачений для людей, які насправді можуть кодувати, це допомога.
Чарльз Е. Грант

@Charles E. Grant - Я розумію FizzBuzz - я фактично використовую такі запитання під час інтерв'ю (хоча більшість всіх проходить). Я здебільшого відповідав на те, що "м'які навички можуть бути показниками, ніж важкі навички" (sic), про які я читав відповідні дослідження, і в ході дослідження м'які навички допомагали в інтерв'ю, але мені не могло бути показано, щоб допомогти в роботі. Або, точніше, інтерв'юери не могли визначити кандидатів, які були б ефективними в роботі, якби вони намагалися визначити їх на основі м'яких навичок.
psr

33

Мета fizzbuzz - не знайти хороших програмістів, це знайти певний клас поганих програмістів, це люди, які не можуть реалізувати простий алгоритм. Ваше запитання на зразок запитання, скільки чемпіонів Nascar визначено під час іспитів на посвідчення водія. Між тим, кого ви точно не хочете наймати, і тим, кого ви точно робите, є багато середини.

Є й інші класи "поганих" програмістів, які потребують різних методів ідентифікації, як, наприклад, ті, хто не володіє цією мовою або має поведінкові проблеми. Однак програмісти, які погано сприймають фіззбуз, практично не бажані, тому тест настільки часто рекомендується. Незалежно від того, чи є надмірно територіальний програміст, чи той, хто повинен передати навички новою мовою, "хороший" чи "поганий", залежить набагато більше від потреб та переваг роботодавця.


2
Але що робить "поганого" програміста? Ви хочете, щоб хтось, хто є дивовижним кодером, але видаляє всі зареєстровані правки, щоб "свій" код проекту? Або хтось, кому може знадобитися невелика допомога, переходячи від C до Java, але повністю присвятить себе проекту?
joshin4colours

4
@JMG: Існує школа думки, яка повідомляє нам, що "ти теж не хочеш". Якщо у них є такі непридатні звички, як останні, то "Не наймайте"; якщо вони не мають загальних, але потрібних навичок "Не наймайте". Якщо про кандидата є щось, що змушує вас вагатися з приводу найму їх для цього проекту "Не
наймайте

@TokenMacGuy Я думаю, що школу хоча б називати школою "Близький нескінченний час та ресурси" :)
joshin4colours

@Karl чи можете ви включити це у свою відповідь?

5

FizzBuzz не в тому, щоб визначити хороших програмістів, це в тому, щоб усунути поганих / факерів. Якщо кандидат не може пройти тест FizzBuzz, він не знає, як програмувати, і не повинен претендувати на посаду з програмування.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.