Нещодавно у мене було телефонне інтерв'ю з компанією. Після цього телефонного інтерв'ю мені сказали виконати коротке завдання з програмування (невелика програма; не повинно тривати більше трьох годин).
Я б продовжував обережно. Оцініть релевантність виклику на роботі і переконайтеся, що майбутня компенсація від роботодавця зробить 3 години вашого часу вартими.
Я сумніваюся у цінності цих типів тестів, і я скоріше буду судити когось про їхні минулі досягнення. Заздалегідь визначене коротке завдання не може нічого повідомити роботодавцю про те, що ти можеш зробити. Тільки те, що ви не можете зробити, і це швидко можна визначити за допомогою декількох запитань по телефону.
Тестування має своє місце. Задайте собі наступні запитання щодо тесту та відповідайте відповідно.
- Чи справедливий тест з урахуванням вашого поточного рівня кар'єри?
- Чи є в тесті чітко визначена правильна відповідь?
- Чи зацікавлений інтерв'юер у вашому потенціалі як людина, чи вони виявляють більший інтерес до результатів тестування (тобто наймані агентства для цього страшні).
- Чи є тест тим видом роботи, який би вам подобалося виконувати, чи це неоднозначна перевірка навичок (тобто тест, якщо ви знаєте синтаксис Java).
Мені лише безпосередньо доручено виконати завдання та ввести код.
Ви щойно відповіли на власне запитання.
Відразу я планував перекинути його на Github, написати тестовий набір для нього, використовувати Travis-CI (безкоштовну безперервну інтеграцію для публічних сховищ Github) для запуску тестових наборів та за допомогою CMake для створення Linux-файлів для Travis-CI.
Ні, це не те, що вас просили зробити.
Таким чином, не тільки я можу продемонструвати, що я розумію, як використовувати Git, CMake, Travis-CI та як писати тести, але я також можу просто посилатися на сторінку Travis-CI, щоб вони побачили результати тестів. Я подумав, що зробить це трохи зручнішим для інтерв'юера.
Я б обережно демонстрував навички занадто рано чи занадто пізно в процесі співбесіди. Якщо ви відчуваєте, що не почували себе добре на співбесіді, а зараз намагаєтесь компенсувати, то це не вийде. З іншого боку, занадто багато, коли не запитують, демонструє над нетерпінням. Це може призвести до того, що роботодавець зможе протистояти пропозиціям з меншою заробітною платою, ніж ви очікували.
Однак я трохи переживаю, що робити все це для відносно простого завдання буде виглядати погано.
Так, це виглядає погано. Вирішення їх виклику одним рядком коду буде набагато вражаючим, ніж повноцінний проект.
З мого досвіду, це не те, як ви виграєте співбесіду, але це один із способів втратити роботу. Тест коду - питання контролю якості. Кожна компанія, яка використовує тести коду, приймаючи на роботу людей, робить це, оскільки раніше вони не використовували тести коду. У них був поганий досвід того, як хтось ковзає через тріщини інтерв'ю, які не повинні мати.
Вони візьмуть ваш вихідний код і передадуть його по офісу. Люди будуть коментувати це, і те, що ви не хочете, щоб вони говорили, це "Він допустив цю помилку? Але витрачав час, використовуючи Git, CMake і Travis-CI. Який ідіот, коли пропустив цю помилку".
Це воно. Ви програли.
Вони хочуть знати, що ви можете кодувати, тому що вони не можуть вас цього навчити. Гіт, CMake і Travis-CI можна легко навчити.