Node.js Backend | YeaHub
467 subscribers
232 photos
15 videos
588 links
Теория, подготовка к интервью и курсы для Node.js разработчиков

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

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

Для связи: @ruslan_kuyanets
Download Telegram
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
❤1👍1
#Собес #weakmap #garbage
🤔 Чем WeakMap отличается от Map?

💬 Кратко:

WeakMap отличается тем, что его ключи могут быть только объектами, и они хранятся как слабые ссылки. Если на объект-ключ больше нет сильных ссылок, он удаляется сборщиком мусора вместе со значением. В WeakMap нельзя итерироваться по элементам и узнать размер. Map таких ограничений не имеет и удерживает данные в памяти.

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

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

Добавили новое собеседование в Ozon на Frontend-разработчика и сразу 3 новые задачи 🚀

1. Frontend Разработчик в Ozon (Algo)
Алгоритмическое собеседование
📅 Дата: март 2026
💰 Вилка: от 250к

Дополнительно:
— задачи на реализацию fetchWithRetries
— типизация функции
— рефакторинг React-компонента

🔗 https://app.yeahub.ru/wiki/collections/257

2. Middle Frontend в Ozon (Algo 2)
Алгоритмическая секция
📅 Дата: декабрь 2025
💰 Ожидания по ЗП: от 300к
🧠 Опыт: ~5 лет

Стандартный этап: обсуждение опыта + решение задач

🔗 https://app.yeahub.ru/wiki/collections/258

3. Новые задачи
— Игла в стоге сена (Needle in Haystack)
— Сравнение версий (Compare Versions)
— Поиск суммы двух индексов (Two Sum Indices)

Теперь доступны также на: 🖥 Java, 🖥 Python, 👩‍💻 Golang

Продолжаем пополнять базу — дальше больше 💪
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
#Собес #latency #throughput
🤔 Почему важно учитывать время ответа сервера при polling?

💬 Кратко:

Если время ответа сервера большое, то частый polling приводит к параллельным запросам, очередям и росту нагрузки. Это может вызвать замедление приложения, лишний трафик и даже 429/5xx из-за перегруза. Правильный polling учитывает latency: следующий запрос отправляют после завершения предыдущего и/или увеличивают интервал. Иногда лучше заменить polling на WebSocket/SSE, если нужны частые обновления.

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

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

Основной репозиторий системы оркестрации контейнеров Kubernetes. Здесь можно изучить архитектуру, API, механизмы управления кластерами и принципы работы с контейнерами в распределённой среде. Полезен для понимания низкоуровневых механизмов Kubernetes, разбора паттернов развёртывания и настройки высокодоступных систем.

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

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

💬 Кратко:

Замыкание формируется в момент создания функции, а не её вызова. Функция запоминает лексическое окружение, в котором была объявлена. Благодаря этому она имеет доступ к внешним переменным даже после завершения их выполнения. Это базовый механизм языка. Он широко используется в практике.

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

📣 Все для прокачки навыков:
✅ Анонсы → канал
✅ Комьюнити → чат
✅ База задач и вопросов → платформа
#Собес #canactivate #guard #useguards
🤔 Опишите, как настроить и использовать Guards.

💬 Кратко:

Guards реализуют интерфейс CanActivate, который содержит метод canActivate. Этот метод возвращает true или false (или Promise/Observable), указывая, разрешен ли доступ к маршруту. Guards можно применять глобально, к отдельным контроллерам или маршрутам с помощью декоратора @UseGuards.

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

📣 Все для прокачки навыков:
✅ Анонсы → канал
✅ Комьюнити → чат
✅ База задач и вопросов → платформа
#Собес #devops #deployment #pipeline
🤔 Какую роль играет DevOps в процессе деплоя frontend-приложения?

💬 Кратко:

DevOps отвечает за инфраструктуру и автоматизацию деплоя frontend-приложений. Он настраивает CI/CD-пайплайны и окружения. Обеспечивает стабильность сборки и доставки кода. Следит за мониторингом и логами. Это позволяет разработчикам сосредоточиться на коде.

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

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

💬 Кратко:

Web Vitals — это набор ключевых метрик, которые Google использует для оценки скорости и удобства сайта. Основные из них:

- LCP (Largest Contentful Paint) — время загрузки самого большого элемента.
- FID (First Input Delay) — задержка перед реакцией на первое действие пользователя.
- CLS (Cumulative Layout Shift) — неожиданные смещения элементов на странице.

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

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

