845 вопросов для подготовки на позицию Mobile-разработчик
845 вопросов1634 компании353 технологии
Что проверяют на интервью
Как устроена подборка
Подборка помогает системно подготовиться к интервью на позицию Mobile-разработчик: проверить теорию, потренировать практические задачи и объяснение решений. В подборке чаще встречаются темы: mobile, android, kotlin.
Для обеспечения эффективности и масштабируемости Android-приложения обычно применяют архитектурные паттерны, разделяющие ответственность и упрощающие поддержку кода. Основные подходы:
Для реализации механизма вкладок с сохранением истории навигации в Android с использованием фрагментов можно использовать отдельный стек фрагментов для каждой вкладки. Основная идея:
AAB (Android App Bundle) — это новый формат публикации, который включает весь скомпилированный код и ресурсы приложения, но откладывает генерацию APK и подписание на этапе загрузки в Google Play.
Объект типа data class в Kotlin можно сохранить в Android Bundle, но напрямую — нет, так как Bundle поддерживает только определённые типы данных (примитивы, Serializable, Parcelable и др.).
ViewGroup в Android — это базовый класс для контейнеров, которые могут содержать другие представления (Views) или другие ViewGroup. Он служит для организации и управления расположением дочерних элементов на экране.
В Kotlin функция, объявленная с модификатором crossinline, запрещает выполнение неконтролируемого возврата (non-local return) из лямбды, которую она принимает.
В Kotlin конструкция for — это классический цикл, который позволяет перебирать элементы коллекции или диапазона с возможностью использовать индекс или изменять логику внутри цикла. Например:
Параметр process в компонентах Android (например, в манифесте для Activity, Service, Provider или Receiver) задаёт имя процесса, в котором будет работать данный компонент.
Intent в Android — это механизм для взаимодействия компонентов приложения и запуска новых активностей, служб и т.д. При использовании Intent важно учитывать:
В Kotlin ключевое слово tailrec используется для оптимизации хвостовой рекурсии, позволяя компилятору преобразовать рекурсивный вызов в цикл и избежать переполнения стека.