Job VC

Android Developer (Middle)

Unknown · workua · 67 000 – 112 000 грн
Open original ↗

Співбесіда призначається тільки після виконання тестового завдання!
Технічні вимоги:

Досвід роботи: понад 2 рoки комерційного досвіду розробки для Android.

Google Play Billing: глибоке розуміння покупок у додатках та автоматично поновлюваних підписок.

SDK для реклами: досвід роботи з AdMob.

Мова програмування: вільне володіння Kotlin та корутинами.

Фреймворки інтерфейсу користувача: досвід роботи з Jetpack Compose та XML.

Архітектура: знання MVVM, Clean Architecture та принципів SOLID.

Мережі та дані: досвід роботи з Retrofit, JSON та Room.

Бажані кваліфікації:

Медіація реклами: досвід роботи з платформами медіації.

MMP: досвід роботи з партнерами з мобільних вимірювань, такими як Adjust або AppsFlyer.

Аналітика: навички роботи з Firebase та іншими аналітичними платформами.

A/B-тестування: досвід впровадження технічної інфраструктури для A/B-тестування.

Ключові обов’язки:

Розробка та підтримка функцій для Android-додатків.

Технічне впровадження та управління життєвим циклом підписок.

Інтеграція та оптимізація мереж мобільної реклами.

Співпраця з командами дизайнерів та бекенд-командами для інтеграції нових функцій.

Вирішувати проблеми, налагоджувати та оптимізувати продуктивність програм.

Тестове завдання: Інтерактивний каталог піци
Огляд
Мета цього завдання — розробити інтерактивний додаток для вибору піци. Ми цінуємо чисту архітектуру, плавну роботу та ваше вміння оживити інтерфейс за допомогою продуманих взаємодій та анімацій. Додаток має суворо відповідати наданому макету Figma.
Обсяг проєкту та вимоги
1. Функціональні екрани

Анімований Splash-екран (прелоадер):

Відображення початкової послідовності завантаження, як показано у файлі Figma.

Анімація показує, як ціла піца поступово «збирається» з 8 шматків.

Анімація запуску повинна плавно переходити на головний екран після успішного отримання даних.

Екран каталогу піци:

Карусель:
Плавний механізм із прив’язкою до елементів для перегляду доступних піц.

Інтерактивний вибір розміру:

Перемикання між розмірами
(S, M, L)
має бути функціональним.

Візуальний зворотний зв’язок:
Зображення піци повинно динамічно змінювати свій розмір (анімовано) відповідно до обраного варіанту.

Відповідність цін:
Кожен розмір має бути прив’язаний до своєї конкретної ціни з відповіді API.

Кількість та ціна в реальному часі:

Функціональні кнопки
«+»
і
«-»
для зміни кількості.

Відображення ціни:
Окреме текстове поле, що показує загальну вартість
(ціна обраного розміру x кількість)
, яка миттєво оновлюється при взаємодії користувача з елементами керування розміром або кількістю.

Детальний перегляд:
Реалізуйте спосіб перегляду інгредієнтів шляхом взаємодії із зображенням піци високої роздільної здатності (масштабування/жест «щипка»).

2. Нефункціональні UI-елементи (лише статичні)
Щоб зосередитись на основній взаємодії та продуктивності, наступні елементи
не потребують функціональної реалізації:

Кнопка «Назад»:
логіка навігації не потрібна.

Кнопка «Подобається» (серце):
керування станом обраного не потрібне.

Кнопка «Додати»:
логіка додавання до кошика або збереження стану не потрібна.

3. Дані та технології

Дані:
Отримайте та відобразіть весь вміст (назви, описи, пов’язані ціни/розміри) за допомогою GET-запиту. API-точка входу:
https://oursongapp.com/api/pizzas

Зображення:
Працюйте із ресурсами високої роздільної здатності, забезпечуючи належне кешування та плавне відтворення.

Технології:
Використовуйте сучасну архітектуру та інструменти на ваш розсуд.

Критерії оцінювання

Відповідність макету Figma та анімації.

Плавність оновлення інтерфейсу та відтворення зображень.

Чистий, структурований код.

Ресурси

Figma Project Link:

https://www.figma.com/design/vV9GJZrUfNi0C3pGt94d3P/TEST--Pizza-Mobile-App?node-id=25-448&t=k3jnr7tNNtXj5WXN-1

Reference Video:

https://www.dropbox.com/scl/fi/qzhc6mkjchpoyg5e85338/pizza_app_example.mov?rlkey=7tt7itxik90ujks1v0ac7f717&st=8yz5w5xg&dl=0

API Endpoint:
https://oursongapp.com/api/pizzas

JSON Structure Reference:

{
«pizzas»: [
{
«id»: «piz_01»,
«name»: «Midnight Harvest»,
«description»: «Black olives and medley of cheeses.»,
«image_url»: «
https://cdn.link/pizza.webp
»,
«variants»: [
{ «size»: «S», «price»: 14.99 },
{ «size»: «M», «price»: 17.99 },
{ «size»: «L», «price»: 21.99 }
]
}
]
}