🤔 Middle/Middle+ Node.js Backend разработчик в компанию rolftech

Техсобес. ЗП: от 250к. Июнь 2025. Опыт: 4 года. Непростой собес, спрашивали по опыт и глубоко копали в техничку. Был лайвкодинг.

💬 Вопросы:

- Для чего нужен прототип?

- Что такое оператор нулевого слияния?

- Перечислите все способы копирования объектов?

- Как работает сборщик мусора (garbage collector) в JavaScript? Какие есть стратегии для управления памятью?

- Что такое enum в TypeScript и как его использовать?

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

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

💬 Кратко:

Для изменения пароля пользователя используется команда ALTER USER или \password в командной строке psql. Пароль можно менять как для текущего пользователя, так и для других пользователей с нужными правами доступа.

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

📣 Все для прокачки навыков:
✅ Анонсы → канал
✅ Комьюнити → чат
✅ База задач и вопросов → платформа
#article #event_loop #promise
📚 Полное понимание асинхронности в браузере

Гайд по асинхронности в JavaScript. Статья на Хабр от Яндекса

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

📣 Все для прокачки навыков:
✅ Анонсы → канал
✅ Комьюнити → чат
✅ База задач и вопросов → платформа
#Собес #HTTP #authentication #Authorization_header
🤔 Где передаются данные аутентификации в HTTP-запросах?

💬 Кратко:
Данные аутентификации обычно передаются в заголовках HTTP-запроса. Наиболее распространённый способ — заголовок Authorization, например, с типом Bearer для токенов. Также часто используются куки (Cookie), которые браузер отправляет автоматически для поддержания сессии. Реже данные могут передаваться в теле запроса (например, при отправке формы логина) или как параметры URL, но последний способ считается небезопасным.

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

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

💬 Кратко:

Используют дебаунсинг (debounce) или троттлинг (throttle). Дебаунс ждет, пока пользователь перестанет печатать (например, 300 мс), и только тогда отправляет запрос.

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

📣 Все для прокачки навыков:
✅ Анонсы → канал
✅ Комьюнити → чат
✅ База задач и вопросов → платформа
👍1
#Собес #message_delivery_semantics #at_least_once #at_most_once
🤔 Чем отличаются at least once, at most once, exactly once?

💬 Кратко:
Это три базовые гарантии доставки сообщений в асинхронных системах. 'At most once' означает, что сообщение будет доставлено один раз или не доставлено вовсе, что может привести к потере данных. 'At least once' гарантирует, что сообщение будет доставлено как минимум один раз, но возможны дубликаты. 'Exactly once' — это идеальная, но сложная в реализации гарантия, при которой сообщение обрабатывается ровно один раз, без потерь и дубликатов. На практике 'exactly once' часто эмулируется комбинацией 'at least once' и идемпотентной обработки на стороне потребителя.

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

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

Быстро печатать — не просто приятно, а выгодно. Когда пальцы успевают за мыслью, код льётся плавно.

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

📣 Все для прокачки навыков:
✅ Анонсы → канал
✅ Комьюнити → чат
✅ База задач и вопросов → платформа
#Собес #run #length #encoding
🤔 Как реализовать алгоритм сжатия строки и оценить его сложность?

💬 Кратко:

Простейший алгоритм сжатия строки — это run-length encoding, при котором одинаковые символы заменяются символом и количеством повторений. Например, aaabb превращается в a3b2. Такой алгоритм выполняется за O(n), так как строка проходит один раз.

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

📣 Все для прокачки навыков:
✅ Анонсы → канал
✅ Комьюнити → чат
✅ База задач и вопросов → платформа
#Собес #dispatchevent #customevent #dom
🤔 Как можно создать и инициировать пользовательское событие в JavaScript?

💬 Кратко:

В JavaScript можно создать пользовательское событие с помощью конструктора CustomEvent. Это событие можно инициировать с помощью метода dispatchEvent(). Пользовательские события полезны, когда нужно сигнализировать о каком-то действии или изменении состояния, которое не связано с встроенными событиями браузера.

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

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

💬 Кратко:

git reflog показывает историю всех перемещений HEAD, включая коммиты, слияния и переключения веток. Эта команда полезна для восстановления потерянных коммитов или веток.

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

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

Тут собрано всё, что нужно знать про самый популярный протокол интернета

✓ Все статус-коды с понятными объяснениями
✓ Методы и заголовки
✓ Подборка инструментов для тестирования HTTP
✓ Чёткая инфа про HTTP/3

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

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