Java Core / General
- Опиши свой стек — язык, технологии
- Hashcode/equals — для чего, написать их
- HashMap — примеры использования, временные сложности, коллизии, способы работы с коллизиями
- Теория многопоточных алгоритмов
- Synchronised, monitor, mutex, atomic, volatile
- Int pull и сравнение 2 Integer после создания через new на equals
Kotlin
- Unit, Nothing — для чего, как используются
- Data class, copy!
- Coroutines — как можно обработать ошибки (CancelationException, try catch)
- Разница в обработке ошибок launch и async
Android Core
- APK — что там лежит
- Что такое manifest, что там есть
- Что за флаг configChanges
- Что за флаг process в манифесте
- Как увеличить счетчик в Активити с другого процесса (сохранение состояния при смене конфигурации)
- Aidl через сервис
- broadcastReceiver + свои permissions
- Backend
- Doze mod
Android UI
- Что происходит когда передаем в activity.onCreate() setContentView()
- Тут важно помнить про layoutInflatter, choreographer, жизненные циклы view
- Xml что такое merge, include
- .onAnimationValue { value -> this.value = value invalidate()} — буду ли проблемы — нет
Модульность
Gradle — в чем разница