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
#Собес #thread #process
🤔 Что такое Thread? Чем он отличается от Process?
💬 Кратко:
В Ruby поток (Thread) — это легковесный исполнительный поток, который выполняется внутри одного процесса. Потоки позволяют параллельно выполнять несколько задач в рамках одного процесса, что позволяет более эффективно использовать ресурсы. Процесс же — это отдельная программа, которая работает в своем собственном адресном пространстве. Каждый процесс может содержать несколько потоков. Основное различие в том, что потоки разделяют память, а процессы работают в отдельных пространствах памяти.
📌 Полный разбор + примеры использования — на платформе:
👉 Перейти к разбору
📣 Все для прокачки навыков:
✅ Анонсы → канал
✅ Комьюнити → чат
✅ База задач и вопросов → платформа
🤔 Что такое Thread? Чем он отличается от Process?
💬 Кратко:
В Ruby поток (Thread) — это легковесный исполнительный поток, который выполняется внутри одного процесса. Потоки позволяют параллельно выполнять несколько задач в рамках одного процесса, что позволяет более эффективно использовать ресурсы. Процесс же — это отдельная программа, которая работает в своем собственном адресном пространстве. Каждый процесс может содержать несколько потоков. Основное различие в том, что потоки разделяют память, а процессы работают в отдельных пространствах памяти.
📌 Полный разбор + примеры использования — на платформе:
👉 Перейти к разбору
📣 Все для прокачки навыков:
✅ Анонсы → канал
✅ Комьюнити → чат
✅ База задач и вопросов → платформа
#Собес #b-tree #binary_search #index
🤔 Почему поиск в B-tree работает быстрее полного перебора данных?
💬 Кратко:
Потому что B-tree отсеивает ненужные данные, двигаясь по дереву, а не проверяя каждую строку таблицы.
📌 Полный разбор + примеры использования — на платформе:
👉 Перейти к разбору
📣 Все для прокачки навыков:
✅ Анонсы → канал
✅ Комьюнити → чат
✅ База задач и вопросов → платформа
🤔 Почему поиск в B-tree работает быстрее полного перебора данных?
💬 Кратко:
Потому что B-tree отсеивает ненужные данные, двигаясь по дереву, а не проверяя каждую строку таблицы.
📌 Полный разбор + примеры использования — на платформе:
👉 Перейти к разбору
📣 Все для прокачки навыков:
✅ Анонсы → канал
✅ Комьюнити → чат
✅ База задач и вопросов → платформа
#trainer #печать
📚 Тренируем печать
Быстро печатать — не просто приятно, а выгодно. Когда пальцы успевают за мыслью, код льётся плавно.
Перейти к материалу
📣 Все для прокачки навыков:
✅ Анонсы → канал
✅ Комьюнити → чат
✅ База задач и вопросов → платформа
📚 Тренируем печать
Быстро печатать — не просто приятно, а выгодно. Когда пальцы успевают за мыслью, код льётся плавно.
Перейти к материалу
📣 Все для прокачки навыков:
✅ Анонсы → канал
✅ Комьюнити → чат
✅ База задач и вопросов → платформа
#Собес #inheritance #overriding #super
🤔 Как наследуются методы? Можно ли переопределить метод?
💬 Кратко:
Методы наследуются от родительского класса, если они не переопределены. Методы можно переопределить в дочернем классе, чтобы изменить их поведение.
📌 Полный разбор + примеры использования — на платформе:
👉 Перейти к разбору
📣 Все для прокачки навыков:
✅ Анонсы → канал
✅ Комьюнити → чат
✅ База задач и вопросов → платформа
🤔 Как наследуются методы? Можно ли переопределить метод?
💬 Кратко:
Методы наследуются от родительского класса, если они не переопределены. Методы можно переопределить в дочернем классе, чтобы изменить их поведение.
📌 Полный разбор + примеры использования — на платформе:
👉 Перейти к разбору
📣 Все для прокачки навыков:
✅ Анонсы → канал
✅ Комьюнити → чат
✅ База задач и вопросов → платформа
#Собес #inherited #class #oop
🤔 С помощью какого хука можно посчитать количество потомков определенного класса?
💬 Кратко:
Для подсчета количества потомков класса можно использовать хук
📌 Полный разбор + примеры использования — на платформе:
👉 Перейти к разбору
📣 Все для прокачки навыков:
✅ Анонсы → канал
✅ Комьюнити → чат
✅ База задач и вопросов → платформа
🤔 С помощью какого хука можно посчитать количество потомков определенного класса?
💬 Кратко:
Для подсчета количества потомков класса можно использовать хук
inherited. Этот хук вызывается каждый раз, когда новый класс наследуется от текущего класса.📌 Полный разбор + примеры использования — на платформе:
👉 Перейти к разбору
📣 Все для прокачки навыков:
✅ Анонсы → канал
✅ Комьюнити → чат
✅ База задач и вопросов → платформа
#Собес #sql #nosql #database
🤔 Чем SQL отличается от NoSQL? Когда выбрать каждое решение?
💬 Кратко:
SQL (PostgreSQL) использует таблицы со строгой схемой, поддерживает сложные запросы и транзакции. NoSQL (MongoDB, Redis) — гибкие: документы, ключ-значение, графы. Выбирайте SQL для финансовых операций, NoSQL — для масштабируемости и неструктурированных данных (например, логов).
📌 Полный разбор + примеры использования — на платформе:
👉 Перейти к разбору
📣 Все для прокачки навыков:
✅ Анонсы → канал
✅ Комьюнити → чат
✅ База задач и вопросов → платформа
🤔 Чем SQL отличается от NoSQL? Когда выбрать каждое решение?
💬 Кратко:
SQL (PostgreSQL) использует таблицы со строгой схемой, поддерживает сложные запросы и транзакции. NoSQL (MongoDB, Redis) — гибкие: документы, ключ-значение, графы. Выбирайте SQL для финансовых операций, NoSQL — для масштабируемости и неструктурированных данных (например, логов).
📌 Полный разбор + примеры использования — на платформе:
👉 Перейти к разбору
📣 Все для прокачки навыков:
✅ Анонсы → канал
✅ Комьюнити → чат
✅ База задач и вопросов → платформа
#repository #клоны
📚 Clone Wars
Репо для тех, кто любит учиться на реальных примерах. Тут собрано более сотни опенсорсных клонов популярных сервисов: от Airbnb до YouTube
Каждый проект снабжен ссылками на исходный код, демками, описанием стека и количеством звезд на GitHub. А у некоторых даже есть туторы по созданию
Перейти к материалу
📣 Все для прокачки навыков:
✅ Анонсы → канал
✅ Комьюнити → чат
✅ База задач и вопросов → платформа
📚 Clone Wars
Репо для тех, кто любит учиться на реальных примерах. Тут собрано более сотни опенсорсных клонов популярных сервисов: от Airbnb до YouTube
Каждый проект снабжен ссылками на исходный код, демками, описанием стека и количеством звезд на GitHub. А у некоторых даже есть туторы по созданию
Перейти к материалу
📣 Все для прокачки навыков:
✅ Анонсы → канал
✅ Комьюнити → чат
✅ База задач и вопросов → платформа
#Собес #module #mixin #namespace
🤔 Что такое модуль и зачем его используют? Чем модуль отличается от класса?
💬 Кратко:
Модуль в Ruby — это способ группировать методы, константы и другие модули для их дальнейшего использования в классах. Основное отличие модуля от класса — его нельзя создавать с помощью
📌 Полный разбор + примеры использования — на платформе:
👉 Перейти к разбору
📣 Все для прокачки навыков:
✅ Анонсы → канал
✅ Комьюнити → чат
✅ База задач и вопросов → платформа
🤔 Что такое модуль и зачем его используют? Чем модуль отличается от класса?
💬 Кратко:
Модуль в Ruby — это способ группировать методы, константы и другие модули для их дальнейшего использования в классах. Основное отличие модуля от класса — его нельзя создавать с помощью
new. Модули часто применяются для организации кода и реализации множественного наследования через миксины.📌 Полный разбор + примеры использования — на платформе:
👉 Перейти к разбору
📣 Все для прокачки навыков:
✅ Анонсы → канал
✅ Комьюнити → чат
✅ База задач и вопросов → платформа
#Собес #ruby #disadvantages #performance
🤔 Какие проблемы в Ruby (как в языке программирования) вы видите? Какие, по вашему мнению, нужно решать как можно быстрее?
💬 Кратко:
Ruby — это гибкий и удобный язык, однако есть несколько проблем, таких как низкая производительность по сравнению с другими языками (например, Go или Java), а также высокая нагрузка на память при выполнении интенсивных операций. Одной из проблем является отсутствие хорошей поддержки многозадачности и параллельных вычислений. Это можно улучшить через улучшение механизмов многозадачности и оптимизацию скорости выполнения.
📌 Полный разбор + примеры использования — на платформе:
👉 Перейти к разбору
📣 Все для прокачки навыков:
✅ Анонсы → канал
✅ Комьюнити → чат
✅ База задач и вопросов → платформа
🤔 Какие проблемы в Ruby (как в языке программирования) вы видите? Какие, по вашему мнению, нужно решать как можно быстрее?
💬 Кратко:
Ruby — это гибкий и удобный язык, однако есть несколько проблем, таких как низкая производительность по сравнению с другими языками (например, Go или Java), а также высокая нагрузка на память при выполнении интенсивных операций. Одной из проблем является отсутствие хорошей поддержки многозадачности и параллельных вычислений. Это можно улучшить через улучшение механизмов многозадачности и оптимизацию скорости выполнения.
📌 Полный разбор + примеры использования — на платформе:
👉 Перейти к разбору
📣 Все для прокачки навыков:
✅ Анонсы → канал
✅ Комьюнити → чат
✅ База задач и вопросов → платформа
#Собес #foreign_key #primary_key #database_relationships
🤔 Как связи реализуются на уровне базы данных?
💬 Кратко:
Связи между таблицами в базе данных реализуются с помощью ключей. Первичный ключ (PRIMARY KEY) уникально идентифицирует запись в таблице. Внешний ключ (FOREIGN KEY) в одной таблице ссылается на первичный ключ в другой, создавая связь. Это обеспечивает целостность данных: нельзя удалить запись, на которую есть ссылки. Основные типы связей: один-ко-многим, один-к-одному и многие-ко-многим.
📌 Полный разбор + примеры использования — на платформе:
👉 Перейти к разбору
📣 Все для прокачки навыков:
✅ Анонсы → канал
✅ Комьюнити → чат
✅ База задач и вопросов → платформа
🤔 Как связи реализуются на уровне базы данных?
💬 Кратко:
Связи между таблицами в базе данных реализуются с помощью ключей. Первичный ключ (PRIMARY KEY) уникально идентифицирует запись в таблице. Внешний ключ (FOREIGN KEY) в одной таблице ссылается на первичный ключ в другой, создавая связь. Это обеспечивает целостность данных: нельзя удалить запись, на которую есть ссылки. Основные типы связей: один-ко-многим, один-к-одному и многие-ко-многим.
📌 Полный разбор + примеры использования — на платформе:
👉 Перейти к разбору
📣 Все для прокачки навыков:
✅ Анонсы → канал
✅ Комьюнити → чат
✅ База задач и вопросов → платформа
#repository #kubernetes #clusterops #containermanagement
📚 Kubernetes
Основной репозиторий системы оркестрации контейнеров Kubernetes. Здесь можно изучить архитектуру, API, механизмы управления кластерами и принципы работы с контейнерами в распределённой среде. Полезен для понимания низкоуровневых механизмов Kubernetes, разбора паттернов развёртывания и настройки высокодоступных систем.
Перейти к материалу
📣 Все для прокачки навыков:
✅ Анонсы → канал
✅ Комьюнити → чат
✅ База задач и вопросов → платформа
📚 Kubernetes
Основной репозиторий системы оркестрации контейнеров Kubernetes. Здесь можно изучить архитектуру, API, механизмы управления кластерами и принципы работы с контейнерами в распределённой среде. Полезен для понимания низкоуровневых механизмов Kubernetes, разбора паттернов развёртывания и настройки высокодоступных систем.
Перейти к материалу
📣 Все для прокачки навыков:
✅ Анонсы → канал
✅ Комьюнити → чат
✅ База задач и вопросов → платформа
#Собес #lambda #proc #anonymous_function
🤔 Что такое lambda?
💬 Кратко:
📌 Полный разбор + примеры использования — на платформе:
👉 Перейти к разбору
📣 Все для прокачки навыков:
✅ Анонсы → канал
✅ Комьюнити → чат
✅ База задач и вопросов → платформа
🤔 Что такое lambda?
💬 Кратко:
Lambda — это разновидность объекта Proc, который представляет собой блок кода с более строгим контролем аргументов. Она создаётся с помощью метода lambda или ->.📌 Полный разбор + примеры использования — на платформе:
👉 Перейти к разбору
📣 Все для прокачки навыков:
✅ Анонсы → канал
✅ Комьюнити → чат
✅ База задач и вопросов → платформа
#Собес #file #read #write
🤔 Что такое File?
💬 Кратко:
📌 Полный разбор + примеры использования — на платформе:
👉 Перейти к разбору
📣 Все для прокачки навыков:
✅ Анонсы → канал
✅ Комьюнити → чат
✅ База задач и вопросов → платформа
🤔 Что такое File?
💬 Кратко:
File — это класс в Ruby, используемый для работы с файлами. С его помощью можно читать, записывать и манипулировать файлами.📌 Полный разбор + примеры использования — на платформе:
👉 Перейти к разбору
📣 Все для прокачки навыков:
✅ Анонсы → канал
✅ Комьюнити → чат
✅ База задач и вопросов → платформа
#Собес #serial #sequence #postgresql
🤔 В чем разница между типом serial и последовательностью (sequence) в PostgreSQL?
💬 Кратко:
📌 Полный разбор + примеры использования — на платформе:
👉 Перейти к разбору
📣 Все для прокачки навыков:
✅ Анонсы → канал
✅ Комьюнити → чат
✅ База задач и вопросов → платформа
🤔 В чем разница между типом serial и последовательностью (sequence) в PostgreSQL?
💬 Кратко:
serial — это тип данных, который автоматически создает последовательность для генерации уникальных значений для столбца. sequence — это объект, который может использоваться вручную для генерации последовательных чисел. В отличие от serial, последовательность можно использовать в различных местах в базе данных.📌 Полный разбор + примеры использования — на платформе:
👉 Перейти к разбору
📣 Все для прокачки навыков:
✅ Анонсы → канал
✅ Комьюнити → чат
✅ База задач и вопросов → платформа
#tool #графы
📚 Терялся в собственном коде?
Встречай Gitvizz, инструмент, который мгновенно превращает кодовую базу в интерактивные графы, чтобы наглядно увидеть, как всё связано
Перейти к материалу
📣 Все для прокачки навыков:
✅ Анонсы → канал
✅ Комьюнити → чат
✅ База задач и вопросов → платформа
📚 Терялся в собственном коде?
Встречай Gitvizz, инструмент, который мгновенно превращает кодовую базу в интерактивные графы, чтобы наглядно увидеть, как всё связано
Перейти к материалу
📣 Все для прокачки навыков:
✅ Анонсы → канал
✅ Комьюнити → чат
✅ База задач и вопросов → платформа
#Собес #alias #renaming
🤔 Что такое алиас метода? Для чего нужны алиасы?
💬 Кратко:
Алиас метода позволяет определить новое имя для существующего метода. Это полезно для совместимости или улучшения читаемости кода.
📌 Полный разбор + примеры использования — на платформе:
👉 Перейти к разбору
📣 Все для прокачки навыков:
✅ Анонсы → канал
✅ Комьюнити → чат
✅ База задач и вопросов → платформа
🤔 Что такое алиас метода? Для чего нужны алиасы?
💬 Кратко:
Алиас метода позволяет определить новое имя для существующего метода. Это полезно для совместимости или улучшения читаемости кода.
📌 Полный разбор + примеры использования — на платформе:
👉 Перейти к разбору
📣 Все для прокачки навыков:
✅ Анонсы → канал
✅ Комьюнити → чат
✅ База задач и вопросов → платформа
#Собес #open_class #overriding #dynamic_programming
🤔 Что означает open class?
💬 Кратко:
Open class — это способность Ruby изменять или дополнять существующие классы в любой момент программы. Это позволяет добавлять новые методы или переопределять существующие.
📌 Полный разбор + примеры использования — на платформе:
👉 Перейти к разбору
📣 Все для прокачки навыков:
✅ Анонсы → канал
✅ Комьюнити → чат
✅ База задач и вопросов → платформа
🤔 Что означает open class?
💬 Кратко:
Open class — это способность Ruby изменять или дополнять существующие классы в любой момент программы. Это позволяет добавлять новые методы или переопределять существующие.
📌 Полный разбор + примеры использования — на платформе:
👉 Перейти к разбору
📣 Все для прокачки навыков:
✅ Анонсы → канал
✅ Комьюнити → чат
✅ База задач и вопросов → платформа
#Собес #tcp #three #way
🤔 Как устанавливается TCP-соединение и где в этом процессе используется HTTP/HTTPS?
💬 Кратко:
TCP-соединение устанавливается с помощью трехэтапного рукопожатия между клиентом и сервером. Сначала клиент и сервер договариваются о параметрах соединения, и только после этого можно передавать данные. HTTP работает поверх TCP и использует уже установленное соединение. HTTPS добавляет этап шифрования с помощью TLS перед началом передачи HTTP-данных. TCP отвечает за доставку, HTTP — за формат и смысл сообщений.
📌 Полный разбор + примеры использования — на платформе:
👉 Перейти к разбору
📣 Все для прокачки навыков:
✅ Анонсы → канал
✅ Комьюнити → чат
✅ База задач и вопросов → платформа
🤔 Как устанавливается TCP-соединение и где в этом процессе используется HTTP/HTTPS?
💬 Кратко:
TCP-соединение устанавливается с помощью трехэтапного рукопожатия между клиентом и сервером. Сначала клиент и сервер договариваются о параметрах соединения, и только после этого можно передавать данные. HTTP работает поверх TCP и использует уже установленное соединение. HTTPS добавляет этап шифрования с помощью TLS перед началом передачи HTTP-данных. TCP отвечает за доставку, HTTP — за формат и смысл сообщений.
📌 Полный разбор + примеры использования — на платформе:
👉 Перейти к разбору
📣 Все для прокачки навыков:
✅ Анонсы → канал
✅ Комьюнити → чат
✅ База задач и вопросов → платформа
#video #архитектура
📚 Road to Highload: видеопроект о проектировании архитектуры высоконагруженных систем
Инженеры Яндекс 360 накопили значительный опыт в проектировании и разработке систем, которыми ежедневно пользуются больше 95 миллионов человек ежемесячно.
В этом видеопроекте разработчики на практических примерах рассказывают, как создают архитектуру систем, которые держат 1 000 000 RPS и хранят петабайты мета-данных.
Перейти к материалу
📣 Все для прокачки навыков:
✅ Анонсы → канал
✅ Комьюнити → чат
✅ База задач и вопросов → платформа
📚 Road to Highload: видеопроект о проектировании архитектуры высоконагруженных систем
Инженеры Яндекс 360 накопили значительный опыт в проектировании и разработке систем, которыми ежедневно пользуются больше 95 миллионов человек ежемесячно.
В этом видеопроекте разработчики на практических примерах рассказывают, как создают архитектуру систем, которые держат 1 000 000 RPS и хранят петабайты мета-данных.
Перейти к материалу
📣 Все для прокачки навыков:
✅ Анонсы → канал
✅ Комьюнити → чат
✅ База задач и вопросов → платформа