KazanExpress /
frontend-test-task
Тестовое задание на позицию Front-End разработчика в KazanExpress; TODO-приложение, возведённое в абсолют.
51/100 healthLoading repository data…
KazanExpress / repository
Тестовое задание на позицию Front-End разработчика в KazanExpress;
A transparent discovery signal based on current public GitHub metadata.
This score does not audit code, security, maintainers, documentation quality, or suitability. Verify the repository and its current documentation before adoption.
Здесь находится описание тестового задания на позицию Front-End-разработчика в KazanExpress.
Если вы нашли его случайно - попробуйте сделать! Авось и вас к себе возьмём.
Задание разбито на подзадачи.
Есть абстрактное приложение с 1 компонентом. В текущей реализации есть несколько проблем. Нужно найти каждую проблему и описать, почему это проблема. Так же необходимо предоставить рабочее решение и описать как минимум еще 2 варианта решения. Требования: компонент должен работать без props ("кинул" компонент на страницу с любой вложенностью элементов/компонентов и он работает).
Ссылка на CodeSandbox: https://codesandbox.io/s/wizardly-euclid-xmm1p
Задача: сохранить функциональность и провести рефактор.
Опционально: описать где и почему были внесены изменения.
Ссылка на CodeSandbox: https://codesandbox.io/s/admiring-black-niwj0
Есть данные с бэка:
const payload = {
type: "BOTTOM_BLOCK",
elements: {
button: {
type: "primary",
text: "Buy",
action: "buyProduct",
},
textField: {
text: "This is my text, my text is amazing!",
},
icon: {
value: "/* svg */"
},
},
};
Создать Proxy и "добавить" поле elementsCount которое возвращает количество элементов в поле elements (в данном примере пэйлоада результат будет 3).
Описать как можно с помощью Proxy сделать поиск в глобальном скоупе и вызов функции, которая указана в поле action (если есть) при обращении к элементу вызовом функции. Иными словами, чейн payload.elements.button() запускал бы функцию buyProduct в глобальном скоупе.
Опционально: выводить кастомную ошибку, если поля action нет у элемента.
.md файл в котором описаны решения и указаны ссылки на jsbin/jsfiddle/codepen/codesandboxSelected from shared topics, language and repository description—not editorial ratings.
KazanExpress /
Тестовое задание на позицию Front-End разработчика в KazanExpress; TODO-приложение, возведённое в абсолют.
51/100 health