Skip to content

Latest commit

 

History

History
151 lines (87 loc) · 15.8 KB

File metadata and controls

151 lines (87 loc) · 15.8 KB

Требования по направлению Frontend

Цель

Кандидату необходимо создать веб-сайт связанный с тематикой “кинематография” (аналог IMDb или Кинопоиск).

Описание

Представьте, что ваш друг работает в молодой компании, занимающейся анализом фильмов и сериалов, а также созданием подборок для пользователей. Для расширения бизнеса компании необходим веб-сайт, который позволит посетителям искать фильмы, просматривать трейлеры, изучать описания и биографии участников киноиндустрии. Поскольку у компании нет собственного WEB-отдела, они объявили закрытый конкурс. Ваш знакомый пригласил вас участвовать, сказав, что в случае успешного результата компания предложит вам работу, поэтому стоит постараться. Задача конкурса состоит в том, чтобы самостоятельно сформулировать проблему, найти бизнес-решение, придумать соответствующие бизнес-функции клиентской части (Frontend) приложения и связать все компоненты единой концепцией. У вас нет ограничений в идеях или четкого видения приложения, в том числе в техническом плане. Ваше решение может быть любым, чтобы продемонстрировать ваши сильные стороны.

Критерии

  • Креативность и инициативность

    Кандидату надо будет сформулировать проблему, найти её бизнес-решение, придумать соотвествующий бизнес-функционал приложения и связать компоненты единой мыслью (проблематикой). При этом создаваемое решение не должно копировать уже существующие сайты.

  • Использование Best practices

    Frontend - это быстроразвивающаяся среда. Всегда приветствуется использование современных технологий, практик, подходов, API, библиотек и возможностей JS/Браузеров.

  • Гибкость и адаптивность

    Корректное отображение приложения на разных устройствах (адаптивное веб-приложение).

  • UI/UX

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

  • Качество

    Ваше решение должно быть легко запускаемым, без критических ошибок и понятным для чтения.

  • Производительность

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

Допущения

  1. Для работы большинства сайтов требуется бэкенд, предоставляющий данные. В рамках выполнения данного задания нет необходимости создавать полноценный бэкенд в том числе соответствующий критериям задания. Можно, например, использовать публичные или условно-бесплатные API, статичные данные, json-server, mockapi, использовать Fullstack фреймворк (Next.js, Nuxt.js и любой другой), попросить написать бэкенд знакомого, можно использовать готовые сервисы с публичных репозиториев на Github/Gitlab и так далее. В случае использования какого-либо бэкенда необходимо кроме ссылки на решение приложить ссылку на бэкенд и инструкцию, как им пользоваться.

  2. В разделе "UX/UI" вам не обязательно быть профессиональным дизайнером — можно воспользоваться уже существующими UI-библиотеками компонентов, готовыми дизайн-системами или макетами. Вы можете создать приложение с незамысловатым дизайном, но важно, чтобы компоненты имели ясную структуру, шрифты были разборчивыми, а элементы интерфейса не перемещались произвольно, не перекрывали друг друга и не имели других ошибок, которые могут негативно повлиять на впечатление пользователей от сайта.

Как отправить работу на проверку

  • Git

    Ваш проект обязательно должен быть реализован с использованием инструмента git. Также необходимо опубликовать его на одном из веб-сервисов, основанных на системе git (например, github), и обеспечить доступность проекта путем создания публичного репозитория. Помните: важно применять инструмент git на протяжении всего процесса разработки. Проекты, в которых присутствует всего один коммит, будут рассмотрены во вторую очередь.

  • README.md

    В репозитории проекта, обязательно оставьте файл в формате markdown под названием README.md. В этом файле должно быть краткое описание приложения, несколько скриншотов, а также инструкция по установке всех необходимых зависимостей и запуску проекта.

  • Видеоролик

    Следует подготовить видео продолжительностью 5-10 минут, в котором будет презентовано ваше приложение. Формат видео может варьироваться (например, это может быть доклад, презентация или трейлер), однако основное внимание уделите тому, что оно должно служить для оперативного ознакомления руководства лаборатории с вашим проектом.

FAQ

Этот раздел может со временем обновляться. Если у вас возник вопрос, на который здесь нет ответа, вы можете задать его в чате набора.

  1. Каким образом будет оцениваться выполненная работа?

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

  2. Возможно ли применять другие технологии или API, не указанные в разделе «Полезные материалы»?

    Да, возможно. Все, что есть в разделе «Полезные материалы», собрано специально для вашего удобства, чтобы вам не пришлось искать дополнительные источники или API. Однако мы не накладываем на вас никаких ограничений, и вы имеете возможность использовать любые другие технологии или API.

  3. Какие фреймворки или технологии можно применять?

    Единственное условие, которое мы устанавливаем, - это использование для реализации функционала на стороне клиента языков программирования, соответствующих ECMAScript стандартам. Это может быть JavaScript, TypeScript, CoffeeScript или любой другой язык, который компилируется или транслируется в JavaScript. Тем не менее, в некоторых случаях мы можем сделать исключения, например, если используются инструменты или технологии, преобразующие код в WebAssembly. В таких ситуациях мы рекомендуем обратиться в чат набора, где вам подскажут, допустимо ли использовать данные технологии.

  4. Можно ли работать в команде над заданием?

    Задание должно быть выполнено индивидуально. Мы хотим оценить именно ваши навыки и подход в разработке Frontend части веб-приложений. Тем не менее, в разделе «Допущения» вам разрешается обратиться за помощью к знакомым для реализации бэкенда или получения рекомендаций по дизайну вашего приложения.

  5. Какой должен быть объём и технический уровень работы?

    Не обязательно разрабатывать админскую панель, создавать 150 разных компонентов и 90 уникальных страниц только ради демонстрации проделанной работы. Главное, чтобы ваш сайт был содержательным, показывал понимание проблемы и предлагал эффективное бизнес-решение. Если из вашего представленного решения будет понятно, что и зачем сделано, какими навыками вы владеете или нет, но в каком направлении хотите развиваться и есть ли у вас к этому стремление, то это будет замечательно.

Полезные материалы