Comments 19
И больше не надо, чтобы проверить можно добавить опрос к статье:
- Я джун выберу кодинг
- Я джун выберу домашку
- Я миддл выберу кодинг… и т.д.
Из двух зол (кодинг интервью и кодинг на дом) я выберу интервью. Домашний кодинг ставит меня в еще более невыгодное положение и не дает никакой полезной информации:
- никто не проверит что какой-нибудь индус решал вашу задачку сам, а не всей деревней
- студент джун, миддл потерявший работу и синьор в отпуске могут потратить больше времени на вашу задачу чем я
- непредсказуемые критерии оценки и часто завышенные ожидания HR: "можно же было добавить комментарии, сделать тесты, использовать модные практики"
непредсказуемые критерии оценки и часто завышенные ожидания HR: «можно же было добавить комментарии, сделать тесты, использовать модные практики»
Э… У HR достаточно квалификации для проверки тестового? Тогда, наверное, разработчики там вообще рок-звёзды поголовно :-)
Не совсем точно выразился:
- HR не понимают сколько может занять решение задачи, поэтому требования часто противоречивы, а ожидания таковы что за 2 часа вы должны написать весь код, документацию к нему и обеспечить 100% покрытие тестами
- при этом требования которые озвучил HR могут отличаться от того что хотят увидеть разработчики проверяющие задачу, а критерии оценки часто опираются на собственные предпочтения разработчиков: использовал альтернативный подход, неизвестный DI фреймворк, неизвестный паттерн, слишком старая версия библиотек и ты в пролете
Я занимаюсь обучением. И я изначально именно из области очных тренингов. Любого нашего спеца и 10 лет назад и сейчас попросят провести демо урок. Тогда очно, сейчас по зуму. Разработчика курсов попросят сделать курс. Методолога - написать скрипт или сделать несколько слайдов.
Так что и вне программирования тестовые задания процветают.
Именно с ходу на заданную потенциальным работодателем тему? Или тема на ваш выбор (тогда это ближе к работе из портфолио)?
Если тема задана работодателем – сколько времени даётся на подготовку?
Я, может, чего-то не понимаю, но подготовка + урок выглядит, как полноценный рабочий день (а то и больше, если этой темой давно не занимались). Это нормально в качестве неоплачиваемого тестового задания в вашей профессии?
Всяко бывает. Иногда просят подготовить "домашнюю зарисовку" - тогда обычно просят минут 15-30 для демо, что редко больше часа подготовки. Но тему чаще всетаки дают свою. Иногда тему дают прямо на месте, обычно в этот момент проверяется скорее стрессоустойчивость. Могут ещё играть в "плохих слушателей" и смотреть как сможешь справиться.
Понятно что оценка будет разной - поплыть когда тестируют стрессоустойчивость это норм, вопрос через сколько минут, а поплыть на домашней зарисовке это ну такое себе...
На позиции методолога могут попросить полнодневный тренинг прописать в виде конспекта (сценария). Обычно достаточно достаточно общий, без деталей, просто посмотреть какой набор упражнений, инструментов и подходов в голове есть, и мне больше чем пару часов не приходилось делать задание.
Честно говоря, если работодатель интересен, то я на чтение информации о нем трачу сравнимое время.
Тестовые задания часто дают для того, чтобы посмотреть как кандидат поведет себя столкнувшись с неожиданными трудностями, как будет искать пути решения и тп. Давать сеньору задание написать FizzBuzz, чтобы посмотреть как он умеет кодить - такое себе...
Как раз задачи типа FizzBuzz вполне хороший тест. Ибо готовится к этому не надо, занимает 5-10 минут, а отсеить людей которые умеют хорошо говорить и на многое претендуют, но не в состоянии написать две строчки кода, позволяет быстро. К сожалению, такие кандидаты встречаются очень часто. Вы скорее всего поймете это дальше в ходе интервью в любом случае, но потратите очень много времени.
Написать его можно
— либо через if/elsif/else
— либо через switch/case
— либо через три return x if a,
— либо через один map
Но разработчик (с опытом раза в два больше чем мой) потратил два часа, написал класс на 200 строк и через два часа сказал, что еще не готово, надо покрывать его тестами.
С тех пор это моя любимая задачка на собеседованиях. Несколько фактов о решениях:
— Рекорд 40 секунд в лоб и 1.5 минуты с рефакторингом. И это был лучший разработчик из тех, кого я нанимал
— Есть джуны, которые решают за 2-3 минуты
— Есть «инженеры уровня Senior» которые не могут решить ее за 15 минут
И если последние не любят такие задачки, потому что они начинают на них нервничать, то я очень рад. Если разработчик нервничает на задачке уровня «три условия» — то как он будет работать со сложностью в приложении на 100 000 строк кода?
Повторюсь — это не задачка про красно-черные деревья, это не задачка про алгоритмы, это задачка на написание одного метода, которых разработчик в день должен писать десятки.
Что за задача?
У меня тоже была такая задачка и я долго удивлялся, откуда HR берут таких слабых кандидатов. Со временем выяснилось, что кандидаты нормальные. Просто задание абсолютно по-разному понимается разными людьми. Хотя автору оно кажется простым и понятным
В задачке три условия. FizzBuzz что ли? :)
"тонко настроенная IDE" – это выключенный word wrap чтоли?
— это дополнительные (и опять же настроенные под себя) внешние инструменты а-ля ReSharper, менеджер буфера обмена и т.п.
— это настроенное под себя расположение окон, иконок, меню, цветовая гамма, шрифт и т.д.
Если мне дать стандартную конфигурацию VS по умолчанию, и попросить там что-то сделать, я конечно что-то сделаю, но гораздо медленнее и с жуткими неудобствами для себя.
Почему инженеры уровня Senior ненавидят интервью с тестовым кодингом