Какие сильные стороны можешь выделить в Hard skills

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

Ответ

  • Kotlin/Java: Глубокое знание языков, включая корутины, Flow, расширенные возможности ООП.
  • Jetpack Components: Опыт с ViewModel, Room, Navigation, Compose, WorkManager.
  • Архитектура: Чистая архитектура, MVVM, MVP, понимание SOLID, DI (Dagger/Hilt).
  • Multithreading: Работа с потоками (Coroutines, RxJava), избегание утечек памяти.
  • UI/UX: Кастомные вью, анимации, адаптация под разные экраны, Material Design.
  • API/Networking: Retrofit, OkHttp, WebSockets, GraphQL, обработка ошибок.
  • Тестирование: Unit/UI тесты (JUnit, Espresso, Mockito), TDD/BDD подходы.

Пример:

@HiltViewModel  
class UserViewModel @Inject constructor(  
    private val repo: UserRepository  
) : ViewModel() {  
    val users = repo.getUsers().flowOn(Dispatchers.IO).stateIn(viewModelScope, SharingStarted.Lazily, emptyList())  
}