
Я и сам до конца не знаю, является ли заголовок статьи кликбейтом или нет. Разберёмся в комментариях. Только давайте по-честному! Согласен с тезисами — напиши, что статья огонь, поставь лайк и всё такое. Не согласен — аргументируй, а не просто: «бред»! Есть что добавить (идеи, фишечки) — добро пожаловать в комментарии.
Привет, меня зовут Андрей Шпилевский, и в этой статье я расскажу, почему я делаю тестовое лучше большинства, а также дам советы, как проходить этот этап быстро и максимально эффективно. Тема достаточно большая, поэтому будет разбита на 3 части. Это первая и начну ее я, пожалуй, не с советов: ‘Делай так, спина болеть не будет’, а с лирического вступления, которое, на самом деле, важнее, чем какие-либо пункты.
Какая задача у тестового задания?
Задача-минимум — выполнить его и надеяться, что тебя пригласят на следующий этап.
Задача-максимум — сделать так, чтобы проверяющий подумал: "Интересно, интересно… Кто там? Андрей Шпилевский? Надо глянуть в LinkedIn, что за человек. Эй, Лёха! Смотри, какое тестовое один из кандидатов прислал…"
Зачем нам добиваться такого результата (максимум)?
Все просто. Это нужно, чтобы вероятность прохождения к следующему этапу была выше, что очевидно. Но также это нужно, чтобы у вас уже было преимущество на следующем этапе, был дополнительный плюсик. А он будет, так как человек, который проверяет тестовые, либо:
будет сам проводить техническое собеседование
будет вторым присутствующим специалистом на собеседовании
будет передавать интервьюеру фидбэк по твоему тестовому
В общем, хорошее качественное тестовое увеличивает шанс прохождения не только этого этапа, но и следующего, самого сложного (на мой взгляд), и этим нужно пользоваться.
Почему я так уверен в этом?
Я неоднократно получал положительные отзывы о своём тестовом задании в процессе прохождения технического интервью, и у меня сложилось впечатление (возможно, субъективное), что именно эти собеседования проходили легче, а конверсия в офферы была выше.
Также я сам неоднократно нанимал фронтенд-разработчиков, и хорошо выполненное тестовое задание для меня являлось более весомым аргументом в принятии решения о найме, чем заученные ответы на теоретические вопросы. И я хочу рассказать про одно из тестовых, которое мне очень понравилось.
История
Это было около двух лет назад (а пишу об этом я сейчас, что уже, на мой взгляд, о многом говорит). Я искал фронтенд-разработчиков в Ташкенте. Тестовое было достаточно простым: нужно было сделать небольшой проект, используя публичный API — swapi.dev (если кто не знает, там много эндпоинтов для получения информации о различных сущностях из вселенной Star Wars). По дизайну требований не было никаких. «Просто покажи, что можешь/хочешь» — основная идея тестового.
Как же его выполнил запомнившийся мне кандидат… При запуске проекта стартовой страницей была анимация, идентичная заставке из начала фильмов о «Звёздных войнах».

