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

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

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

Для связи: @ruslan_kuyanets
Download Telegram
#Собес #kotlin #null_safety #coroutine
🤔 Чем Kotlin выигрывает у Java в контексте Android-разработки?

💬 Кратко:

Kotlin лаконичнее (уменьшает boilerplate), безопаснее (null-safety), поддерживает расширения, корутины и современные концепции (коллекции, DSL), что делает код чище и меньше ошибок. Он полностью совместим с Java, позволяет плавно мигрировать существующие проекты и улучшает опыт разработки через встроенные инструменты в Android Studio.

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

📣 Все для прокачки навыков:
✅ Анонсы → канал
✅ Комьюнити → чат
✅ База задач и вопросов → платформа
#Собес #flow #state_flow #shared_flow
🤔 StateFlow vs SharedFlow

💬 Кратко:

StateFlow хранит последнее значение и всегда возвращает его новым подписчикам. Он похож на "живое состояние". SharedFlow не хранит состояние по умолчанию, а работает как "событийный поток", где данные могут быть потеряны, если никто не слушает. В целом: StateFlow используют для состояния экрана, SharedFlow — для одноразовых событий.

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

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

💬 Кратко:

Idempotency Key — это уникальный идентификатор, который клиентская система генерирует для каждой логической операции (например, создания платежа) и отправляет вместе с запросом к API. Сервер использует этот ключ, чтобы отслеживать, был ли такой запрос уже обработан. Если ключ новый — операция выполняется, а её результат сохраняется вместе с ключом. Если ключ повторяется — сервер не выполняет операцию заново, а возвращает сохранённый ранее результат. Это предотвращает дублирование действий из-за повторных отправок запроса.

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

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

Podcast by IT-компания Kolesa Group. В целом он обо всём и вся. Интересно для прослушивания на досуге

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

📣 Все для прокачки навыков:
✅ Анонсы → канал
✅ Комьюнити → чат
✅ База задач и вопросов → платформа
#Собес #solid #oop #principles
🤔 SOLID, рассказать что это и привести примеры нарушения из Android SDK.

💬 Кратко:

SOLID - 5 принципов ООП: Single responsibility, Open-closed, Liskov substitution, Interface segregation, Dependency inversion. В Android SDK есть нарушения, например в Activity.

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

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

🤔 Middle/Senior Android в компанию Альфа-Банк

Скриннинг. ЗП: 250-400k. Опыт: 3 года. Июнь 2024. Собеседование в себя включало постоянное рассуждение, проектирование и построение гипотез для теории и практические вопросы для лайвкодинга.

💬 Вопросы:

- Что такое inline функции в Kotlin?

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

- Как работает return в лямбде внутри inline-функции?

- Как suspendCancellableCoroutine помогает работать с колбэками?

- Чем отличается StateFlow от SharedFlow?

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

📣 Все для прокачки навыков:
✅ Анонсы → канал
✅ Комьюнити → чат
✅ База задач и вопросов → платформа
#Собес #GUID #UUID #idempotency_key
🤔 Почему GUID часто используют как idempotency key?

💬 Кратко:
GUID (UUID) часто используют как ключ идемпотентности из-за его высокой вероятности уникальности без централизованного координатора. Это позволяет клиентам генерировать ключи локально и повторять запросы без риска дублирования операций на сервере. Такой подход упрощает обработку сетевых сбоев и гарантирует, что один и тот же запрос не будет выполнен дважды.

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

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

Русскоязычный канал, на котором вы найдете видеозаписи лекций и короткие тематические ролики на интересные темы о компьютерных науках и программировании. Материал публикуется для ИТ-специалистов, студентов и школьников, интересующихся программированием и математикой.

Помимо роликов о программировании на Rust канал публикует уроки по Python, алгоритмизации, анализу изображений, C/C++, Java, Kotlin и прочему. Лекторы разные: в основном нескучные и отвечающие на вопросы аудитории.

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

📣 Все для прокачки навыков:
✅ Анонсы → канал
✅ Комьюнити → чат
✅ База задач и вопросов → платформа
#Собес #mvvm #mvi #clean_architecture
🤔 Какие архитектурные паттерны применяются в Android-приложениях на Kotlin?

💬 Кратко:

