Какие были вопросы на прошлых собеседованиях

«Какие были вопросы на прошлых собеседованиях» — вопрос из категории Софт-скиллы, который задают на 23% собеседований Android Разработчик. Ниже — развёрнутый пример ответа, который можно адаптировать под свой опыт.

Ответ

Вот типичные вопросы, которые часто задают на собеседованиях по 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()  
        }  
    }  
}  

Готовься к вопросам про алгоритмы (например, сортировка) и поведенческие ситуации ("Расскажите о сложном баге").