Pull to refresh

Comments 36

До собеседования не дошло(
Ох уж эти тестовые задания, я на них свой навык vuejs прокачал до уровня, чтобы можно было нырнуть в уютный пет-проект и вылезать из него только чтобы поработать.
До этого я неоднократно начинал его делать, но сталкивался с тем, что без нормального фронтэнда приложение вообще не вдохновляло.

Такое ощущение, что я его делал, но в менее подробном варианте и на react. Да ещё и на позицию senior/tech lead.


На практике, я так и не понял, что ждали от меня, поскольку завернули с формулировкой о недостаточном уровне построенной архитектуры.
Отсутствующем требовании, которое невозможно реализовать без понимания развития проекта: микрофронты, сильно или слабо связанный монолит, особенности бизнес-логики, компетенций команды.


Но, все к лучшему, я пришел в проект на порядок сложнее. Но ТЗ тоже было.

Первое правило тестовых заданий — никогда не делайте тестовые задания!


Ну не знаю, на свою первую работу по фронтенду я устроился, написав тестовое задание. (3 дня писал, дважды переписывал), зато сразу на позицию миддла. Без тестового задания со мной даже разговаривать бы не стали.
На самом деле все зависит от адекватности компании и тестового задания. Однажды мне предложили сделать полноценную CRM для фитнес клуба с красивым дизайном, регистрацией, лендингом, откуда будут падать заявки и интерфейсом для работы персонала с кучей функционала (на вакансию backend). Конечно, от таких предложений я отказывался. Тестовое должно быть объемом максимум на пару часов, а ни как не на недельку — другую. Я сам, когда провожу собеседования в первую очередь общаюсь с людьми о их опыте и навыках, задаю элементарные вопросы, только если он подходит выдаю простое тестовое задание, в результате которого, я жду лишь подтверждения указанного самим человеком опыта.

Вы не смотрите их репозиторий? Не просите примеры написанного ими кода?

Конечно, если кандидату есть что показать из готового кода, я на это смотрю.
Мне просто интересно в предверии поиска работы, на что делается акцент и что может сыграть(хотя видимо индивидуально)
1) Опыт из резюме, который теоретически можно написать вообще любой
2) Репозиторий, куда можно положить теоретически не свои задачи
3) Ссылки на тостер и stackoverflow с хорошим рейтингом и множеством отвеченных вопросов (тут уже не придраться, показатель относительно объективный)
4) Live собеседование (но оно может не дать ясной картины, так как кандидат может волноваться и задачи можно дать лишь простые)

И получается что тестовое на пару часов наиболее объективный показатель
1) Опыт уж точно лучше писать реальный, максимально объективно, без переоценок. Адекватные компании ищут инженеров, которые решают нужные задачи, хорошему работнику прокачать опыт еще в одном стеке нужно немного времени.
2) Если я смотрю репозитории, то задаю вопросы, почему были приняты те или иные решения. Если кандидат скопирует чужие задачи, то быстро спалиться, хотя такого я не встречал, мне интересно как человек принимает решения.
4) На live собеседованиях, мне главное проверить не блефует ли человек, задаю вопросы от простейших и постепенно перехожу к коротким, не сложным задачам. Мне здесь важно оценить способность инженерно мыслить. По моему опыту хождения на собеседованиях, встречал разное, от абсурдного и смешного до профессионального, продуктивного общения. Встреча работодателя и кандидата — это наверное самое важное, здесь сразу можно понять с кем и как предстоит работать, решить нужно ли оно обоим.

Как люди относятся к колегам, которые за 7 лет работы не завели публичных репозиториев, потому что плохой код поделок "только для себя" выкладывать стыдно (да и кому он нужен?), а писать хороший код в хобби-проекте на недельку только чтобы покрасоваться, лениво? А дольше недели ничего не увлекает, и ещё и поэтому нет репозиториев, основанных на энтузиазме.

Часто в вакансиях, я вижу, что просят прислать примеры работ и без них даже лучше не обращаться. Все зависит от работодателя/HR. Если у человека уже есть примеры работ, это просто ускоряет собеседование. Я стараюсь всегда подготовить вопросы и задачи, которые непосредственно связанны с тем, над чем предстоит работать. И вообще, собеседование это двухсторонний процесс, где оба должны понять, получиться сработаться или нет. Посещая собеседования, я часто сталкивался, что либо собеседующий совсем не компетентный или ищет работников похуже себя и задают странные вопросы, иногда даже не связанные с разработкой. Часто встречал, что дают задачи из своего пула задач, особенно этим любят промышлять студии. Задачи из пула, это конечно интересно, но такие задания, должны быть уже оплачиваемые. Вот адекватные собеседования, это редкость, в основном бывают в крупных продуктовых компаниях.
Подготовка к собеседованию означает, что таки придётся потратить месяц-другой, чтобы написать в публичный доступ хоть что-то, лишь бы красиво и достаточно сложно для себя?
А я — пришёл на квартирник, выпивал с будущим шефом.
Видимо это популярное тестовое

Задания совпадают на 100%, то я даже знаю на какую вакансию вы подавали. Скажу так что вы много не потеряли, условия работы немного строгие.

