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

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

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

Для связи: @ruslan_kuyanets
Download Telegram
#Собес #gradle #pipeline
🤔 Какие этапы проходят при сборке Android-приложения инструментами Gradle, включая работу R8?

💬 Кратко:

Сборка проходит несколько этапов: обработку ресурсов, компиляцию исходного кода, генерацию DEX-файлов и работу оптимизатора R8. Затем формируется APK или AAB, который подписывается и готовится к установке. R8 играет значимую роль: уменьшает размер кода, удаляет неиспользуемые классы и делает приложение быстрее.

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

📣 Все для прокачки навыков:
✅ Анонсы → канал
✅ Комьюнити → чат
✅ База задач и вопросов → платформа
❤1
#Собес #docker_build #dockerfile #image
🤔 Как создать Docker-образ с использованием Dockerfile?

💬 Кратко:

Чтобы создать Docker-образ, необходимо использовать команду docker build, указав путь к каталогу, содержащему Dockerfile. Например, docker build -t myimage:tag . создаст образ с именем myimage и тегом tag из текущего каталога.

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

📣 Все для прокачки навыков:
✅ Анонсы → канал
✅ Комьюнити → чат
✅ База задач и вопросов → платформа
#course #ооп #case
📚 Практический анализ ПО с моделированием на UML

