Расскажите о вашем опыте использования различных паттернов проектирования в практике разработки.
В практике разработки Android-приложений я часто использую паттерны проектирования для улучшения структуры и поддержки кода.
Читать ответПодготовка к интервью
978 вопросов с собеседований в Яндекс
Что проверяют на интервью
Подборка объединяет вопросы, отмеченные на этапах интервью в Яндекс. Здесь можно понять структуру технической проверки и заранее повторить связанные темы. В подборке чаще встречаются темы: mobile, backend, database.
Каталог
В практике разработки Android-приложений я часто использую паттерны проектирования для улучшения структуры и поддержки кода.
Читать ответДа, предоставлять обратную связь в процессе работы или выполнения задачи очень важно. Это помогает:
Читать ответПреимущества использования code-generation в Dagger:
Читать ответОбработчик (Handler) в Android способен выполнять свои задачи в основном (UI) потоке, потому что он связан с Looper этого потока.
Читать ответВремя поиска элемента в хеш-таблице обычно близко к константному (O(1)), но может увеличиться до линейной сложности (O(n)) при следующих условиях:
Читать ответВ программировании интерфейс определяет набор методов, которые класс должен реализовать, не задавая конкретной реализации. В Android (Java/Kotlin) это часто используется для создания контрактов между компонентами.
Читать ответМетод observeOn в реактивном программировании используется для переключения контекста выполнения (потока), на котором будут обрабатываться последующие операторы и события.
Читать ответВ Android объект типа Bundle используется для хранения и передачи данных между компонентами (Activity, Fragment, Service и т.д.). В Bundle можно помещать данные следующих типов:
Читать ответКомпоненты представления (View) в Android обладают рядом особенностей, которые влияют на их поведение и внешний вид:
Читать ответОсновные сложности при отмене выполнения корутин в Android связаны с особенностями их кооперативной отмены и управлением ресурсами:
Читать ответВ Android для добавления элементов в объект Bundle используются методы putX(), где X — тип данных, который вы хотите сохранить. Например, putString(), putInt(), putParcelable() и т.д.
Читать ответModel-View-Intent (MVI) — это архитектурный паттерн, который помогает управлять состоянием UI через поток намерений (intents) пользователя.
Читать ответ