Можно подскажу? В твоем компоненте Button можно избежать повторения кода, если использовать this.$router.push(path)
Да, можно. Спасибо. Я там оставлял комментарий в начале файла. Да, можно сделать как вы говорите, но я уже точно не помню что меня толкнуло разделить на button и router-link. Может для большей семантики кода.
UPD: дополнил вступление для лучшего объяснения цели статьи

Никогда не понимал тестовые задания, решением которых является калька кода из todo.mvc или просто туториала по языку. Особенно когда его нужно начать с нуля, где в итоге большая часть времени уйдет на разворачивание окружения.


Мне больше нужно было проверять такие, чем выполнять, и каждый раз возникает вопрос "и на что смотреть? Все как везде, что оно проверяет?"


Сам я обычно делаю тестовое задание, которое должно занять не более часа и представляет собой готовое решение, в которое нужно встроить свой, например, редакс стор (все страницы и компоненты уже готовы), и просто оживить страницу. Но чтобы не было так скучно, обычно есть хитрый компонент или хитрое АПИ у сервера, в итоге можно сделать разными способами и потом на собеседовании рассказать почему решили задачу именно так.

TypeScript на Vue 2 спорно применять, слабая поддержка.
Для поддержки TypeScript есть сторонние библиотеки и они вполне хорошо работают.
Странно, что для тайм тревела изобрели свой велосипед с массивом, vuex тут вполне подошел бы. Кстати, это был бы дополнительный бонус, показывающий, что вы умеете работать с vuex.
А как еще создать эту фичу без массива? Велосипеды тоже иногда полезно писать. Про Vuex согласен, с другой стороны они не хотят лишнего кода. Чужие мысли не прочитаешь
Увы, сейчас 90% вакансий, требующих выполнения тестового задания, вообще не отвечают после его выполнения, либо, в редких случаях, отписываются явно шаблонным сообщением «Вы нам не подходите, но мы занесем ваш контакт в нашу базу на всякий случай».
А самое печальное — половина ТЗ требует как минимум 1 дня на выполнение (Т.к. требуется писать с нуля, иногда без использования фреймворков).

Отдельный маразм: Потребовали написать одностраничник с формой обратной связи. Без фреймворков. Вообще всё ТЗ было так составлено, что проще всего его выполнять «в старом стиле», через функциональный подход, двумя файлами (вывод страницы и обработчик формы).
А в итоге выяснилось, что они ожидали чутьли не полноценный аналог Laravel…
Суровые времена настали
А посмотри еще NUXT ru.nuxtjs.org. Если сделать тестовое задания с использованием верхнеуровневого фреймворка, можно показать, что не просто что-то умеешь, а готов делать комплексные проекты.
Nuxt это круто, но в данном случае просили SPA. Я знаю, что в NUXT тоже есть режим SPA, но NUXT это про SSR в первую очередь.
Выполнить тестовое задание или показать в нем навыки — разные вещи.

Тестовое задание дается с целью отличить программиста знакомого с технологиями от специалиста работающего с ею. Можно не знать vue и выполнить задание по примерам из доков. Это не отражает Ваш уровень.

В задании запретили использовать сторонние библиотеки — ну покажите, что можете без них.
Если в тексте формулировки ИЛИ, то нужно выбирать более ценное решение из предложенных. Согласитесь, если бы приложение было обернуто в docker, написаны какие-нибудь jest тесты, в коде использовались разные приемы организации css: scope / modules / бэм, подключен vuex, реализована асинхронная подгрузка, js'ки заменить на ts'ки с внятным описанием типов (или вообще собрать на vue3), добавить I18n, нормально оформить конфиг, т.д.; то результат работы выглядел бы куда интереснее, чем простое выполнение.

PS: На месте фаундера не ответить было некрасиво.
Это уже не тестовое задание на пару дней, а полноценный проект.
сайта.ехническое заданиеехническое заданиеехническое задание

поправьте
я когда работу искал, делал кучу тестовых заданий. В итоге попал на ту, в которой вообще его не было. Больше не буду этим заниматься. Если надо, покажу им что-то из своего гитхаба)
Имеет смысл определять для себя целесообразность выполнения задания, исходя из всех факторов.
* Поможет ли выполнение собственному развитию,
* хорошо ли оно будет смотреться в собственном портфолио,
* приложил ли работодатель усилия, чтобы познакомиться с вами.

Если работодатель (или специально обученный работник от него) молча высылает задание в ответ на отклик, или даже учтиво сначала задаст пару незначащих вопросов — это звоночек, что задание будет выполнено бесполезно, если только не пригодится себе — для развития и портфолио.

Если даже потом этот собеседник настаивает на уточнении сроков и ведёт общий диалог — оценивайте исключительно с позиций собственной выгоды, на что тратить время — на другие собеседования и встречи, или в ущерб им тратить время на углубление в задание.

То же самое — если задание платное. Нет смысла разрывать период поисков на неорганично вписывающуюся в них мелкую работу. Если чувствуете, что работа над заданием мешает — отложите её до лучших времён.

Детали: habr.com/en/post/213913 (от 2014 года).
Sign up to leave a comment.

Articles