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

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

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

Для связи: @ruslan_kuyanets
Download Telegram
#Собес #promise
🤔 На смену чего пришли промисы и какие у них основные состояния?

💬 Кратко:

Промисы пришли на смену callback hell и предоставили более чистый способ работы с асинхронными операциями. Промис имеет три состояния: pending (ожидание), fulfilled (выполнено успешно) и rejected (выполнено с ошибкой). После перехода в fulfilled или rejected состояние промиса больше не меняется.

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

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

💬 Кратко:

Транспортный уровень (4-й уровень модели OSI) отвечает за надёжную доставку данных между приложениями на разных хостах.

- Его главная задача — обеспечить сквозное соединение, то есть связь не между компьютерами, а между конкретными программами на них (например, между веб-браузером и веб-сервером).
- Для этого он использует порты — уникальные номера, которые идентифицируют приложения на одном устройстве (например, порт 80 для HTTP).
- На этом уровне работают два ключевых протокола: TCP, который гарантирует надёжную, упорядоченную доставку, и UDP, который обеспечивает быструю, но ненадёжную доставку без гарантий.
- Транспортный уровень также может управлять скоростью передачи данных, чтобы не перегрузить получателя (контроль потока).

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

📣 Все для прокачки навыков:
✅ Анонсы → канал
✅ Комьюнити → чат
✅ База задач и вопросов → платформа
❤1
#course #задачи #тесты
📚 JavaScript. A3 Задачи

Задачи на программирования на языке JavaScript, формат ввода-вывода делает задачи похожими на задачи на других языка программирования. В курсе используется синтаксис современного стандарта ES6.

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

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

💬 Кратко:

Vue-компонент проходит несколько этапов: создание, монтирование, обновление и уничтожение. Для каждого этапа существуют специальные хуки жизненного цикла. Они позволяют выполнять код в нужный момент времени. Например, инициализировать данные или очистить ресурсы. Знание этих хуков важно для управления логикой компонента.

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

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

💬 Кратко:

При использовании keep-alive компоненты не уничтожаются при скрытии. Вместо стандартных хуков уничтожения используются специальные хуки активации и деактивации. Это activated и deactivated. Они позволяют реагировать на повторное отображение компонента. Такой механизм используется для кэширования состояния.

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

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

💬 Кратко:

Основные HTTP-методы: GET, POST, PUT, PATCH, DELETE, HEAD, OPTIONS. GET используется для получения данных, POST — для создания или обработки, PUT — для полной замены ресурса, PATCH — для частичного изменения, DELETE — для удаления. HEAD возвращает только заголовки, а OPTIONS сообщает доступные методы. Методы отличаются не только назначением, но и семантикой и идемпотентностью.

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

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

IT-Tools — это веб-приложение с набором инструментов для разработчиков и ИТ-специалистов!

Оно предлагает функции для обработки текста, кодирования и декодирования данных, работы с хешами, базами данных, а также инструменты для работы с сетью, JSON и другими форматами.

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

📣 Все для прокачки навыков:
✅ Анонсы → канал
✅ Комьюнити → чат
✅ База задач и вопросов → платформа
#Собес #typescript #compilation
🤔 В чем плюсы и минусы TS.

💬 Кратко:

TypeScript добавляет статическую типизацию, что улучшает качество кода и уменьшает ошибки. Однако он требует компиляции и имеет более сложную настройку. Подходит для больших проектов и командной разработки.

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

📣 Все для прокачки навыков:
✅ Анонсы → канал
✅ Комьюнити → чат
✅ База задач и вопросов → платформа
#Собес #render #script #async
🤔 Как event loop влияет на парсинг HTML и как этого избежать?

💬 Кратко:

Event loop может приостанавливать парсинг HTML, если JavaScript выполняется во время загрузки страницы. Когда браузер встречает тег <script>, он останавливает парсинг и выполняет скрипт, что может замедлить загрузку страницы. Чтобы избежать этого, разработчики могут использовать атрибуты async или defer, которые позволяют загружать и выполнять скрипты асинхронно, не блокируя парсинг.

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

📣 Все для прокачки навыков:
✅ Анонсы → канал
✅ Комьюнити → чат
✅ База задач и вопросов → платформа
❤1
#Собес #explain #query #plan
🤔 Как определить, используется ли индекс в запросе?