Целью курса является обучение слушателей теоретическим основам объектно-ориентированного подхода, практическим методам визуального проектирования и технологии разработки программного обеспечения с использованием компьютеризированных систем разработки (CASE

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

📣 Все для прокачки навыков:
✅ Анонсы → канал
✅ Комьюнити → чат
✅ База задач и вопросов → платформа
#Собес #coroutine #infinite_loop #delay
🤔 Как корутины ведут себя при использовании бесконечного цикла (например, while(true))?

💬 Кратко:

Если в корутине используется бесконечный цикл без suspend-вызовов, она заблокирует поток, в котором выполняется, поскольку не отдаёт управление планировщику. Чтобы корутина оставалась отзывчивой и переключалась, внутри цикла нужно вставлять точки приостановки (delay, yield) или вызывать неблокирующие операции.

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

📣 Все для прокачки навыков:
✅ Анонсы → канал
✅ Комьюнити → чат
✅ База задач и вопросов → платформа
#Собес #intent #binder #content_provider
🤔 Какими способами можно наладить взаимодействие между компонентами Android?

💬 Кратко:

Компоненты обмениваются через Intent (явные и неявные), через Binder/AIDL при привязанных сервисах, через ContentProvider с URI-запросами, через BroadcastReceiver для широковещательного обмена, а также через SharedPreferences, файлы и Messenger. Выбор зависит от направления связи, объёма данных и требуемой надёжности.

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

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

💬 Кратко:

Горизонтальное масштабирование достигается через:

- Балансировку нагрузки (Nginx, HAProxy).
- Контейнеризацию (Docker + Kubernetes).
- Распределенные базы данных (Postgres репликация, Redis Cluster).

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

📣 Все для прокачки навыков:
✅ Анонсы → канал
✅ Комьюнити → чат
✅ База задач и вопросов → платформа
#book #kotlin
📚 Kotlin in Action
Авторы: Дмитрий Жемеров, Светлана Исакова (2016)


Kotlin — это статически типизированный язык программирования, разрабатываемый компанией JetBrains. Благодаря тому, что Kotlin может компилироваться в байт-код Java, его использование возможно также и в операционной системе Android, а хороший синтаксис и понятная типизация делают этот язык приятнее в разработке. Книга написана создателями языка и содержит не только основы, но и информацию по совместному использованию Java и Kotlin.

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

📣 Все для прокачки навыков:
✅ Анонсы → канал
✅ Комьюнити → чат
✅ База задач и вопросов → платформа
#Собес #multithreading #atomicity #volatile
🤔 Какие проблемы возникают с 64-битными примитивами (double/long) в многопоточке?

💬 Кратко:

Чтение/запись long и double не атомарны на некоторых платформах (может читаться частично обновлённое значение). Решение — использование volatile или AtomicLong.

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

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

🤔 Middle+ Android разработчик в компанию Сбер

Техническое собеседование. Лето 2024. Вилка: 300к+. Опыт в резюме: 3+ года. Проект: СберЗвук.

💬 Вопросы:

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

- В каких случаях использовать data class вместо обычного класса? Когда не нужны методы copy() или компоненты?

- Всегда ли достаточно дефолтной реализации equals() и hashCode()? Приведите примеры, когда она не подходит.

- Почему в лямбдах стоит избегать использования it?

- Почему при работе с плеером необходим main-диспетчер? Что происходит при вызове из другого потока?

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

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

💬 Кратко:

В gRPC данные передаются в бинарном формате с использованием Protocol Buffers (Protobuf). Protobuf описывает структуру сообщений и генерирует код для разных языков. Передача происходит поверх HTTP/2, что позволяет использовать мультиплексирование и стриминг. Это делает обмен данными быстрым и компактным.

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

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

Стандарт в разработке. Книга, которая даст вам прочную базу в Java-разработке и поможет изучить непростую тему потокобезопасности. Возможно, книга немного устарела, ей уже много лет. Но погрузиться с ней в основы получится отлично. Ведь книга описывает типичные ошибки написания конкурентных приложений на Java и распространённые ошибки с многопоточностью.

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

📣 Все для прокачки навыков:
✅ Анонсы → канал
✅ Комьюнити → чат
✅ База задач и вопросов → платформа
#Собес #opentelemetry #observability #tracing
🤔 Что такое OpenTelemetry? Для чего используется?

💬 Кратко:

OpenTelemetry - open-source инструмент для сбора телеметрии (метрики, логи, трейсы). Помогает в мониторинге и диагностике.

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

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

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

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

💬 Вопросы:

- Чем Kotlin выигрывает у Java в контексте Android-разработки?

- Какими способами можно запустить корутину в Kotlin?

- При использовании Flow, какой Dispatcher вы бы выбрали для работы с UI и для фоновых задач?

- Как ту же логику организовать через LiveData и в чём отличие от Flow?

- Что такое sealed-классы и для чего они применяются?

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

📣 Все для прокачки навыков:
✅ Анонсы → канал
✅ Комьюнити → чат
✅ База задач и вопросов → платформа
#Собес #git_push #git_pull
🤔 Почему мы делаем git pull, а затем git push?

💬 Кратко:

Мы делаем git pull, чтобы сначала синхронизировать наш локальный репозиторий с последними изменениями из удаленного. Затем выполняем git push, чтобы отправить свои изменения. Это помогает избежать конфликтов и сохранить согласованность данных между участниками команды.

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

📣 Все для прокачки навыков:
✅ Анонсы → канал
✅ Комьюнити → чат
✅ База задач и вопросов → платформа
#trainer #курсы #тренажеры
📚 CodeChef

Онлайн-платформа программирования, которая позволяет учащимся осваивать программирование с помощью структурированных курсов, тысяч практических задач и регулярных конкурсов

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

📣 Все для прокачки навыков:
✅ Анонсы → канал
✅ Комьюнити → чат
✅ База задач и вопросов → платформа
#Собес #recyclerview #reuse #layout_manager
🤔 В чём сильные стороны RecyclerView?

💬 Кратко:

Гибкость, повторное использование View, расширяемость.

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

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

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

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

💬 Вопросы:

- Чем Kotlin выигрывает у Java в контексте Android-разработки?

- Какими способами можно запустить корутину в Kotlin?

- При использовании Flow, какой Dispatcher вы бы выбрали для работы с UI и для фоновых задач?

- Как ту же логику организовать через LiveData и в чём отличие от Flow?

- Что такое sealed-классы и для чего они применяются?

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

📣 Все для прокачки навыков:
✅ Анонсы → канал
✅ Комьюнити → чат
✅ База задач и вопросов → платформа
#Собес #observability #tracing
🤔 Как обеспечивать observability системы (логирование, метрики, трейсинг)?

💬 Кратко:

Observability достигается через централизованное логирование, метрики, трейсинг, корелляцию запросов, алертинг и визуализацию. Используются стек ELK или Loki, Prometheus/Grafana, Jaeger/OpenTelemetry. Цель — понимать состояние системы и находить проблемы быстро и точно.

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

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

Репо для тех, кто любит учиться на реальных примерах. Тут собрано более сотни опенсорсных клонов популярных сервисов: от Airbnb до YouTube

Каждый проект снабжен ссылками на исходный код, демками, описанием стека и количеством звезд на GitHub. А у некоторых даже есть туторы по созданию

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

📣 Все для прокачки навыков:
✅ Анонсы → канал
✅ Комьюнити → чат
✅ База задач и вопросов → платформа
#Собес #multiprocess #isolation #crash_safety
🤔 Какие преимущества даёт запуск Android-приложения в нескольких процессах?

💬 Кратко:

Запуск в нескольких процессах изолирует компоненты, повышает отказоустойчивость и позволяет управлять ресурсами отдельно.

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

📣 Все для прокачки навыков:
✅ Анонсы → канал
✅ Комьюнити → чат
✅ База задач и вопросов → платформа
#Собес #smart_casts #null_safety #data_types
🤔 Объясните концепцию умных приведений типов в Kotlin.

💬 Кратко:

Умные приведения типов в Kotlin позволяют компилятору автоматически преобразовывать переменные в ненулевые типы после проверки на null. Это позволяет избежать необходимости вручную указывать типы и повышает безопасность и читаемость кода.

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

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