Android Mobile | YeaHub
430 subscribers
331 photos
21 videos
593 links
Теория, подготовка к интервью и курсы для Android разработчиков

YeaHub — это платформа для IT-специалистов, объединяющая обучение, карьерный рост, развитие и сообщество единомышленников.

Платформа: https://yeahub.ru

Для связи: @ruslan_kuyanets
Download Telegram
#Собес #data_class #kotlin #android

🤔 Senior Android-разработчик (Kotlin) в компанию АВТОТЕХ

Техническое собеседование. Осень 2024. Просил 300-350к. Опыт в резюме 5 лет. Было много вопросов, которые основаны на реальных кейсах.

💬 Вопросы:

- Что такое data class в Kotlin?

- Для чего используется модификатор reified в Kotlin?

- Поддерживают ли data class наследование?

- Как работают дженерики в Kotlin «под капотом»?

- В чём разница между inline, noinline и crossinline?

👉 Все вопросы из этого собеседования (22)

📣 Все для прокачки навыков:
✅ Анонсы → канал
✅ Комьюнити → чат
✅ База задач и вопросов → платформа
#Собес #resource #dynamic #loading
🤔 Зачем подгружать ресурсы с сервера?

💬 Кратко:

Подгрузка ресурсов с сервера позволяет обновлять контент игры без выпуска новых версий приложения. Это уменьшает первоначальный размер установочного пакета и дает возможность добавлять новый контент по мере необходимости. Такой подход особенно полезен для игр с регулярными обновлениями или сезонными событиями. Он также позволяет экономить память на устройстве пользователя, загружая только те ресурсы, которые действительно нужны в данный момент.

📌 Полный разбор + примеры использования — на платформе:
👉 Перейти к разбору

