Какой стэк технологий на твоем проекте

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

Ответ

Мы используем Kotlin как основной язык разработки, Jetpack Compose для UI, Coroutines + Flow для асинхронности.

Архитектура: Clean Architecture + MVVM.
DI: Hilt.
Сеть: Retrofit + Moshi.
Локальное хранилище: Room.
Тестирование: JUnit, MockK, Espresso.

Пример модуля DI:

@Module
@InstallIn(ViewModelComponent::class)
object AppModule {
    @Provides
    fun provideApiService(): ApiService = Retrofit.Builder()
        .baseUrl(BASE_URL)
        .addConverterFactory(MoshiConverterFactory.create())
        .build()
        .create(ApiService::class.java)
}

Также используем Firebase, WorkManager, Navigation Component.