Comments 27
Как человек, побывавший по обе стороны «стола собеседований», хочу сказать пару слов в защиту ребят.
Профессионал никогда не будет делать лишнего.
И для вывода содержимого таблички совсем не нужна трехуровневая архитектура.
Вы просите продемонстрировать владение микроскопом, а в задании требуете — забить гвоздь,
Так зачем потом удивляться, что профессионал выбрал молоток?
Вы сами признаете, что среди отсеявшихся были хорошие разработчики.
Вам не кажется, что тестовое задание, придуманное для поиска хороших разработчиков, но отсевающее их — плохое тестовое задание?
Профессионал никогда не будет делать лишнего.
И для вывода содержимого таблички совсем не нужна трехуровневая архитектура.
Вы просите продемонстрировать владение микроскопом, а в задании требуете — забить гвоздь,
Так зачем потом удивляться, что профессионал выбрал молоток?
Вы сами признаете, что среди отсеявшихся были хорошие разработчики.
Вам не кажется, что тестовое задание, придуманное для поиска хороших разработчиков, но отсевающее их — плохое тестовое задание?
Согласен, что в реальной жизни для таких заданий не стоит делать трехуровневую архитектуру.
Но тут другой случай.
1. Вы — соискатель на вакансию ведущего(!) программиста, вы должны понимать, что ваше приложение должно выделяться от программы junior уровня.
2. В задании сказано «заложить в архитектуру возможность последующего развития и масштабируемости». Весь код в codebehind одной странички — это архитектура?
Имхо, профессионал должен суметь преодолеть свою лень и сделать ТЗ качественно, иначе какой он профи, если допускает тяп-ляпничество?
А насчет хорошести задания — подумаем
Но тут другой случай.
1. Вы — соискатель на вакансию ведущего(!) программиста, вы должны понимать, что ваше приложение должно выделяться от программы junior уровня.
2. В задании сказано «заложить в архитектуру возможность последующего развития и масштабируемости». Весь код в codebehind одной странички — это архитектура?
Имхо, профессионал должен суметь преодолеть свою лень и сделать ТЗ качественно, иначе какой он профи, если допускает тяп-ляпничество?
А насчет хорошести задания — подумаем
UFO just landed and posted this here
а разве надо быть телепатом, чтобы писать код по стандартам кодирования?
надо быть телепатом, чтобы предотвращать SQL-Injection?
вспомните, что вы пишете тестовое задание, чтобы показать свои умения, а не для галочки.
надо быть телепатом, чтобы предотвращать SQL-Injection?
вспомните, что вы пишете тестовое задание, чтобы показать свои умения, а не для галочки.
Иногда соискатели впадают в крайность и предлагают сверхсложные варианты, со своими велосипедами и нетрадиционными подходами. Изучать такое ТЗ интересно, но в чаще всего соискатель получает доп. минус.
Еще хотел бы отметить, что соискатель получает плюсик, если помимо основных требований к заданию выполнил что-нибудь еще от себя.
Мне аж захотелось пройти у вас собеседование :)
Тут обязательно нужны телепатические способности! Или как можно понять, что можно от себя делать, а что нельзя? О_о
Как я понял, вы ищите на работу себя.
Это, конечно, хорошо… но раз уж Вы уже работаете, может, стоит давать претендентам помимо тестового задания ещё и список пожеланий?
Не думаю, что тестовое задание так сильно портит белая табличка с серыми контролами иди же стандартный дизайн. Вы же не верстальщика нанимаете.
Вам, как я понял, требуется, чтобы простое тестовое задание было выполнено со всей серьезностью, но не слишком серьезно, а то «предлагают сверхсложные варианты, со своими велосипедами и нетрадиционными подходами». В таком случае лучше сразу ставить людей в известность, что вы ищете некую золотую середину.
Вам, как я понял, требуется, чтобы простое тестовое задание было выполнено со всей серьезностью, но не слишком серьезно, а то «предлагают сверхсложные варианты, со своими велосипедами и нетрадиционными подходами». В таком случае лучше сразу ставить людей в известность, что вы ищете некую золотую середину.
>Далее выполняю анализ верстки, тут в основном смотрю на наличие файла стилей, на оформление html разметки, на название элементов. Ничего сложного, но и этого многие не делают. Табличную и дивную верстку не разделяю, но очень хорошо, когда можно посмотреть и на то и на другое.
После этих слов я выпал в осадок. Программист программирует, верстальщик делает верстку! Каждому свое. Я уже не раз пробовал такой подход когда верстальщик сам правит шаблоны (XSL), а я только формирую данные для отдачи и вы знаете это намного лучше чем брать верстку и самому прикручивать. Меньше проблем с тем кто виноват, к тому же программист после того как сделал страницу начинает писать дальше, а верстальщик доводит до ума. Максимум что я делал это тестовая страница чтобы проверить работу ссылок и поведения, дальше не моя забота. Производительность увеличивается с плеч программиста убирается нудная и неинтересная работа с версткой. Рекомендую. А базовому XSL'ю верстальщика можно за неделю научить.
После этих слов я выпал в осадок. Программист программирует, верстальщик делает верстку! Каждому свое. Я уже не раз пробовал такой подход когда верстальщик сам правит шаблоны (XSL), а я только формирую данные для отдачи и вы знаете это намного лучше чем брать верстку и самому прикручивать. Меньше проблем с тем кто виноват, к тому же программист после того как сделал страницу начинает писать дальше, а верстальщик доводит до ума. Максимум что я делал это тестовая страница чтобы проверить работу ссылок и поведения, дальше не моя забота. Производительность увеличивается с плеч программиста убирается нудная и неинтересная работа с версткой. Рекомендую. А базовому XSL'ю верстальщика можно за неделю научить.
Вообще это долгая и холиварная тема. Хороший программист-вебник должен знать то, ради чего он все делает. А делает он свои замысловатые конструкции ради того, чтобы, в конечном итоге, то или иное представление сложенных в хранилище данных было представлено пользователю в виде чего? Бинго! В виде HTML-верстки!
В первую очередь просмотр HTML-верстки говорит об аккуратности программиста. Мешанина из атрибутов style в тегах, кодовые вставки javascript и css вперемешку с обычным html, соблюдение DTD, да и просто наличие всех закрывающих тегов могут о многом рассказать ревьюверу.
И если человек не удосуживается хотя-бы табами отделить вложенные элементы — подумайте, что будет у него в исходниках приложения?
Профессионал — он на то и профи, чтобы от его глаз не ускользал малейший изъян. А так, знаете, можно много говорить о том, что Кесарю — кесарево, но специфики это не изменит. По долгу службы программисту-вебнику нужно быть специалистом не только в профильном языке, но и во всей структуре веб-приложения. И HTML-верстка — неотъемлемая часть этой структуры.
В первую очередь просмотр HTML-верстки говорит об аккуратности программиста. Мешанина из атрибутов style в тегах, кодовые вставки javascript и css вперемешку с обычным html, соблюдение DTD, да и просто наличие всех закрывающих тегов могут о многом рассказать ревьюверу.
И если человек не удосуживается хотя-бы табами отделить вложенные элементы — подумайте, что будет у него в исходниках приложения?
Профессионал — он на то и профи, чтобы от его глаз не ускользал малейший изъян. А так, знаете, можно много говорить о том, что Кесарю — кесарево, но специфики это не изменит. По долгу службы программисту-вебнику нужно быть специалистом не только в профильном языке, но и во всей структуре веб-приложения. И HTML-верстка — неотъемлемая часть этой структуры.
Я знаю CSS получше некоторых верстальщиков с которыми работаю, я в теме.И частенько подсказываю. А бывает и прошу помощи у них из-за своей невнимательности. Но это не значит что я должен делать сизифов труд. Порядок должен быть тут я согласен, но не согласен чтоб работа с HTML должна быть постоянной. Этим должны заниматься другие. HTML как язык разметки довольно прост для понимания, CSS чуть сложнее. Но сравнивая задачи программиста и HTML верстки получается что вы стреляете из пушки по воробьям, вам то и обходится это должно дороже в итоге.
спасибо, я полностью разделяю ваше мнение
В свое время я отлично выполнил подобное задание. Написал простой (не путать со словом примитивный) код, и отдельно написал обоснование почему там нет 30 приблуд, которые вы могли бы искать в ТЗ, но которым в этой задаче совсем не место.
Скажу кратко. Это — правильный подход.
Теперь слегка поясню.
Существует задание, кажущееся легким и простым, но это на первый взгляд. То, каким образом вы сумеете реализовать задачу, какими методами и функциями вы ее решите, поможет работодателю понять, в каких областях вы сильны, в каких плаваете, а какие вообще не знаете.
IT-разработчик должен не только хорошо знать свой фронт работ, но и иметь представление о смежных технологиях.
Выдавая ТЗ своим соискателям, я не ставил никаких четких задач, а отдавал все на усмотрение разработчика. Сможешь написать с использованием MVC — дерзай. Сможешь использовать CSS — используй. Умеешь кэшировать результат, что б всякий раз не обращаться к БД — покажи, что и это умеешь. Знаешь, каким образом можно еще улучшить продукт — покажи. Умеешь давать функциям и переменным грамотные, вменяемые и понятные имена — и тут тебе плюс в карму.
А в итоге я уже смотрел, кто как сумел выполнить задание. Выполнить не по указке сверху, а так, как ты умеешь относиться к коду, насколько грамотно ты реализуешь продукт. Потому что в конечном счете этот самый продукт будут поддерживать и развивать твои же коллеги.
Теперь слегка поясню.
Существует задание, кажущееся легким и простым, но это на первый взгляд. То, каким образом вы сумеете реализовать задачу, какими методами и функциями вы ее решите, поможет работодателю понять, в каких областях вы сильны, в каких плаваете, а какие вообще не знаете.
IT-разработчик должен не только хорошо знать свой фронт работ, но и иметь представление о смежных технологиях.
Выдавая ТЗ своим соискателям, я не ставил никаких четких задач, а отдавал все на усмотрение разработчика. Сможешь написать с использованием MVC — дерзай. Сможешь использовать CSS — используй. Умеешь кэшировать результат, что б всякий раз не обращаться к БД — покажи, что и это умеешь. Знаешь, каким образом можно еще улучшить продукт — покажи. Умеешь давать функциям и переменным грамотные, вменяемые и понятные имена — и тут тебе плюс в карму.
А в итоге я уже смотрел, кто как сумел выполнить задание. Выполнить не по указке сверху, а так, как ты умеешь относиться к коду, насколько грамотно ты реализуешь продукт. Потому что в конечном счете этот самый продукт будут поддерживать и развивать твои же коллеги.
А давая задание, вы говорите: «Покажи на что ты способен. Используй какие технологии знаешь».
Иначе получается вы ищете телепата, который должен догадаться о том как вы хотите.
Иначе получается вы ищете телепата, который должен догадаться о том как вы хотите.
Ну, если вы телепатами называете грамотных девелоперов, то пусть так.
Но если я ищу сотрудника в команду, то мне нужен человек, который пишет грамотный код и знает, какие подводные камни этот код могут ждать в дальнейшем (читайте — SQL Injection, высокая посещаемость и т.д.). А если он выполняет задание, что называется, «на отъебись», то такой результат ждет в конечном итоге его самого.
Но если я ищу сотрудника в команду, то мне нужен человек, который пишет грамотный код и знает, какие подводные камни этот код могут ждать в дальнейшем (читайте — SQL Injection, высокая посещаемость и т.д.). А если он выполняет задание, что называется, «на отъебись», то такой результат ждет в конечном итоге его самого.
Вы заблуждаетесь из-за того, что смотрите не глазами исполнителя.
Посмотрите глазами исполнителя. Тестовое задание — не "этот самый продукт будут поддерживать и развивать твои же коллеги", а это код, который на 90% и более будет выброшен и будет пустой тратой времени. Особенно в Вашем случае, где не конкретизируются требования.
Посмотрите глазами исполнителя. Тестовое задание — не "этот самый продукт будут поддерживать и развивать твои же коллеги", а это код, который на 90% и более будет выброшен и будет пустой тратой времени. Особенно в Вашем случае, где не конкретизируются требования.
Именно!
А так же подумайте, что движет хорошим разработчиком, который просматривает альтернативные варианты трудоустройства.
Скорее всего, перед ним нет цели срочно найти работу. Скорее всего «его и тут неплохо кормят», но он надеется, что где то может быть интереснее, может он хочет участвовать в чём то важном и значительном, а может ему нужно сменить обстановку, пообщаться с новыми умными интересными людьми. А вы ему в зубы типовое ТЗ, от таких его уже лет 5 тошнит :)
А впрочем..., спасибо таким как Вы, что сразу честно показываете какое болото вы предлагаете.
А так же подумайте, что движет хорошим разработчиком, который просматривает альтернативные варианты трудоустройства.
Скорее всего, перед ним нет цели срочно найти работу. Скорее всего «его и тут неплохо кормят», но он надеется, что где то может быть интереснее, может он хочет участвовать в чём то важном и значительном, а может ему нужно сменить обстановку, пообщаться с новыми умными интересными людьми. А вы ему в зубы типовое ТЗ, от таких его уже лет 5 тошнит :)
А впрочем..., спасибо таким как Вы, что сразу честно показываете какое болото вы предлагаете.
Тестовое задание как на блюдечке покажет мне, какой код в дальнейшем будет писать этот исполнитель. Тестовое задание требуется не для того, что б показать, что вы умеете пользоваться мануалами и выдергивать готовые решения из фреймворков.
Честно говоря как то у Вас слабо стыкуются: «ASP.NET-разработчики» и требования по оценке сделанного тестового задания, они (требования) больше похожи на системного архитектора + верстальщика + дизайнера + программиста = человек оркестр, однако.
Или если не сложно выложите точное задание, а не фразу: «Задание из разряда: вывести содержимое таблички, добавить возможность фильтрации данных, но при этом заложить в архитектуру возможность последующего развития и масштабируемости.» — которая ни вносит ни какой ясности, с какого перепою разработчик должен делать кроме кода и заложенной возможности расширения — ТЗ, дизайн, тесты…
Или если не сложно выложите точное задание, а не фразу: «Задание из разряда: вывести содержимое таблички, добавить возможность фильтрации данных, но при этом заложить в архитектуру возможность последующего развития и масштабируемости.» — которая ни вносит ни какой ясности, с какого перепою разработчик должен делать кроме кода и заложенной возможности расширения — ТЗ, дизайн, тесты…
к сожалению, текст задания выложить не могу.
прошу поверить мне на слово, что там все описано довольно подробно и четко.
даны рекомендации реализовать кеширование и разделить систему на слои и т.д.
перед получением тестового задания, кандидат имеет возможность (ну а по другому я себе и представить не могу) ознакомиться с требованиями к вакансии. Гм, для меня казалось очевидным, что эти требования в вакансии сразу дают понять, на каком уровне и при помощи каких технологий должно быть выполнено ТЗ.
я не ожидал, что фраза «Задание из разряда: вывести содержимое таблички, добавить возможность фильтрации данных, но при этом заложить в архитектуру возможность последующего развития и масштабируемости.» будет воспринята хабравчанами как текст нашего ТЗ. Это абсолютно не так, просто хотелось уменьшить размер статьи и сразу дать на очевидные ошибки.
так уж сложилось, что за весь мой период веб-разработки все мои коллеги и я обладали навыками: архитектор + DBA + верстки + программирования (front-end + back-end). Конечно, каждый навык развит в разной степени, тяжело развивать их всех сразу, но к этому стоит стремиться.
П.С. кстати, навыков дизайна и совершенного владения фотошопом нам не надо, желательно, чтобы было просто общее понимание юзабилити веб-приложений.
прошу поверить мне на слово, что там все описано довольно подробно и четко.
даны рекомендации реализовать кеширование и разделить систему на слои и т.д.
перед получением тестового задания, кандидат имеет возможность (ну а по другому я себе и представить не могу) ознакомиться с требованиями к вакансии. Гм, для меня казалось очевидным, что эти требования в вакансии сразу дают понять, на каком уровне и при помощи каких технологий должно быть выполнено ТЗ.
я не ожидал, что фраза «Задание из разряда: вывести содержимое таблички, добавить возможность фильтрации данных, но при этом заложить в архитектуру возможность последующего развития и масштабируемости.» будет воспринята хабравчанами как текст нашего ТЗ. Это абсолютно не так, просто хотелось уменьшить размер статьи и сразу дать на очевидные ошибки.
так уж сложилось, что за весь мой период веб-разработки все мои коллеги и я обладали навыками: архитектор + DBA + верстки + программирования (front-end + back-end). Конечно, каждый навык развит в разной степени, тяжело развивать их всех сразу, но к этому стоит стремиться.
П.С. кстати, навыков дизайна и совершенного владения фотошопом нам не надо, желательно, чтобы было просто общее понимание юзабилити веб-приложений.
Как вы советывать все любите. «Как следует выполнять… ». Да с чего вы вообще решили, что способны оценивать чьи то знания и задавать порядок выполнения тестовых заданий. Вы можете лишь рекомендовать, не больше.
Вы говорите про ТЗ, что оно должно выполняться. А в ТЗ у вас есть:
1. Какие технологие желательно применить
2. Какие стороны расширения
Если у вас паршивое ТЗ, то смысл к вам идти: в дальнейшем и работа так будет состоять из непонятных заданий вида «Догадайся, чего я любимый сегодня хочу».
Вы говорите про ТЗ, что оно должно выполняться. А в ТЗ у вас есть:
1. Какие технологие желательно применить
2. Какие стороны расширения
Если у вас паршивое ТЗ, то смысл к вам идти: в дальнейшем и работа так будет состоять из непонятных заданий вида «Догадайся, чего я любимый сегодня хочу».
Верно, после этой статьи следует написать другую: "Как следует составлять тестовые задания"
Вот, к примеру, автор утверждает:
Вот, к примеру, автор утверждает:
(… продолжение)
Не кажется ли нам, читателям, что это несовместимые требования: тестовое задание (по определению должно быть коротким, и советы давать всесторонне тестировать?
По поводу составления ТЗ. Однажды мне пришло ТЗ на 3 дня работы (если с отладкой), которое, я, конечно, выполнять не стал, но оно было очень подробно описано, нельзя было просто проигнорировать, автор явно что-то хотел. И, тем не менее, в этом очень подробном описании было 3-4 неопределённости, которые не давали возможности считать ТЗ полным. Я задал вопросы по ним (заодно с вопросом, почему дают такое длинное ТЗ, на что рассчитывают), но ответить по теме не удосужились (хотя ответ был), т.е. давать задание умеют (просто разослать кем-то заготовленный текст), а сделать своё же ТЗ качественным — нет.
Пожалуйста, проверяйте свои программы, давайте их потестировать друзьям и знакомым, а то создается впечатление, что программу и не запускали никогда.
Не кажется ли нам, читателям, что это несовместимые требования: тестовое задание (по определению должно быть коротким, и советы давать всесторонне тестировать?
По поводу составления ТЗ. Однажды мне пришло ТЗ на 3 дня работы (если с отладкой), которое, я, конечно, выполнять не стал, но оно было очень подробно описано, нельзя было просто проигнорировать, автор явно что-то хотел. И, тем не менее, в этом очень подробном описании было 3-4 неопределённости, которые не давали возможности считать ТЗ полным. Я задал вопросы по ним (заодно с вопросом, почему дают такое длинное ТЗ, на что рассчитывают), но ответить по теме не удосужились (хотя ответ был), т.е. давать задание умеют (просто разослать кем-то заготовленный текст), а сделать своё же ТЗ качественным — нет.
уважаемый, это мой личный блог, и в нем я выразил свое мнение и дал рекомендации по выполнению ТЗ.
жаль, что вы восприняли фразу «Задание из разряда: вывести содержимое таблички, добавить возможность фильтрации данных, но при этом заложить в архитектуру возможность последующего развития и масштабируемости.» как окончательный текст ТЗ и сделали скоропалительные выводы.
ТЗ хорошее и около 30% разработчиков присылают очень качественно выполненные по нему программы. Значит они или телепаты, или все-же профессионалы.
жаль, что вы восприняли фразу «Задание из разряда: вывести содержимое таблички, добавить возможность фильтрации данных, но при этом заложить в архитектуру возможность последующего развития и масштабируемости.» как окончательный текст ТЗ и сделали скоропалительные выводы.
ТЗ хорошее и около 30% разработчиков присылают очень качественно выполненные по нему программы. Значит они или телепаты, или все-же профессионалы.
>>Описание программы и наличие инструкции по развертыванию приложения.
Зачем для разворачивания hello world писать документацию, это было в задании? Если нет — никто не обязан это делать.
>>Пользовательский интерфейс — хоть задание и тестовое, но UI должен быть приятным глазу. Я, конечно не требую дизайна от А. Лебедева, но неряшливо разброшенные по белому холсту контролы плюсов не добавляют.
Программист редко бывает хорошим дизайнером, поэтому для отображения грида вполне сгодится наброски контролов на белом фоне. А iult вы видели у Лебедева красивые дизайны?
>> Далее выполняю анализ верстки,
Может еще сравнительную характеристику по всем браузерам и ОС? А че, лишний плюс соискателю не помешает.
>> Большинство разработчиков с БД работают через GridView + Object/LinqDataSource, вроде так проще и быстрее.
Проверим, умеют ли разработчики писать велосипеды.
>>Самая круть, если грид и пейджер разработчик реализует сам и еще использует свои user-контролы.
Это вообще какой-то идиотизм.
>>Далее смотрим на способ обработки ошибок. Какие способы логгирования используются? Куда перебрасывает пользователя при ошибке? Видит ли пользователь весь стек ошибки или ее лаконичное описание?
Error handling — это вообще отдельная тема и мне сложно найти 3 человек, у которых взгляды на этот вопрос будут полностью совпадать. Поэтому есть большая вероятность, что конкретный стиль конкретного человека вам банально не понравится, потому что он не такой как ваш.
>>Под конец изучаю предложенную схему кеширования (запросов к БД и страниц).
Для тестового приложения с гридом? Ну-ну.
>>Приятной редкостью является наличие Unit-тестов. Это сразу плюс в карму соискателя.
Это должно быть в задании.
И напоследок. Хороший программист, имхо, это человек, который умеет четко выполнить поставленное задание, а не тот, который из hello world превратит исследовательский центр НАСА по управлению летательных аппаратов.
И еще, главной проблемой работодателей является надменное отношение к соискателям, мол, мы тут все такие умные, а вы тут нет. Очень часто бывает с точностью до наоборот. И если вы не смотрите, что написано в резюме, почему вы его требуете?
Зачем для разворачивания hello world писать документацию, это было в задании? Если нет — никто не обязан это делать.
>>Пользовательский интерфейс — хоть задание и тестовое, но UI должен быть приятным глазу. Я, конечно не требую дизайна от А. Лебедева, но неряшливо разброшенные по белому холсту контролы плюсов не добавляют.
Программист редко бывает хорошим дизайнером, поэтому для отображения грида вполне сгодится наброски контролов на белом фоне. А iult вы видели у Лебедева красивые дизайны?
>> Далее выполняю анализ верстки,
Может еще сравнительную характеристику по всем браузерам и ОС? А че, лишний плюс соискателю не помешает.
>> Большинство разработчиков с БД работают через GridView + Object/LinqDataSource, вроде так проще и быстрее.
Проверим, умеют ли разработчики писать велосипеды.
>>Самая круть, если грид и пейджер разработчик реализует сам и еще использует свои user-контролы.
Это вообще какой-то идиотизм.
>>Далее смотрим на способ обработки ошибок. Какие способы логгирования используются? Куда перебрасывает пользователя при ошибке? Видит ли пользователь весь стек ошибки или ее лаконичное описание?
Error handling — это вообще отдельная тема и мне сложно найти 3 человек, у которых взгляды на этот вопрос будут полностью совпадать. Поэтому есть большая вероятность, что конкретный стиль конкретного человека вам банально не понравится, потому что он не такой как ваш.
>>Под конец изучаю предложенную схему кеширования (запросов к БД и страниц).
Для тестового приложения с гридом? Ну-ну.
>>Приятной редкостью является наличие Unit-тестов. Это сразу плюс в карму соискателя.
Это должно быть в задании.
И напоследок. Хороший программист, имхо, это человек, который умеет четко выполнить поставленное задание, а не тот, который из hello world превратит исследовательский центр НАСА по управлению летательных аппаратов.
И еще, главной проблемой работодателей является надменное отношение к соискателям, мол, мы тут все такие умные, а вы тут нет. Очень часто бывает с точностью до наоборот. И если вы не смотрите, что написано в резюме, почему вы его требуете?
Поздравляю, своим тестовым заданием Вы отсеяли хороших разработчиков :)
В смысле из тех, кого высоко ценят в других компаниях и без тестового задания к вам мало кто дошёл.
В смысле из тех, кого высоко ценят в других компаниях и без тестового задания к вам мало кто дошёл.
UFO just landed and posted this here
О боже, а паттерн composite и data mapper тоже нужно использовать, или сразу выгоните с собеседования?
Sign up to leave a comment.
Рекомендации к выполнению тестовых заданий