Какой стек на последнем проекте

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

Ответ

Jetpack Compose, Kotlin Coroutines, Flow, Room, Retrofit, Hilt, WorkManager.

Пример слоёв:

@HiltViewModel  
class UserViewModel @Inject constructor(  
    private val repository: UserRepository  
) : ViewModel() {  
    val users = repository.getUsers().stateIn(  
        scope = viewModelScope,  
        started = SharingStarted.WhileSubscribed(5000),  
        initialValue = emptyList()  
    )  
}  

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

Дополнительно: Coil для загрузки изображений, Firebase Analytics/Crashlytics.