#Собес #object_expression #anonymous_object #interface
🤔 Объясните концепцию object expressions в Kotlin.
💬 Кратко:
Object expressions в Kotlin позволяют создавать анонимные объекты с определённым поведением, которые могут реализовывать интерфейсы или наследовать классы. Эти объекты полезны, когда нужно создать объект для одноразового использования, без создания отдельного именованного класса. Они делают код более компактным и выразительным.
📌 Полный разбор + примеры использования — на платформе:
👉 Перейти к разбору
📣 Все для прокачки навыков:
✅ Анонсы → канал
✅ Комьюнити → чат
✅ База задач и вопросов → платформа
🤔 Объясните концепцию object expressions в Kotlin.
💬 Кратко:
Object expressions в Kotlin позволяют создавать анонимные объекты с определённым поведением, которые могут реализовывать интерфейсы или наследовать классы. Эти объекты полезны, когда нужно создать объект для одноразового использования, без создания отдельного именованного класса. Они делают код более компактным и выразительным.
📌 Полный разбор + примеры использования — на платформе:
👉 Перейти к разбору
📣 Все для прокачки навыков:
✅ Анонсы → канал
✅ Комьюнити → чат
✅ База задач и вопросов → платформа
#Собес #osi #model #application
🤔 На каком уровне модели OSI находится HTTP?
💬 Кратко:
HTTP находится на прикладном уровне (Application Layer) модели OSI, который является 7-м уровнем. Этот уровень отвечает за взаимодействие между приложениями и предоставляет сетевые услуги непосредственно пользовательским приложениям.
📌 Полный разбор + примеры использования — на платформе:
👉 Перейти к разбору
📣 Все для прокачки навыков:
✅ Анонсы → канал
✅ Комьюнити → чат
✅ База задач и вопросов → платформа
🤔 На каком уровне модели OSI находится HTTP?
💬 Кратко:
HTTP находится на прикладном уровне (Application Layer) модели OSI, который является 7-м уровнем. Этот уровень отвечает за взаимодействие между приложениями и предоставляет сетевые услуги непосредственно пользовательским приложениям.
📌 Полный разбор + примеры использования — на платформе:
👉 Перейти к разбору
📣 Все для прокачки навыков:
✅ Анонсы → канал
✅ Комьюнити → чат
✅ База задач и вопросов → платформа
#tool #профиль
📚 Awesome GitHub Profile: ваш профессиональный бренд в цифровом мире
Это уникальный инструмент для персонализации вашего GitHub-профиля, который поможет вам создать впечатляющее портфолио и выделиться среди других разработчиков.
Перейти к материалу
📣 Все для прокачки навыков:
✅ Анонсы → канал
✅ Комьюнити → чат
✅ База задач и вопросов → платформа
📚 Awesome GitHub Profile: ваш профессиональный бренд в цифровом мире
Это уникальный инструмент для персонализации вашего GitHub-профиля, который поможет вам создать впечатляющее портфолио и выделиться среди других разработчиков.
Перейти к материалу
📣 Все для прокачки навыков:
✅ Анонсы → канал
✅ Комьюнити → чат
✅ База задач и вопросов → платформа
#Собес #testing #coroutines #async
🤔 Почему тесты на корутины могут вести себя нестабильно, и как это можно предотвратить?
💬 Кратко:
Нестабильность возникает из-за асинхронности и реального времени. Решения: использование
📌 Полный разбор + примеры использования — на платформе:
👉 Перейти к разбору
📣 Все для прокачки навыков:
✅ Анонсы → канал
✅ Комьюнити → чат
✅ База задач и вопросов → платформа
🤔 Почему тесты на корутины могут вести себя нестабильно, и как это можно предотвратить?
💬 Кратко:
Нестабильность возникает из-за асинхронности и реального времени. Решения: использование
runTest, моков Dispatchers и контроль выполнения корутин.📌 Полный разбор + примеры использования — на платформе:
👉 Перейти к разбору
📣 Все для прокачки навыков:
✅ Анонсы → канал
✅ Комьюнити → чат
✅ База задач и вопросов → платформа
#Собес #viewmodel #repository #flow
🤔 Есть четыре ViewModel, и нужно каждые 5 секунд подписываться на запрос из сети. Как это лучше организовать?
💬 Кратко:
Лучше запускать единственный
📌 Полный разбор + примеры использования — на платформе:
👉 Перейти к разбору
📣 Все для прокачки навыков:
✅ Анонсы → канал
✅ Комьюнити → чат
✅ База задач и вопросов → платформа
🤔 Есть четыре ViewModel, и нужно каждые 5 секунд подписываться на запрос из сети. Как это лучше организовать?
💬 Кратко:
Лучше запускать единственный
Flow или LiveData в одном ViewModel, который внутри viewModelScope с помощью flow {} и delay(5000) эмитит результат каждые пять секунд. Остальные три ViewModel могут делегировать подписку на общий источник данных (SharedFlow или отдельный синглтон-репозиторий), чтобы не создавать дубли HTTP-запросов и экономить ресурсы.📌 Полный разбор + примеры использования — на платформе:
👉 Перейти к разбору
📣 Все для прокачки навыков:
✅ Анонсы → канал
✅ Комьюнити → чат
✅ База задач и вопросов → платформа
#article #retrofit
📚 Погружаемся в недра Retrofit
Думаю, многие задумывались о том, что происходит с функциями в интерфейсе Retrofit сервиса, когда мы помечаем их ключевым словом suspend? У некоторых даже есть заблуждение, что для сетевых запросов в таком случае используется корутиновский Dispatchers.IO. Спойлер — это не совсем так.
В этой статье мы как раз разберёмся, как всё работает на самом деле.
Перейти к материалу
📣 Все для прокачки навыков:
✅ Анонсы → канал
✅ Комьюнити → чат
✅ База задач и вопросов → платформа
📚 Погружаемся в недра Retrofit
Думаю, многие задумывались о том, что происходит с функциями в интерфейсе Retrofit сервиса, когда мы помечаем их ключевым словом suspend? У некоторых даже есть заблуждение, что для сетевых запросов в таком случае используется корутиновский Dispatchers.IO. Спойлер — это не совсем так.
В этой статье мы как раз разберёмся, как всё работает на самом деле.
Перейти к материалу
📣 Все для прокачки навыков:
✅ Анонсы → канал
✅ Комьюнити → чат
✅ База задач и вопросов → платформа
#Собес #strong_reference #soft_reference #weak_reference
🤔 Какие типы слабых и сильных ссылок существуют в JVM и когда их использовать?
💬 Кратко:
В JVM есть четыре типа ссылок: сильная (
📌 Полный разбор + примеры использования — на платформе:
👉 Перейти к разбору
📣 Все для прокачки навыков:
✅ Анонсы → канал
✅ Комьюнити → чат
✅ База задач и вопросов → платформа
🤔 Какие типы слабых и сильных ссылок существуют в JVM и когда их использовать?
💬 Кратко:
В JVM есть четыре типа ссылок: сильная (
strong), мягкая (soft), слабая (weak) и фантомная (phantom). Сильные не участвуют в сборке мусора. Мягкие используются для кэшей, удаляются при нехватке памяти. Слабые — для карт-кэширования, удаляются при следующем gc независимо от памяти. Фантомные применяются для финализации и пост-удаления.📌 Полный разбор + примеры использования — на платформе:
👉 Перейти к разбору
📣 Все для прокачки навыков:
✅ Анонсы → канал
✅ Комьюнити → чат
✅ База задач и вопросов → платформа
#Собес #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)
📣 Все для прокачки навыков:
✅ Анонсы → канал
✅ Комьюнити → чат
✅ База задач и вопросов → платформа
#Собес #high #load
🤔 Что можно сделать, если на сайт пришел всплеск пользователей и система не вывозит нагрузку (API / интерфейс тормозят)?
💬 Кратко:
Сначала нужно понять, где именно возникает узкое место: фронт, бэкенд, БД или сеть. Затем применяют кеширование, ограничение запросов и горизонтальное масштабирование. Часто помогает деградация функционала и асинхронная обработка. Главное — стабилизировать систему, а не сразу оптимизировать всё подряд.
📌 Полный разбор + примеры использования — на платформе:
👉 Перейти к разбору
📣 Все для прокачки навыков:
✅ Анонсы → канал
✅ Комьюнити → чат
✅ База задач и вопросов → платформа
🤔 Что можно сделать, если на сайт пришел всплеск пользователей и система не вывозит нагрузку (API / интерфейс тормозят)?
💬 Кратко:
Сначала нужно понять, где именно возникает узкое место: фронт, бэкенд, БД или сеть. Затем применяют кеширование, ограничение запросов и горизонтальное масштабирование. Часто помогает деградация функционала и асинхронная обработка. Главное — стабилизировать систему, а не сразу оптимизировать всё подряд.
📌 Полный разбор + примеры использования — на платформе:
👉 Перейти к разбору
📣 Все для прокачки навыков:
✅ Анонсы → канал
✅ Комьюнити → чат
✅ База задач и вопросов → платформа
#podcast #всё
📚 Подкасты Y_LAB
Здесь вы найдете разнообразный IT-контент: от глубоких технических обсуждений до увлекательных и расслабляющих бесед. Наши эпизоды охватывают широкий спектр тем, связанных с разработкой и новейшими технологиями, чтобы каждый разработчик нашел что-то для себя. Присоединяйтесь к нам, чтобы углубить свои знания, оставаться в тренде и вдохновляться новыми идеями!
Перейти к материалу
📣 Все для прокачки навыков:
✅ Анонсы → канал
✅ Комьюнити → чат
✅ База задач и вопросов → платформа
📚 Подкасты Y_LAB
Здесь вы найдете разнообразный IT-контент: от глубоких технических обсуждений до увлекательных и расслабляющих бесед. Наши эпизоды охватывают широкий спектр тем, связанных с разработкой и новейшими технологиями, чтобы каждый разработчик нашел что-то для себя. Присоединяйтесь к нам, чтобы углубить свои знания, оставаться в тренде и вдохновляться новыми идеями!
Перейти к материалу
📣 Все для прокачки навыков:
✅ Анонсы → канал
✅ Комьюнити → чат
✅ База задач и вопросов → платформа
#Собес #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 кейсы в мобильных приложениях, веб-сайтах и в реальном мире. Дизайнерам и менеджерам по продукту, чтобы вдохновиться и добавить в заметки.
Перейти к материалу
📣 Все для прокачки навыков:
✅ Анонсы → канал
✅ Комьюнити → чат
✅ База задач и вопросов → платформа