Эти жёлтые буквы улетали в далёкий космос, но это были не просто буквы! Эти космические символы складывались в мысли, из которых я понял следующее:
Кто делал тестовое и как его зовут (за кодом стоял человек).
Краткую информацию о нём.
Почему он хочет работать в нашей компании.
И после этой презентации я с воодушевлением перешёл к поиску его профиля в LinkedIn, а уже только потом — к проверке кода. Это буквально был глоток свежего воздуха среди остальных, похожих друг на друга, обезличенных тестовых заданий. Код, в свою очередь, ничем примечательным, не отличался, однако я хотел провести встречу с ним больше, чем с другими кандидатами, и практически уже был готов взять его в команду. Да, звучит эмоционально. Но эмоции — это нормально для людей, и кандидату в данной ситуации нужно было вызвать их ровно так, как это делают маркетологи, блогеры, писатели и т. д.
К сожалению, дело до технического собеседования так и не дошло. Он успел согласиться на оффер другой компании до того, как я успел с ним пообщаться. Надеюсь, его забрал Lucasfilm⚔️.
Что я хочу этим сказать?
Мне, лично, и думаю многим, подобный подход (можно ли это назвать «продуктовым»... хз, с натяжкой) к решению задач импонирует. Человек пишет код, а еще креативит и презентует себя и проект — всё! Срабатывает «эффект ореола», и этот человек становится ещё и интересным собеседником, и с хорошими софтами, и отличным мужем…
И я, лично, выбирая из двух кандидатов, где один — герой этой истории, а второй — самый обыкновенный нормальный программист, при прочих равных выбрал бы этого Скайуокера.
"Но ведь есть тестовые, в которых прописаны жёсткие требования или в которых нельзя скреативить" - скажешь ты. Конечно, конечно есть, и их большинство. Поэтому я предлагаю немного другой подход, при этом не теряя из виду главную цель выполнения тестового. А цель, напомню: пройти дальше, вызвать эмоцию, запомниться.
И этот подход/процесс далее я буду упоминать как «упаковка тестового».
«Упаковка тестового»
1. Задеплой тестовое
Вроде банально, но почему-то мало кто это делает, хотя усилий для этого нужно совсем немного, а времени — ну маааксимум час. Плюсы:
Доступность твоего решения. В этом случае техспециалист может даже не скачивать твой проект — он посмотрит, потыкает UI и заглянет в твой код на GitHub.
Упрощение проверки. У проверяющего не возникнет нюансов с окружением: разные версии Node.js, Angular, зависимости и т. д. Есть люди, которые не смогут запустить проект в течение 5 минут и просто перейдут к следующему тестовому.
Демонстрация твоих, пусть и базовых, навыков в CI/CD. Если говорить коротко — просто меньше барьеров.
2. Мета теги (seo)
Если мы говорим про рынок найма в СНГ, то практически вся переписка с рекрутерами у меня была и остается в Telegram. И выполненное тестовое рекрутер, скорее всего, тоже отправит техническому специалисту не по почте, а через Telegram или другой мессенджер — не суть важно.
Важно то, что первый контакт будет таким:

А без мета тегов вот так:

Чувствуешь разницу?
Рекрутер вряд ли обратит на это внимание, но вот специалист — обязательно. И твои мета-теги скажут ему: "Он шарит за SEO. Он внимателен к деталям".
А среди прочих вкладок с тестовыми твоих конкурентов, среди бесчисленных дефолтных тайтлов и Angular-фавиконов будет это:

