Чи допустимі переливи буфера у випускника-розробника? Ми встановлюємо планку занадто високо? Які очікувані можливості випускників / молодших інженерів?
Контекст:
В даний час ми набираємо на посаду молодшого розробника, працюючи головним чином на C в Linux.
В рамках процесу ми вимагаємо від кандидатів скласти тест на код у вільний час у С.
Поки ми відхилили двох кандидатів, виходячи з того, що їх код, хоча і читабельний, і в одному випадку досить ідіоматичний, зазнав помилок переповнення буфера через незв'язаний буфер.
[Редагувати]:
- Ми прямо просимо перевірити помилку, код якості продукції.
- Ми надаємо рамки для тестування та складання кандидатів
[Оновлення]:
У результаті цього потоку та розмов, які ми мали з іншими розробниками особисто, ми змінюємо те, як ми проводимо тести коду та на кого націлюємось під час набору персоналу.
Ми вирішили, що кандидат не може виправити або зрозуміти переповнення буфера означає, що він буде непридатний для роботи, яку ми виконуємо, зокрема, він би взяв більше наставництва, ніж нам комфортно. Тому ми все одно будемо відхиляти кандидатів, які не можуть зрештою подати надійний зразок коду.
Однак ми вжили певних заходів, щоб зробити процес прийняття на роботу більш продуктивним як для нас, так і для кандидатів.
Зокрема:
- Ми робимо наше очікування більш чітким, з чітким поясненням того, що ми маємо на увазі під якістю виробництва, і попередженням про те, що код повинен бути надійним щодо введення та помилок.
- Зараз ми пов'язуємо кандидатів з ресурсами оборонного програмування та бібліотекою стандартних стандартів С в описі тесту коду.
- Ми змінили нашу цільову аудиторію з молодших розробників та випускників, щоб націлити людей на певний досвід.
- У випадку, якщо поданий код якимось чином не вдається, але в іншому випадку буде прийнятий, ми надаємо мінімальний тестовий випадок, який спричиняє стан помилки і дає можливість кандидатам виправити свої помилки (якщо код не відхилено з якоїсь іншої причини). Ми також зазначимо проблемні лінії / функції, якщо це необхідно.
- Мета самих тестів тепер трохи змінилася від фільтра переднього кінця до шансу створити кращу картину кандидата, зокрема він повідомить нашу телефонну дискусію. Зважаючи на це, ми все ще готові відмовитись лише на основі коду.
[Оновлення 2015-07-09]: Енді Девіс з Nujob написав цікаву та релевантну статтю про використання тестування коду з точки зору кандидата, і статтю варто переглянути. Знайдіть його тут .