На Android часто используют MVVM (Model-View-ViewModel) с LiveData/StateFlow, MVI (Model-View-Intent) для unidirectional data flow и Clean Architecture с разделением на слои (Domain, Data, Presentation). Реже применяют MVP, но MVVM и MVI лучше интегрируются с корутинами и Jetpack-библиотеками.

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

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

🤔 Senior Android разработчик в компанию Юрент.

Техническое собеседование. Лето 2025. Юрент - проект для обеспечения работы самокатов (тех. обслуживание). Вилка: 250-400к + 20% премии. Были вопросы про опыт. В конце был лайвкодинг.

💬 Вопросы:

- Как устроено клиент-серверное взаимодействие в протоколе OAuth 2.0?

- Какие есть способы защиты приложения от MITM?

- Чем отличается TCP от UDP протоколы? Для чего каждый используется?

- Чем отличается функционально GET от POST? Можем ли писать запрос в body GET?

- Что такое WebSocket? Как использовал на проекте?

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

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

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

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

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

💬 Кратко:

inline функции в Kotlin разворачиваются в месте вызова во время компиляции, вместо того чтобы быть вызванными как обычные функции. Это уменьшает накладные расходы на вызов функции, но увеличивает размер байткода. inline функции особенно полезны для повышения производительности при использовании лямбда-функций.

 

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

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

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

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

💬 Вопросы:

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

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

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

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

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

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

📣 Все для прокачки навыков:
✅ Анонсы → канал
✅ Комьюнити → чат
✅ База задач и вопросов → платформа
#Собес #sql #group_by #having
🤔 Как найти дубликаты email в таблице users с помощью SQL?

💬 Кратко:

Можно использовать GROUP BY и HAVING COUNT(*) > 1, чтобы найти дублирующиеся email-адреса. Это поможет выявить потенциальные ошибки в уникальных данных.

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

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

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

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

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

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

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

💬 Кратко:

synchronized блокирует доступ к коду или объекту для других потоков, пока текущий поток не завершит выполнение. Это предотвращает гонки данных (race conditions) и обеспечивает потокобезопасность.

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

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

🤔 Middle/Senior Android в компанию Альфа-Банк

Скриннинг. ЗП: 250-400k. Опыт: 3 года. Июнь 2024. Собеседование в себя включало постоянное рассуждение, проектирование и построение гипотез для теории и практические вопросы для лайвкодинга.

💬 Вопросы:

- Что такое inline функции в Kotlin?

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

- Как работает return в лямбде внутри inline-функции?

- Как suspendCancellableCoroutine помогает работать с колбэками?

- Чем отличается StateFlow от SharedFlow?

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

📣 Все для прокачки навыков:
✅ Анонсы → канал
✅ Комьюнити → чат
✅ База задач и вопросов → платформа
#repository #bestpractices #androidtools
📚 Best practices in Android development

Это свод рекомендаций и проверенных практик разработки Android‑приложений от компании Futurice, охватывающий ключевые аспекты проектирования, кодирования, тестирования и сопровождения ПО; в нём систематизированы советы по архитектуре, работе с ресурсами, управлению зависимостями, оптимизации производительности и безопасности, а также приведены примеры типичных ошибок и способы их избежания, что делает его полезным справочником для Android‑разработчиков разного уровня.

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

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

💬 Кратко:

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

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

📣 Все для прокачки навыков:
✅ Анонсы → канал
✅ Комьюнити → чат
✅ База задач и вопросов → платформа
#Собес #access_modifiers #visibility #private
🤔 Какие модификаторы доступа существуют у элементов класса? Какой модификатор используется по умолчанию?

💬 Кратко:

private, protected, internal, public. По умолчанию — public.

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

📣 Все для прокачки навыков:
✅ Анонсы → канал
✅ Комьюнити → чат
✅ База задач и вопросов → платформа
❤1
#Собес #OpenTelemetry #observability #distributed_tracing
🤔 Что такое OpenTelemetry и чем он отличается от Sentry или Victoria Metrics?

💬 Кратко:
OpenTelemetry — это открытый стандарт и набор инструментов для сбора, обработки и экспорта телеметрических данных (трейсы, метрики, логи). В отличие от Sentry, которая фокусируется на отслеживании ошибок и производительности в реальном времени, OpenTelemetry предоставляет унифицированный API для сбора данных, которые затем можно отправлять в разные бэкенды. Victoria Metrics — это система хранения и визуализации метрик, а OpenTelemetry занимается только сбором и экспортом, не храня данные.

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

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