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

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

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

Для связи: @ruslan_kuyanets
Download Telegram
#repository #клоны
📚 Clone Wars

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

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

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

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

💬 Кратко:

StateFlow хранит текущее состояние и отправляет его новым подписчикам. Он всегда имеет значение и подходит для управления UI-состоянием. SharedFlow не хранит состояние и просто транслирует события, без обязательного начального значения. Он подходит для одноразовых событий, например, уведомлений или действий.

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

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

Февраль и март выдались для нас непростыми. Мы прошли через сложную миграцию и разделили проект на два отдельных продукта.

Теперь у нас есть:
— yeahub.ru — публичная SEO-ориентированная часть на Next.js с быстрым серверным рендерингом
— app.yeahub.ru — основное приложение: личный кабинет пользователя со статистикой, прогрессом и аналитикой

🔥 Лайвкодинг — наконец-то готов

Мы серьезно прокачали сервис лайвкодинга:
— добавили привязку задач к коллекциям (собеседованиям)
— сделали связь с компаниями
— теперь можно готовиться по задачам с реальных собеседований

Уже доступны задачи из: Сбер, Яндекс, Авито, VK, Ozon, Т-Банк и других компаний.

📌 Сейчас добавлено ~100 задач.

Да, это меньше, чем планировали — но пришлось сделать шаг назад, чтобы сделать десять вперед.

Мы полностью переработали:
— шаблон задач
— систему тесткейсов

Ранее была допущена ошибка, из-за которой пришлось вручную исправить 80+ задач 😢

Но теперь база готова к масштабированию — и мы можем быстро и правильно наполнять её дальше.

📈 Что дальше по лайвкодингу

Мы будем активно развивать этот сервис.
Это не только про собеседования — это инструмент для роста и прокачки.
Планируется много новых фич.

📅 Регулярные обновления контента

Мы выстроили процесс: каждую неделю 4–8 собеседований, 6–10 задач
И каждое обновление будем анонсировать, чтобы вы всегда были в курсе.

🛠 Сейчас в разработке (2 ключевых сервиса)

Агрегатор вакансий + платформа размещения вакансий
ATS-оптимизация резюме
— Бэкенд почти готов.
— Идёт дизайн.
— Фронтенд начнем совсем скоро.

🎯 Цель — выпустить оба сервиса в бэта до лета.

🧠 Новая структура обучения

Раньше было: Навык → Вопрос
Теперь: Навык → Тема → Вопрос

Это сильно упрощает обучение.

Теперь можно: готовиться точечно к собеседованиям или системно изучать темы

💻 Мы — open source

Мы не бросаем слов на ветер. Мы делаем.

Код проекта открыт https://github.com/YeaHubTeam:
— фронтенд
— мобильные приложения
— backend на Python (решили новый сервис делать публично, для новичков)
— автотесты

Это open source платформа, где новички могут учиться и смотреть на реальные практики.

❤️ Поддержка

Вы можете поддержать нас, оформив подписку. Это напрямую влияет на:
— добавление контента
— развитие платформы
— новые фичи

Вы можете быть уверены — мы не стоим на месте. Работа реально кипит: почти каждый день мержатся новые фичи, мы постоянно развиваем продукт и улучшаем уже существующие сервисы.

У нас полностью открытый код, и это не просто слова. Вы в любой момент можете зайти и посмотреть активность, коммиты и то, как проект развивается каждый день.

По подписке: сейчас стоимость — 800 рублей за месяц и 1800 рублей за 3 месяца. Это уже ниже, чем у аналогичных сервисов. При этом важно понимать — после выхода новых сервисов (агрегатор вакансий и ATS для резюме) цена будет пересмотрена.

Если хотите зафиксировать текущую стоимость — лучше сделать это сейчас:
https://app.yeahub.ru/settings#select-tariff

Мы строим продукт.
Мы двигаемся вперёд.
И мы делаем IT снова великим.
💪🚀✊🏻
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN 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 гарантирует, что только один поток может находиться в критической секции в любой момент времени. Остальные потоки блокируются до освобождения монитора.

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

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