Ответ
Вот типичные вопросы, которые часто задают на собеседованиях по Android:
1. Основы Android:
- Жизненный цикл Activity/Fragment
- Разница между
onCreate()иonStart() - Как сохранить состояние при повороте экрана?
2. Kotlin/Java:
- Разница между
valиvar - Что такое корутины и как они работают?
- Отличие
==от===в Kotlin
3. Архитектура:
- MVP vs MVVM vs MVI
- Как работает ViewModel?
- Что такое Clean Architecture?
4. UI/UX:
- Разница между
ConstraintLayoutиLinearLayout - Как работает RecyclerView?
- Что такое ViewBinding/DataBinding?
5. Многопоточность:
- Разница между
Dispatchers.IOиDispatchers.Default - Как избежать утечек памяти в корутинах?
6. Работа с сетью:
- Разница между Retrofit и Volley
- Как кэшировать сетевые запросы?
Пример кода (ViewModel):
class MyViewModel : ViewModel() {
private val _data = MutableLiveData<String>()
val data: LiveData<String> = _data
fun fetchData() {
viewModelScope.launch {
_data.value = repository.loadData()
}
}
}
Готовься к вопросам про алгоритмы (например, сортировка) и поведенческие ситуации ("Расскажите о сложном баге").