#Собес #let #scope_function #null_safety
🤔 Что такое функция "let" в Kotlin?
💬 Кратко:
Функция
📌 Полный разбор + примеры использования — на платформе:
👉 Перейти к разбору
📣 Все для прокачки навыков:
✅ Анонсы → канал
✅ Комьюнити → чат
✅ База задач и вопросов → платформа
🤔 Что такое функция "let" в Kotlin?
💬 Кратко:
Функция
let позволяет выполнить блок кода с объектом, предоставляя его как аргумент лямбда-выражения. Она особенно полезна для работы с объектами, которые могут быть равны null, и помогает безопасно обрабатывать такие случаи. Внутри лямбды объект доступен через it.📌 Полный разбор + примеры использования — на платформе:
👉 Перейти к разбору
📣 Все для прокачки навыков:
✅ Анонсы → канал
✅ Комьюнити → чат
✅ База задач и вопросов → платформа
#Собес #threading #mutual_exclusion #deadlock
🤔 Можно ли получить доступ к критической секции из нескольких потоков при использовании synchronized?
💬 Кратко:
Нет,
📌 Полный разбор + примеры использования — на платформе:
👉 Перейти к разбору
📣 Все для прокачки навыков:
✅ Анонсы → канал
✅ Комьюнити → чат
✅ База задач и вопросов → платформа
🤔 Можно ли получить доступ к критической секции из нескольких потоков при использовании synchronized?
💬 Кратко:
Нет,
synchronized гарантирует, что только один поток может находиться в критической секции в любой момент времени. Остальные потоки блокируются до освобождения монитора.📌 Полный разбор + примеры использования — на платформе:
👉 Перейти к разбору
📣 Все для прокачки навыков:
✅ Анонсы → канал
✅ Комьюнити → чат
✅ База задач и вопросов → платформа
#Собес #git_clone
🤔 Что делает Git-клон?
💬 Кратко:
Команда
📌 Полный разбор + примеры использования — на платформе:
👉 Перейти к разбору
📣 Все для прокачки навыков:
✅ Анонсы → канал
✅ Комьюнити → чат
✅ База задач и вопросов → платформа
🤔 Что делает Git-клон?
💬 Кратко:
Команда
git clone создаёт копию существующего репозитория, включая всю историю изменений, файлы и ветки. Это используется, чтобы начать работу с проектом, который уже находится в удалённом репозитории.📌 Полный разбор + примеры использования — на платформе:
👉 Перейти к разбору
📣 Все для прокачки навыков:
✅ Анонсы → канал
✅ Комьюнити → чат
✅ База задач и вопросов → платформа
#repository #клоны
📚 Clone Wars
Репо для тех, кто любит учиться на реальных примерах. Тут собрано более сотни опенсорсных клонов популярных сервисов: от Airbnb до YouTube
Каждый проект снабжен ссылками на исходный код, демками, описанием стека и количеством звезд на GitHub. А у некоторых даже есть туторы по созданию
Перейти к материалу
📣 Все для прокачки навыков:
✅ Анонсы → канал
✅ Комьюнити → чат
✅ База задач и вопросов → платформа
📚 Clone Wars
Репо для тех, кто любит учиться на реальных примерах. Тут собрано более сотни опенсорсных клонов популярных сервисов: от Airbnb до YouTube
Каждый проект снабжен ссылками на исходный код, демками, описанием стека и количеством звезд на GitHub. А у некоторых даже есть туторы по созданию
Перейти к материалу
📣 Все для прокачки навыков:
✅ Анонсы → канал
✅ Комьюнити → чат
✅ База задач и вопросов → платформа
#Собес #состояние
🤔 Чем отличается StateFlow от SharedFlow?
💬 Кратко:
📌 Полный разбор + примеры использования — на платформе:
👉 Перейти к разбору
📣 Все для прокачки навыков:
✅ Анонсы → канал
✅ Комьюнити → чат
✅ База задач и вопросов → платформа
🤔 Чем отличается StateFlow от SharedFlow?
💬 Кратко:
StateFlow хранит текущее состояние и отправляет его новым подписчикам. Он всегда имеет значение и подходит для управления UI-состоянием. SharedFlow не хранит состояние и просто транслирует события, без обязательного начального значения. Он подходит для одноразовых событий, например, уведомлений или действий.📌 Полный разбор + примеры использования — на платформе:
👉 Перейти к разбору
📣 Все для прокачки навыков:
✅ Анонсы → канал
✅ Комьюнити → чат
✅ База задач и вопросов → платформа
Forwarded from 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)
📣 Все для прокачки навыков:
✅ Анонсы → канал
✅ Комьюнити → чат
✅ База задач и вопросов → платформа
🤔 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 кейсы в мобильных приложениях, веб-сайтах и в реальном мире. Дизайнерам и менеджерам по продукту, чтобы вдохновиться и добавить в заметки.
Перейти к материалу
📣 Все для прокачки навыков:
✅ Анонсы → канал
✅ Комьюнити → чат
✅ База задач и вопросов → платформа
📚 Сделай удобно: подборка UI/UX-кейсов из цифровых и нецифровых продуктов (#22)
Продолжаю изучать различные UI/UX/CX кейсы в мобильных приложениях, веб-сайтах и в реальном мире. Дизайнерам и менеджерам по продукту, чтобы вдохновиться и добавить в заметки.
Перейти к материалу
📣 Все для прокачки навыков:
✅ Анонсы → канал
✅ Комьюнити → чат
✅ База задач и вопросов → платформа
#Собес #presentation #layer
🤔 Какие слои архитектуры целесообразно выделить в приложении, где экран должен получать данные из сети и отображать их?
💬 Кратко:
Обычно выделяют три слоя: presentation, domain и data. Presentation управляет состоянием UI, domain содержит бизнес-логику и use cases, data отвечает за получение данных из сети или базы. Такое разделение делает код понятным, тестируемым и расширяемым. Каждый слой зависит только от слоя ниже его.
📌 Полный разбор + примеры использования — на платформе:
👉 Перейти к разбору
📣 Все для прокачки навыков:
✅ Анонсы → канал
✅ Комьюнити → чат
✅ База задач и вопросов → платформа
🤔 Какие слои архитектуры целесообразно выделить в приложении, где экран должен получать данные из сети и отображать их?
💬 Кратко:
Обычно выделяют три слоя: 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)
📣 Все для прокачки навыков:
✅ Анонсы → канал
✅ Комьюнити → чат
✅ База задач и вопросов → платформа
🤔 Middle Android разработчик в компанию ОТП Банк
Техническое собеседование. Лето 2024
💬 Вопросы:
- Из чего состоит Android-приложение и какие у него основные компоненты?
- Как устроен жизненный цикл Fragment и чем он отличается от Activity?
- Как передать текст, полученный через Intent, в BroadcastReceiver и сохранить его на бэкенде?
- Какое исключение возникает при длительной работе сервиса?
- В чём разница между Application Context и Activity Context?
👉 Все вопросы из этого собеседования (16)
📣 Все для прокачки навыков:
✅ Анонсы → канал
✅ Комьюнити → чат
✅ База задач и вопросов → платформа
#Собес #docker #build #context
🤔 Какие проблемы могут приводить к долгой сборке Docker-образов?
💬 Кратко:
Основные причины — большой контекст сборки, неэффективное использование слоёв и отсутствие кеширования. Часто замедляют сборку лишние
📌 Полный разбор + примеры использования — на платформе:
👉 Перейти к разбору
📣 Все для прокачки навыков:
✅ Анонсы → канал
✅ Комьюнити → чат
✅ База задач и вопросов → платформа
🤔 Какие проблемы могут приводить к долгой сборке Docker-образов?
💬 Кратко:
Основные причины — большой контекст сборки, неэффективное использование слоёв и отсутствие кеширования. Часто замедляют сборку лишние
COPY, установка зависимостей при каждом билде и неправильный порядок инструкций. В CI эти проблемы проявляются особенно сильно.📌 Полный разбор + примеры использования — на платформе:
👉 Перейти к разбору
📣 Все для прокачки навыков:
✅ Анонсы → канал
✅ Комьюнити → чат
✅ База задач и вопросов → платформа
#article #kotlin
📚 Чем занимается Android-разработчик, или Хватит уже спрашивать у них алгоритмы
Автор, опытный Android-разработчик, развенчивает мифы о том, что на собеседованиях и в реальной работе главное — знать алгоритмы, и подробно рассказывает, чем действительно занимается мобильный разработчик: работу в команде (ревью кода, коммуникация), планирование и дизайн фич, верстку UI, написание логики приложения, управление многопоточностью, взаимодействие с инструментами сборки и публикацию в магазины приложений. Он подчеркивает, что ключевые навыки — это практический опыт, знание инструментов (например Git, Gradle, Kotlin/Java) и умение решать реальные инженерные задачи, а не только теорию алгоритмов
Перейти к материалу
📣 Все для прокачки навыков:
✅ Анонсы → канал
✅ Комьюнити → чат
✅ База задач и вопросов → платформа
📚 Чем занимается Android-разработчик, или Хватит уже спрашивать у них алгоритмы
Автор, опытный Android-разработчик, развенчивает мифы о том, что на собеседованиях и в реальной работе главное — знать алгоритмы, и подробно рассказывает, чем действительно занимается мобильный разработчик: работу в команде (ревью кода, коммуникация), планирование и дизайн фич, верстку UI, написание логики приложения, управление многопоточностью, взаимодействие с инструментами сборки и публикацию в магазины приложений. Он подчеркивает, что ключевые навыки — это практический опыт, знание инструментов (например Git, Gradle, Kotlin/Java) и умение решать реальные инженерные задачи, а не только теорию алгоритмов
Перейти к материалу
📣 Все для прокачки навыков:
✅ Анонсы → канал
✅ Комьюнити → чат
✅ База задач и вопросов → платформа
❤1
#Собес #type-safe_builders #dsl #extension_function
🤔 Объясните, что такое конструкторы с безопасными типами в Kotlin.
💬 Кратко:
Type-Safe Builders позволяют создавать DSL с использованием функций-расширений и лямбд. Они обеспечивают безопасное построение сложных структур данных на этапе компиляции, повышая читаемость и предотвращая ошибки.
📌 Полный разбор + примеры использования — на платформе:
👉 Перейти к разбору
📣 Все для прокачки навыков:
✅ Анонсы → канал
✅ Комьюнити → чат
✅ База задач и вопросов → платформа
🤔 Объясните, что такое конструкторы с безопасными типами в Kotlin.
💬 Кратко:
Type-Safe Builders позволяют создавать DSL с использованием функций-расширений и лямбд. Они обеспечивают безопасное построение сложных структур данных на этапе компиляции, повышая читаемость и предотвращая ошибки.
📌 Полный разбор + примеры использования — на платформе:
👉 Перейти к разбору
📣 Все для прокачки навыков:
✅ Анонсы → канал
✅ Комьюнити → чат
✅ База задач и вопросов → платформа
#Собес #android #components #intent
🤔 Middle Android разработчик в компанию ОТП Банк
Техническое собеседование. Лето 2024
💬 Вопросы:
- Из чего состоит Android-приложение и какие у него основные компоненты?
- Как устроен жизненный цикл Fragment и чем он отличается от Activity?
- Как передать текст, полученный через Intent, в BroadcastReceiver и сохранить его на бэкенде?
- Какое исключение возникает при длительной работе сервиса?
- В чём разница между Application Context и Activity Context?
👉 Все вопросы из этого собеседования (16)
📣 Все для прокачки навыков:
✅ Анонсы → канал
✅ Комьюнити → чат
✅ База задач и вопросов → платформа
🤔 Middle Android разработчик в компанию ОТП Банк
Техническое собеседование. Лето 2024
💬 Вопросы:
- Из чего состоит Android-приложение и какие у него основные компоненты?
- Как устроен жизненный цикл Fragment и чем он отличается от Activity?
- Как передать текст, полученный через Intent, в BroadcastReceiver и сохранить его на бэкенде?
- Какое исключение возникает при длительной работе сервиса?
- В чём разница между Application Context и Activity Context?
👉 Все вопросы из этого собеседования (16)
📣 Все для прокачки навыков:
✅ Анонсы → канал
✅ Комьюнити → чат
✅ База задач и вопросов → платформа
#Собес #deferrable #sensor
🤔 Чем отличаются обычные сенсоры от deferrable-сенсоров?
💬 Кратко:
Обычные сенсоры постоянно занимают worker во время ожидания. Deferrable-сенсоры освобождают worker и «засыпают» до наступления события. Они используют асинхронную модель ожидания. Это позволяет существенно снизить нагрузку на систему. Deferrable-сенсоры лучше подходят для долгих ожиданий.
📌 Полный разбор + примеры использования — на платформе:
👉 Перейти к разбору
📣 Все для прокачки навыков:
✅ Анонсы → канал
✅ Комьюнити → чат
✅ База задач и вопросов → платформа
🤔 Чем отличаются обычные сенсоры от deferrable-сенсоров?
💬 Кратко:
Обычные сенсоры постоянно занимают worker во время ожидания. Deferrable-сенсоры освобождают worker и «засыпают» до наступления события. Они используют асинхронную модель ожидания. Это позволяет существенно снизить нагрузку на систему. Deferrable-сенсоры лучше подходят для долгих ожиданий.
📌 Полный разбор + примеры использования — на платформе:
👉 Перейти к разбору
📣 Все для прокачки навыков:
✅ Анонсы → канал
✅ Комьюнити → чат
✅ База задач и вопросов → платформа
#article #jetpackcompose
📚 Создание кастомного Toolbar с Jetpack Compose. Подробный разбор всех попыток и решений
В статье Android-разработчик из ПСБ подробно показывает, как он создавал кастомный Toolbar на Jetpack Compose, решая ключевую проблему — корректное центрирование заголовка и подзаголовка при динамическом содержимом слева и справа. Через примеры реализации с Row и весами (weight) автор объясняет ограничения простых подходов и приходит к использованию компонента Layout, который даёт полный контроль над измерениями и позиционированием элементов, снижает ненужные рекомпозиции и делает интерфейс более стабильным и предсказуемым.
Перейти к материалу
📣 Все для прокачки навыков:
✅ Анонсы → канал
✅ Комьюнити → чат
✅ База задач и вопросов → платформа
📚 Создание кастомного Toolbar с Jetpack Compose. Подробный разбор всех попыток и решений
В статье Android-разработчик из ПСБ подробно показывает, как он создавал кастомный Toolbar на Jetpack Compose, решая ключевую проблему — корректное центрирование заголовка и подзаголовка при динамическом содержимом слева и справа. Через примеры реализации с Row и весами (weight) автор объясняет ограничения простых подходов и приходит к использованию компонента Layout, который даёт полный контроль над измерениями и позиционированием элементов, снижает ненужные рекомпозиции и делает интерфейс более стабильным и предсказуемым.
Перейти к материалу
📣 Все для прокачки навыков:
✅ Анонсы → канал
✅ Комьюнити → чат
✅ База задач и вопросов → платформа
#Собес #also #scope_function #side_effect
🤔 Что такое функция "also" в Kotlin?
💬 Кратко:
Функция
📌 Полный разбор + примеры использования — на платформе:
👉 Перейти к разбору
📣 Все для прокачки навыков:
✅ Анонсы → канал
✅ Комьюнити → чат
✅ База задач и вопросов → платформа
🤔 Что такое функция "also" в Kotlin?
💬 Кратко:
Функция
also выполняет дополнительные действия с объектом внутри лямбда-выражения, но возвращает сам объект без изменений. Это полезно, когда нужно выполнить побочные эффекты, такие как логирование или проверку состояния, но оставить объект неизменным.📌 Полный разбор + примеры использования — на платформе:
👉 Перейти к разбору
📣 Все для прокачки навыков:
✅ Анонсы → канал
✅ Комьюнити → чат
✅ База задач и вопросов → платформа
👍1
#Собес #apk #activity #service
🤔 Из чего состоит Android-приложение и какие у него основные компоненты?
💬 Кратко:
Android-приложение состоит из APK-контейнера, содержащего код (DEX-файлы), ресурсы, манифест и нативную библиотеку. Основные компоненты внутри — Activity (экран), Service (фоновые задачи), BroadcastReceiver (приём широковещательных Intent) и ContentProvider (доступ к данным). Они объявляются в AndroidManifest.xml и взаимодействуют через Intent.
📌 Полный разбор + примеры использования — на платформе:
👉 Перейти к разбору
📣 Все для прокачки навыков:
✅ Анонсы → канал
✅ Комьюнити → чат
✅ База задач и вопросов → платформа
🤔 Из чего состоит Android-приложение и какие у него основные компоненты?
💬 Кратко:
Android-приложение состоит из APK-контейнера, содержащего код (DEX-файлы), ресурсы, манифест и нативную библиотеку. Основные компоненты внутри — Activity (экран), Service (фоновые задачи), BroadcastReceiver (приём широковещательных Intent) и ContentProvider (доступ к данным). Они объявляются в AndroidManifest.xml и взаимодействуют через Intent.
📌 Полный разбор + примеры использования — на платформе:
👉 Перейти к разбору
📣 Все для прокачки навыков:
✅ Анонсы → канал
✅ Комьюнити → чат
✅ База задач и вопросов → платформа
👍1