Кстати, поменяй favicon, просто, для полноты картины.
3. Заполни README.md
Там прикрепляем ссылку на задеплоенный сайт, гайд по запуску проекта, а также можно написать послание для проверяющего — что-то вроде сопроводительного письма, только уже не для рекрутера. Да и вообще, здесь достаточно широкое поле для действий.
4. Welcome page || intro || preview… Название не придумал
Теперь самое интересное — презентуем себя и свою работу. Что должно быть в этой презентации:
Имя и фамилия. Пусть проверяющий привыкает к фамилии будущего сотрудника.
Фото. Можно добавить, если оно хорошего качества, нейтральное и вписывается в UI. Если тебе не 50 лет (эйджизм), то фото поможет создать ассоциацию твоего фейса с это хорошо выполненной работой. На собеседовании техспециалист увидит тебя не в первый раз, а впечатление уже будет положительным.
Ссылки (информация о вас, контакты). Указываем ссылки на LinkedIn, Telegram, GitHub, почту и, главное, на твое CV. Но важно не пихать все подряд. Например, если LinkedIn не оформлен должным образом — лучше не добавлять (но лучше его дооформить).
Название компании. Просто показываем индивидуальный подход.
Вакансия + ссылка. Проверяющий может просматривать разные тестовые под разные позиции, поэтому нужно указать, на какую вакансию ты претендуешь (точно так, как в описании вакансии), и какой грейд указан. Также добавляем ссылку на вакансию.
Даты и сроки тестового. Указываем дату постановки задачи (когда рекрутер скинул тестовое), сроки выполнения и дату сдачи. Например, ты отправил решение тестового в пятницу, а рекрутер передал его в понедельник. Мы таким образом защищаемся от возможных задержек и подчеркиваем, что задачу выполнили в срок.
Описание тестового задания. Это помогает получить контекст при просмотре твоей работы другим работодателем.
Ссылка на репозиторий. Если надо объяснять, то не надо объяснять.
Важно!
Эта презентация должна быть компактной — лучше уложить всю информацию в один экран. Всё, кроме описания задания, должно помещаться сразу. Описание же можно оформить как ссылку на внешнюю страницу или отдельную вкладку внутри приложения.
При этом и на главной странице, и на странице описания должна быть кнопка “Перейти к решению”.
Общие рекомендации
Сделай один стартовый проект для всех будущих тестовых. Это ускорит их выполнение, так как там уже будут настроены Prettier, ESLint, NgRx и другие вещи. Можно дополнять его на постоянной основе, и каждое следующее тестовое будет лучше предыдущего.
Храним тестовые в GitHub + в задеплоенном виде. Если попросят выполнить тестовое, которое ты уже делал — предложи скинуть готовый вариант. Соглашаются 50/50, но если соглашаются — это супер. Во первых - ты экономишь время. Во вторых - быстро переходишь к следующему этапу.
Когда накопилось 10+ образцовых тестовых, можно просто перестать их делать. У меня в планах сделать один сайт с собранными тестовыми и отправлять его рекрутерам вместо выполнения нового. Не все согласятся, но мне все и нужны. Данный подход подойдет тем, кто не страдает недостатком предложений и в этом случае цель просто сэкономить время.
Вывод
Хорошо сделанное тестовое — это 100% от того, что от тебя ожидают. Если ты “упакуешь” плохо решенное тестовое, это чуть поможет, но не сильно. Однако хорошее тестовое + “упаковка” — это уже 105, 110, а может и 150 процентов (посчитать точно невозможно — всё индивидуально).
Но одно очевидно (два):
✅ “Упаковка” тестового повышает шансы.
✅ Готовый стартовый проект экономит тебе время.
И как раз о том, что еще должно быть в проекте, я расскажу во второй части статьи. На данный момент ее можно прочитать у меня на boosty бесплатно. Если первая часть зайдет на habr'е - то вторую также опубликую здесь.
Комментарии (21)
Metotron0
17.02.2025 04:44Много отсылок на linkedin, но он ведь заблокирован в России. Неужели его смотрят?
Или укажите, что вы имеете в виду преимущественно зарубежных работодателей.
Пошёл смотреть свой аккаунт линкедина, он заблокирован, просит что-то там подтвердить через QR-код именно с телефона, а на телефоне почему-то прокся к нему не пускает, по этой же ссылке на компе опять открывается QR-код. Ой, не так уж и хотелось.
Metotron0
17.02.2025 04:44Тю-ю, оно дальше хочет поснимать меня на камеру. Нет уж. У меня голова не мыта. И вообще, это же всего лишь какая-то там соц. сеть. Многовато на себя берёт.
andreishpileuski Автор
17.02.2025 04:44многие сидят по vpn, а многие находятся не на территории РФ. Можете пропускать LinkedIn, основная суть-то не в нем. Прилагайте ссылку на красиво оформленный github, тоже ок
itsukenberg
17.02.2025 04:44Автор прав на 146%.
Но как быть с ситуацией, когда компании не предлагают тестовых заданий, потому что соискатели отказываются от выполнения тестовых?
Или ситуация меняется и соискатели уже начинают быть готовы потратить своё драгоценное безработное время на бесплатное тестовое задание?andreishpileuski Автор
17.02.2025 04:44Сейчас соискателей больше, чем раньше (по откликам по крайней мере). Тестовое - классный вариант отсеять 90% откликнувшихся. из 1000 сделают только 100. Некий этап воронки найма, чтобы не смотреть cv тех, кто не так уж и сильно нужна работа, либо он не может сделать это тестовое. Кончено, не все компании дают тестовые, но эта практика жива и я думаю, будет жить еще долго.
SergeiZababurin
17.02.2025 04:44Я бы с другой стороны посмотрел. Это хорошая возможность отсеять 90% компаний ))
тут видимо по интересам. По моим ощущениям. Тестовые задания мне давали только очень плохие компании. Сильным компаниям это не нужно.andreishpileuski Автор
17.02.2025 04:44Если у Вас много предложений - согласен, выполнять не за чем. Только если Вам сильно импонирует компания/вакансия.
Мне предлагали делать тестовые разные компании, и хорошие, и не очень, я не увидел такой закономерности.
andreishpileuski Автор
17.02.2025 04:44Лично для меня тестовое важнее, чем тех собес (когда я в роли нанимающего), потому что мне не очень важна теория человека. Важно, чтобы человек делал задачи хорошо и в срок. Тестовое это показывает. я тех собесе мне остается только проверить, сам ли он это писал и понимает ли он, что там написано. Все, человек готов к выполнению тасок)
HungryGrizzzly
17.02.2025 04:44Мне кажется, сейчас тестовое задание уже не актуально (для мидлов и синьоров есть gpt, а для джуна... тоже есть gpt) Более того, многие тестовые задания просто просматривают, так как их прилетает много и все они похожи друг на друга. Если ты отправил свой код слишком поздно, то его могут просто не увидеть)
У меня лично ни разу не было даже ос при отправке тестового задания, хотя в половине случаев я старался)
По поводу выявления технических навыков, мне очень понравилась практика во время собеса давать сложный код(не легаси и спагетос, а просто, сложный код) и просить интервьюируемого объяснить, что в этом коде происходит и для чего он нужен.
Практика показывает, что на этом этапе отваливаются ребята, заучившие мат часть, но не понимающие, как она работает. И тестового не надо)
iHateNicknames
17.02.2025 04:44До чего мы докатились. Статья про то как красиво оформить то, чего не должно существовать в природе. А как за это задание оформляют тестовую зп? В конверте с бантиком?
kirbi1996
17.02.2025 04:44Есть анекдот на эту тему, как отличить джуна мидла и сеньора
Если пришёл на собеседование в рубашке значит джун, если нет значит перед тобой мидл или сеньор
Далее просим сделать тестовое если послал и ушёл это был сеньор, если согласился сделать перед тобой мидл
SergeiZababurin
А где ссылки на гитхаб, на тестовые задания которые описываются ? А то рекомендаций много, а результата не видно.
andreishpileuski Автор
Сергей, разбил стать. на несколько частей, указал это в статье. в следующих будет обязательно
SergeiZababurin
Надеюсь что бы ссылки получить не надо будет выполнять тестовое задание )))
И если бы человек вставил в тестовое задание видео в котором он снял как он делает это видео по технологиям семидесятых, я бы ещё больше восхитился )))
https://codepen.io/TimPietrusky/pen/AGrxGb
andreishpileuski Автор
Представьте, что статья это ТЗ) Сделайте свой собственный стартовый проект с уникальным дизайном для будущих тестовых. Примените все что знаете, дополняйте его периодически, когда видите что-то новое хайповое, добавляйте экспериментальные фичи туда сразу. Это же романтика).
А просто взять и форкнуть мой стартовый проект можно прям сейчас, я просто статью еще не дописал, поэтому нет ссылок). Но найти не сложно.
SergeiZababurin
Да это бред. Зачем мне тратить время на бесполезное что то ? Мне что делать нечего ? Так говорить это не уважать мое время.
У меня пять проектов в одном которые соединить надо, а буду бесполезную вещь не пойми для кого делать , а он даже не говорит сколько мне за это заплатит.
не проще ли найти людей которые оценят реальный опыт ?
andreishpileuski Автор
Если Вам не нужен стартовый проект - не делайте. Если нужен, но не хотите тратить время и деньги - нужно подождать пока автор предоставит ссылки.
andreishpileuski Автор
"по технологиям семидесятых" - я б тоже охренел). Но это не совсем то, что надо, нам JS нужен, он еще тогда не планировался)
SergeiZababurin
Дак а суть то одна и та же. Из ничего надо сделать что то. Если человек умеет думать он программу и на калькуляторе напишет