💬 Кратко:

Для этого используют план выполнения запроса. В PostgreSQL — EXPLAIN и EXPLAIN ANALYZE. Если в плане указан Index Scan или Index Only Scan, значит индекс используется. Это основной и надёжный способ проверки.

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

📣 Все для прокачки навыков:
✅ Анонсы → канал
✅ Комьюнити → чат
✅ База задач и вопросов → платформа
❤1
#tool #профиль
📚 Awesome GitHub Profile: ваш профессиональный бренд в цифровом мире

Это уникальный инструмент для персонализации вашего GitHub-профиля, который поможет вам создать впечатляющее портфолио и выделиться среди других разработчиков.

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

📣 Все для прокачки навыков:
✅ Анонсы → канал
✅ Комьюнити → чат
✅ База задач и вопросов → платформа
❤1
#Собес #cookies #security #http-only
🤔 Какие флаги есть у куки (например, HttpOnly, Secure)?

💬 Кратко:

Основные флаги:

- HttpOnly: Запрещает доступ к куки через JavaScript (защита от XSS).
- Secure: Передача только по HTTPS.
- SameSite: Защита от CSRF (Strict, Lax, None).
- Expires/Max-Age: Время жизни куки.

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

📣 Все для прокачки навыков:
✅ Анонсы → канал
✅ Комьюнити → чат
✅ База задач и вопросов → платформа
❤3
#Собес #callback #context
🤔 Как получить доступ к самому массиву внутри колбэка?

💬 Кратко:

Сам массив передаётся в колбэк третьим аргументом. Это стандартное поведение методов массивов JavaScript. Благодаря этому колбэк имеет доступ ко всему массиву. Такой подход позволяет писать более гибкие условия. Он используется во всех методах итерации.

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

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

💬 Кратко:

У транзакции четыре ключевых свойства ACID: атомарность (all or nothing), согласованность (соблюдение правил и ограничений), изолированность (отсутствие влияния параллельных транзакций) и долговечность (сохранение изменений после фиксации).

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

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

Microservices.io создан Крисом Ричардсоном. опытным архитектором программного обеспечения, автором книги POJOs in Action, создателем оригинальной платформы CloudFoundry.com и автором шаблонов микросервисов.

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

📣 Все для прокачки навыков:
✅ Анонсы → канал
✅ Комьюнити → чат
✅ База задач и вопросов → платформа
#Собес #utility
🤔 Где могут быть полезны mapped types?

💬 Кратко:

Mapped Types (отображаемые типы) полезны, когда вам нужно создать новый тип на основе старого, применив одно и то же преобразование ко всем свойствам исходного типа. Они идеально подходят для задач, где требуется сделать все свойства опциональными (Partial<T>), доступными только для чтения (Readonly<T>), или выбрать подмножество свойств по их именам. Это мощный инструмент для избежания рутинного дублирования кода при определении схожих типов.

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

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

💬 Кратко:

Функция reduce используется для последовательной обработки элементов массива с сохранением промежуточного результата. Она принимает функцию обратного вызова, которая получает два аргумента — аккумулятор и текущий элемент массива.

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

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

💬 Кратко:

С двумя независимыми очередями вы упираетесь в проблему двойной записи и отсутствие атомарности между БД и обоими брокерами. Без 2PC (дорого/редко доступно) единственный практичный путь — Outbox + идемпотентные публикации.

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

📣 Все для прокачки навыков:
✅ Анонсы → канал
✅ Комьюнити → чат
✅ База задач и вопросов → платформа
#book #javascript #иб
📚 Node.js в действии
Авторы: Алекс Янг, Майк Кантело


Учебник расскажет о системах разработки интерфейса, а также часто встречающемся фреймворке Node. После прочтения начинающие специалисты научатся создавать приложения на основе Express. Автор предоставляет информацию о:
JavaScript
Системе проектирования frontend
Выборе фреймворка
Работе с ИБ
Тестировании и развертывании приложений

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

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

💬 Кратко:

var имеет функциональную область видимости, а не блочную. В цикле все итерации используют одну и ту же переменную, поэтому в замыканиях получается последнее значение.

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

📣 Все для прокачки навыков:
✅ Анонсы → канал
✅ Комьюнити → чат
✅ База задач и вопросов → платформа
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