📣 Все для прокачки навыков:
✅ Анонсы → канал
✅ Комьюнити → чат
✅ База задач и вопросов → платформа
#article #кейсы #ui/ux
📚 Сделай удобно: подборка UI/UX-кейсов из цифровых и нецифровых продуктов (#22)


Продолжаю изучать различные UI/UX/CX кейсы в мобильных приложениях, веб-сайтах и в реальном мире. Дизайнерам и менеджерам по продукту, чтобы вдохновиться и добавить в заметки.

Перейти к материалу

📣 Все для прокачки навыков:
✅ Анонсы → канал
✅ Комьюнити → чат
✅ База задач и вопросов → платформа
#Собес #presentation #layer
🤔 Какие слои архитектуры целесообразно выделить в приложении, где экран должен получать данные из сети и отображать их?

💬 Кратко:

Обычно выделяют три слоя: presentation, domain и data. Presentation управляет состоянием UI, domain содержит бизнес-логику и use cases, data отвечает за получение данных из сети или базы. Такое разделение делает код понятным, тестируемым и расширяемым. Каждый слой зависит только от слоя ниже его.

📌 Полный разбор + примеры использования — на платформе:
👉 Перейти к разбору

📣 Все для прокачки навыков:
✅ Анонсы → канал
✅ Комьюнити → чат
✅ База задач и вопросов → платформа
#Собес #android #components #intent

🤔 Middle Android разработчик в компанию ОТП Банк

Техническое собеседование. Лето 2024

💬 Вопросы:

- Из чего состоит Android-приложение и какие у него основные компоненты?

- Как устроен жизненный цикл Fragment и чем он отличается от Activity?

- Как передать текст, полученный через Intent, в BroadcastReceiver и сохранить его на бэкенде?

- Какое исключение возникает при длительной работе сервиса?

- В чём разница между Application Context и Activity Context?

👉 Все вопросы из этого собеседования (16)

📣 Все для прокачки навыков:
✅ Анонсы → канал
✅ Комьюнити → чат
✅ База задач и вопросов → платформа
#Собес #docker #build #context
🤔 Какие проблемы могут приводить к долгой сборке Docker-образов?

💬 Кратко:

Основные причины — большой контекст сборки, неэффективное использование слоёв и отсутствие кеширования. Часто замедляют сборку лишние COPY, установка зависимостей при каждом билде и неправильный порядок инструкций. В CI эти проблемы проявляются особенно сильно.

📌 Полный разбор + примеры использования — на платформе:
👉 Перейти к разбору

📣 Все для прокачки навыков:
✅ Анонсы → канал
✅ Комьюнити → чат
✅ База задач и вопросов → платформа
#article #kotlin
📚 Чем занимается Android-разработчик, или Хватит уже спрашивать у них алгоритмы

Автор, опытный Android-разработчик, развенчивает мифы о том, что на собеседованиях и в реальной работе главное — знать алгоритмы, и подробно рассказывает, чем действительно занимается мобильный разработчик: работу в команде (ревью кода, коммуникация), планирование и дизайн фич, верстку UI, написание логики приложения, управление многопоточностью, взаимодействие с инструментами сборки и публикацию в магазины приложений. Он подчеркивает, что ключевые навыки — это практический опыт, знание инструментов (например Git, Gradle, Kotlin/Java) и умение решать реальные инженерные задачи, а не только теорию алгоритмов

Перейти к материалу

📣 Все для прокачки навыков:
✅ Анонсы → канал
✅ Комьюнити → чат
✅ База задач и вопросов → платформа
❤1
#Собес #type-safe_builders #dsl #extension_function
🤔 Объясните, что такое конструкторы с безопасными типами в Kotlin.

💬 Кратко:

Type-Safe Builders позволяют создавать DSL с использованием функций-расширений и лямбд. Они обеспечивают безопасное построение сложных структур данных на этапе компиляции, повышая читаемость и предотвращая ошибки.

📌 Полный разбор + примеры использования — на платформе:
👉 Перейти к разбору

📣 Все для прокачки навыков:
✅ Анонсы → канал
✅ Комьюнити → чат
✅ База задач и вопросов → платформа
#Собес #android #components #intent

🤔 Middle Android разработчик в компанию ОТП Банк

Техническое собеседование. Лето 2024

💬 Вопросы:

- Из чего состоит Android-приложение и какие у него основные компоненты?

- Как устроен жизненный цикл Fragment и чем он отличается от Activity?

- Как передать текст, полученный через Intent, в BroadcastReceiver и сохранить его на бэкенде?

- Какое исключение возникает при длительной работе сервиса?

- В чём разница между Application Context и Activity Context?

👉 Все вопросы из этого собеседования (16)

📣 Все для прокачки навыков:
✅ Анонсы → канал
✅ Комьюнити → чат
✅ База задач и вопросов → платформа
#Собес #deferrable #sensor
🤔 Чем отличаются обычные сенсоры от deferrable-сенсоров?

💬 Кратко:

Обычные сенсоры постоянно занимают worker во время ожидания. Deferrable-сенсоры освобождают worker и «засыпают» до наступления события. Они используют асинхронную модель ожидания. Это позволяет существенно снизить нагрузку на систему. Deferrable-сенсоры лучше подходят для долгих ожиданий.

📌 Полный разбор + примеры использования — на платформе:
👉 Перейти к разбору

📣 Все для прокачки навыков:
✅ Анонсы → канал
✅ Комьюнити → чат
✅ База задач и вопросов → платформа
#article #jetpackcompose
📚 Создание кастомного Toolbar с Jetpack Compose. Подробный разбор всех попыток и решений

В статье Android-разработчик из ПСБ подробно показывает, как он создавал кастомный Toolbar на Jetpack Compose, решая ключевую проблему — корректное центрирование заголовка и подзаголовка при динамическом содержимом слева и справа. Через примеры реализации с Row и весами (weight) автор объясняет ограничения простых подходов и приходит к использованию компонента Layout, который даёт полный контроль над измерениями и позиционированием элементов, снижает ненужные рекомпозиции и делает интерфейс более стабильным и предсказуемым.

Перейти к материалу

📣 Все для прокачки навыков:
✅ Анонсы → канал
✅ Комьюнити → чат
✅ База задач и вопросов → платформа
#Собес #also #scope_function #side_effect
🤔 Что такое функция "also" в Kotlin?

💬 Кратко:

Функция also выполняет дополнительные действия с объектом внутри лямбда-выражения, но возвращает сам объект без изменений. Это полезно, когда нужно выполнить побочные эффекты, такие как логирование или проверку состояния, но оставить объект неизменным.

📌 Полный разбор + примеры использования — на платформе:
👉 Перейти к разбору

📣 Все для прокачки навыков:
✅ Анонсы → канал
✅ Комьюнити → чат
✅ База задач и вопросов → платформа
👍1
#Собес #apk #activity #service
🤔 Из чего состоит Android-приложение и какие у него основные компоненты?

💬 Кратко:

Android-приложение состоит из APK-контейнера, содержащего код (DEX-файлы), ресурсы, манифест и нативную библиотеку. Основные компоненты внутри — Activity (экран), Service (фоновые задачи), BroadcastReceiver (приём широковещательных Intent) и ContentProvider (доступ к данным). Они объявляются в AndroidManifest.xml и взаимодействуют через Intent.

📌 Полный разбор + примеры использования — на платформе:
👉 Перейти к разбору

📣 Все для прокачки навыков:
✅ Анонсы → канал
✅ Комьюнити → чат
✅ База задач и вопросов → платформа
👍1
#Собес #tcp #handshake
🤔 Как работает установка соединения в TCP (handshake)?

💬 Кратко:

TCP использует механизм three-way handshake для установления соединения. Клиент отправляет пакет SYN, сервер отвечает SYN-ACK, после чего клиент отправляет ACK. После этого соединение считается установленным и стороны могут передавать данные. Такой процесс позволяет согласовать начальные номера последовательностей и убедиться, что обе стороны готовы к обмену.

📌 Полный разбор + примеры использования — на платформе:
👉 Перейти к разбору

📣 Все для прокачки навыков:
✅ Анонсы → канал
✅ Комьюнити → чат
✅ База задач и вопросов → платформа
#book #начинающие
📚 Программирование для Android. Денис Колисниченко

В последнем издании описываются нюансы по разработке 64-разрядных приложений для Android. Автор показывает изменения в интерфейсе среды разработки, среди прочих нюансов.
Многое объясняется едва ли не с нуля

Что касается аппаратных компонентов смартфона, автор уделяет этому особое внимание, рассказывая и показывая, как получить данные о девайсе, его характеристиках, как использовать его датчики и другие модули.

Есть и большое количество информации о том, как решать разные нештатные ситуации, которых может возникнуть немало. Это, например, отказ эмулятора, проблемы с установкой ПО и т. п.

Перейти к материалу

📣 Все для прокачки навыков:
✅ Анонсы → канал
✅ Комьюнити → чат
✅ База задач и вопросов → платформа
#Собес #threading #mutual_exclusion #deadlock
🤔 Можно ли получить доступ к критической секции из нескольких потоков при использовании synchronized?

💬 Кратко:

Нет, synchronized гарантирует, что только один поток может находиться в критической секции в любой момент времени. Остальные потоки блокируются до освобождения монитора.

📌 Полный разбор + примеры использования — на платформе:
👉 Перейти к разбору

📣 Все для прокачки навыков:
✅ Анонсы → канал
✅ Комьюнити → чат
✅ База задач и вопросов → платформа
#Собес #catch #retry #retrywhen
🤔 Какие операторы используются для обработки ошибок во Flow?

💬 Кратко:

Для обработки ошибок во Flow используют операторы catch {} для перехвата и замены исключений, retry {} или retryWhen {} для повторения эмиссии при ошибках и onCompletion {} для завершающих действий независимо от успеха или ошибки.

📌 Полный разбор + примеры использования — на платформе:
👉 Перейти к разбору

📣 Все для прокачки навыков:
✅ Анонсы → канал
✅ Комьюнити → чат
✅ База задач и вопросов → платформа
#Собес #rest #url #design
🤔 Почему в REST-API не рекомендуется использовать глаголы в URL и trailing slash?

💬 Кратко:

В REST URL должен описывать ресурс, а не действие над ним. Глаголы дублируют смысл HTTP-методов и делают API менее читаемым. Trailing slash создаёт неоднозначность и может приводить к разным URL для одного ресурса. Это усложняет маршрутизацию и кэширование.

📌 Полный разбор + примеры использования — на платформе:
👉 Перейти к разбору

📣 Все для прокачки навыков:
✅ Анонсы → канал
✅ Комьюнити → чат
✅ База задач и вопросов → платформа
#article #jetpackcompose #uioptimization
📚 Тепловизор для разработчика: подсвечиваем рекомпозиции прямо в коде

Автор рассказывает о создании инструмента Riflesso — плагина для Jetpack Compose, который в реальном времени подсвечивает рекомпозиции UI-компонент прямо в редакторе кода. Он описывает, как через Kotlin Compiler Plugin, клиентскую библиотеку и интеграцию с IntelliJ IDEA удалось получить живую «тепловую карту» перерисовок, показывая, какие функции действительно обновляются, а какие пропускаются. Статья подробно разбирает архитектуру этого решения, сложности с внедрением в компилятор, передачей данных и визуализацией в IDE, а также преимущества инструмента для отладки и оптимизации Compose-UI.

Перейти к материалу

📣 Все для прокачки навыков:
✅ Анонсы → канал
✅ Комьюнити → чат
✅ База задач и вопросов → платформа
❤‍🔥1
#Собес #enum #class #sealed_class
🤔 Чем sealed-классы отличаются от enum-классов, и как у них работают конструкторы?

💬 Кратко:

enum class задаёт фиксированный набор однотипных констант без полей состояния, тогда как sealed class позволяет иметь произвольные подклассы с параметризованными конструкторами и собственной логикой. У enum конструктор ограничен перечислением констант, а у sealed каждый подкласс может иметь свой конструктор и свойства.

📌 Полный разбор + примеры использования — на платформе:
👉 Перейти к разбору

📣 Все для прокачки навыков:
✅ Анонсы → канал
✅ Комьюнити → чат
✅ База задач и вопросов → платформа
❤1
#Собес #kotlin #data_class #sealed

🤔 Middle Android-разработчик (Kotlin) в компанию Dion

Техническое собеседование. Осень 2024. 200к+. Проект: B2B, разработка разговорных комнат для конференций. Опыт в резюме 3 года 3 месяца. Было много теоретических вопросов.

💬 Вопросы:

- Чем Kotlin отличается от Java?

- Что такое лямбда-выражение в Kotlin?

- Что такое data class в Kotlin?

- Что такое корутины в Kotlin?

- Что такое Flow в Kotlin корутинах?

👉 Все вопросы из этого собеседования (25)

📣 Все для прокачки навыков:
✅ Анонсы → канал
✅ Комьюнити → чат
✅ База задач и вопросов → платформа
👍1