Коротка версія
Якщо робота полягає у підтримці програми, навички, які потрібно перевірити під час співбесіди:
Можливість зрозуміти велику базу коду з її документацією, одиничними тестами тощо.
Можливість рефакторингу коду та внесення змін, не порушуючи нічого.
Прохання людей читати код не допоможе вам оцінити ці здібності.
Довга версія
Вас запитали код написання? Якщо так, як зазначив Знак у своїй відповіді , цього достатньо. Якщо ми трохи узагальнимо, людина, яка пише чіткий, зрозумілий вихідний код, зможе прочитати вихідний код, написаний іншими людьми.
Якщо вас не попросили написати код, то, напевно, вас взяли на співбесіду людина з відділу кадрів. Такі співбесіди не можуть бути надто технічними та здебільшого нікчемними, оскільки вони не користуються вашими вміннями та здатністю добре працювати, а, скоріше, кількість років, які ви провели в коледжі та інші речі, що не мають нічого спільного з роботою.
Є ще кілька причин, щоб не просити читати код для роботи з технічного обслуговування:
1. Це важко зробити надійно
Конкретно, що б ти зробив, якби інтерв'ю? Зробіть так, щоб ваші кандидати читали код Який код? Якою мовою? Наскільки добре чи погано написано? З коментарями чи без них? З документацією чи без неї?
Що ще важливіше, що це говорить про кандидата? Наскільки добре він співвідноситься з самою кодовою базою даних?
Скажімо, у вас є застарілий додаток VB.NET для підтримки. Ви знаєте, що вихідний код здебільшого некрасивий і неперевірений, і кілька коментарів застаріли або вводяться в оману. Останні три місяці у вас був дуже вмілий розробник, який працював над рішенням; він відремонтував і підрозділ випробував найважливіші частини програми, додав коментарі, де була необхідність у коментарях, і, що найголовніше, написав детальну документацію про загальну архітектуру, критичні частини та підводні камені.
Зараз ви наймаєте розробника для підтримки цієї бази коду. Під час інтерв'ю ви б дали частину спадкового (некрасивого неперевіреного) коду чи той фрагмент коду, який було відновлено попереднім розробником?
Ви б дали документацію? Для того, щоб прочитати документацію, кандидату потрібно буде витратити хоча б кілька годин. Це робить неможливим це робити під час співбесіди.
2. Читання короткого фрагмента коду не те саме, що читання коду знайомого проекту
Пам'ятайте, робота полягає в підтримці проекту. Важко підтримувати велику базу коду перші дні чи тижні, коли ти не знайомий з проектом. Набагато простіше це зробити через кілька місяців, коли ви написали всю документацію і чітко бачите загальну базу коду.
Найголовніше, щоб перевірити, чи буде людина ефективною в ці місяці . Вам байдуже, чи людина не зможе взагалі нічого зрозуміти перші два дні.
Запросивши людину прочитати короткий фрагмент коду з нуля, ви не перевіряєте, як ця людина змогла б мати справу з знайомим, задокументованим кодовим числом тисяч LOC .
3. Підтримання вихідного коду - це не просто його читання
Підтримуючи базу коду, ви змінюєте її. Розробник, який просто читає код, не приносить нічого корисного для своєї компанії.
Корисні навички - це вміння перетворювати код рефактора , додавати одиничні тести , передбачати вплив зміни тощо. Ви не перевіряєте ці вміння, просячи людину прочитати код під час співбесіди.