Задача, которую предстоит решить:
-Создание мобильного приложения для учета молочного производства (животноводство)
Для этого потребуется:
Обязательно
- Уверенное знание Kotlin: sealed classes, inline functions, тайп-проекции, делегаты.
- Глубокая практика MVVM с разделением на слои (Presentation → Domain → Data), использование Use cases / Interactors.
- Продвинутая работа с Coroutines и Flow:
- Управление диспетчерами (Dispatchers.IO, Main, Default).
- Обработка ошибок через .catch, .retry.
- Правильный сбор Flow с repeatOnLifecycle (знание отличие StateFlow vs LiveData).
- Hilt на уровне Middle:
- Создание собственных модулей (@Module, @Provides, @Binds).
- Использование @Qualifier для разных реализаций.
- Внедрение в ViewModel с аргументами (@AssistedInject при необходимости).
- Сетевой стек:
- Настройка OkHttp Interceptors (авторизация, логирование).
- Обработка ошибок API через sealed classes (Result, ApiResponse).
- Обновление токенов, повтор запросов.
- Room:
- Сложные запросы: JOIN, GROUP BY, подзапросы.
- Написание миграций (ручных или autoMigrations).
- Использование TypeConverter.
- UI-компоненты:
- Paging 3: реализация RemoteMediator для загрузки из сети + кэширования в Room, работа с LoadStateAdapter.
- RecyclerView: кастомные анимации, ConcatAdapter, оптимизации.
- DataBinding: биндинги с выражениями, биндинг событий.
- ViewPager2: TabLayoutMediator, вложенные скроллы.
- Жизненный цикл: понимание устаревания lifecycle-extensions и умение мигрировать с него.
- Сборка: уверенная работа с productFlavors и buildTypes (разные API endpoints, mock-режимы).
- Тестирование: написание модульных тестов для ViewModel, Repository, DAO (JUnit + корутинные тесты).
Будет плюсом
- Опыт кастомизации Google Mobile Vision (фильтрация штрих-кодов, зоны сканирования).
- Знакомство с Jetpack Compose.
- Опыт настройки CI/CD (GitHub Actions, GitLab CI) для сборки флейворов.
- Понимание работы ProGuard/R8.
Ожидания от кандидата
- Самостоятельная реализация фич «под ключ» (от оценки до сдачи).
- Умение находить и исправлять баги в чужом коде.
- Готовность проводить код-ревью и обучать Junior-разработчиков.
- Способность аргументировать технологические решения.
Для вас:
- Проект, сроком на 4 месяца.
- Стабильные официальные выплаты.
- Оформление согласно по ГПХ (с физлицом/самозанятым/ИП).
- Работа в аккредитованной ИТ-компании.