Тестовое задание для front-end разработчика

Вакансии

Спасибо за интерес к нашей компании. Для того, чтобы собеседование было предметным и эффективным, просим выполнить тестовое задание.

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

Результат выполнения задания просим выслать на job@metaquotes.net


Задача:

Реализовать визуализацию многолетних изменений температуры и уровня осадков в одном из городов России.


Требование к исходному коду:

  • исходный код должен содержать необходимые комментарии
  • аккуратность исходного кода будет оцениваться наряду с функциональностью приложения

Технические требования

  • нельзя использовать сторонние библиотеки для отрисовки графиков и работы с IndexedDb
  • приложение должно работать в последних версиях Chrome и Firefox


Шаблон интерфейса приложения:


Архив с заданием:


Техническое описание приложения:

  • по умолчанию пользователь должен видеть данные изменения температуры за весь период, то есть должны использоваться все данные полученные с сервера
  • пользователь должен иметь возможность указать период с точностью до года
  • интерфейс должен оставаться отзывчивым даже при использовании настройки производительности в DevTools (CPU 6x slowdown). Все элементы управления должны быть доступны пользователю в любой момент времени.
  • для отображения графика использовать Canvas
  • на клиенте данные хранятся в двух таблицах: temperature и precipitation
  • для каждой таблицы данные запрашиваются с сервера отдельно и если в таблице отсутствуют данные, выполняется запрос к серверу
  • запрос к серверу выполняется по требованию, то есть только при обращении к локальной базе, если нужные данные не найдены
  • запись за отдельный день должна хранится как отдельный объект/запись в IndexedDB