Тестовое задание разработчик UI
Вакансия
Направление: Desktop разработчик WPF, Avalonia (Junior 50к-100к на руки)
Задание 1. Проектирование интерфейса редактора этикеток
Допустим, необходимо реализовать визуальный редактор этикеток, а именно интерфейс, позволяющий пользователю вручную размещать и редактировать элементы на макете.
Редактор должен поддерживать следующие типы элементов:
- Штрихкод
- Многострочный текст с форматированием (RichTextBox)
- Прямоугольник
- Эллипс
- Линия
- Изображение
Каждый элемент должен:
- отображаться на макете этикетки;
- по клику выделяться;
- перемещаться мышью;
- иметь возможность изменяться по размеру.
Какие элементы, контролы или библиотеки вы бы использовали для реализации такого интерфейса в настольном приложении?
Как вы реализуете логику выделения, перемещения и изменения размера элементов?
По результатам будет устное обсуждение на последующем созвоне.
Задание 2. Реализация компонента: интерфейс печати
Допустим, программа должна уметь печатать этикетки на разных типах принтеров:
- стандартные Windows-принтеры (через драйвер);
- промышленные устройства (Zebra, SA TO, TSC и др.), работающие по собственным протоколам (например, ZPL, TSPL, SBPL и т.п.).
При этом код, отвечающий за бизнес-логику, не должен зависеть от конкретной модели принтера.
Разработайте интерфейс IPrinter, который будет использоваться для абстракции взаимодействия с
любыми типами принтеров.
Требуется самостоятельно продумать, какими методами и свойствами должен обладать данный интерфейс.
Формат:
- Код интерфейса
IPrinter(на языке C#).