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

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

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

Для связи: @ruslan_kuyanets
Download Telegram
#Собес #jit #optimization #компиляция
🤔 В чем заключается суть оптимизации методов типа Just-In-Time (JIT)?

💬 Кратко:

Just-In-Time (JIT) оптимизация — это метод, при котором JavaScript-код компилируется в машинный код во время выполнения, а не заранее. Это позволяет движку адаптироваться к реальным условиям работы приложения, оптимизируя часто вызываемые функции и код. JIT-компиляция сочетает преимущества интерпретации и компиляции, обеспечивая более быструю работу кода, особенно в высоконагруженных приложениях.

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

📣 Хочешь получать больше таких разборов?
Подпишись на наш главный канал
#Собес #relational #table #primary_key
🤔 Что такое реляционная база данных?

💬 Кратко:

Реляционная база данных (РБД) хранит данные в виде таблиц (отношений), где каждая строка — запись, а столбцы — атрибуты. Для связи таблиц используются ключи (первичные и внешние). Такая структура обеспечивает целостность данных и позволяет эффективно выполнять запросы с помощью SQL.

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

📣 Хочешь получать больше таких разборов?
Подпишись на наш главный канал
#book #начинающие
📚 Node.js: разработка приложений в микросервисной архитектуре с нуля

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

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

👉 База вопросов 👉 Новости
#Собес #interceptors #nestinterceptor #executioncontext
🤔 Как использовать интерсепторы?

💬 Кратко:

Interceptors в NestJS используются для выполнения логики до или после вызова метода. Они подходят для таких задач, как логирование, обработка ошибок, модификация ответов и кеширование. Перехватчики реализуются через интерфейс NestInterceptor и применяются через декоратор @UseInterceptors.

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

📣 Хочешь получать больше таких разборов?
Подпишись на наш главный канал
🔍 Инструменты чтения плана запроса: EXPLAIN и EXPLAIN ANALYZE

Когда запрос в базе работает медленно — не надо гадать на кофейной гуще. В PostgreSQL есть два супер-инструмента, которые позволяют увидеть, что именно делает оптимизатор и где запрос тратит время

Речь про EXPLAIN и EXPLAIN ANALYZE

🥰 EXPLAIN — прогноз плана

EXPLAIN показывает, как PostgreSQL собирается выполнить запрос:
— какие индексы может использовать
— какой тип сканирования выберет (Seq Scan, Index Scan, Bitmap Index Scan)
— предполагаемое количество строк
— стоимость выполнения (cost)

😁 Полезно, когда ты хочешь понять теоретический план без реального запуска запроса

Пример запроса
EXPLAIN SELECT * FROM users WHERE email = 'test@mail.com';



⚡️ EXPLAIN ANALYZE — фактические замеры

EXPLAIN ANALYZE выполняет запрос реально и показывает:
— сколько времени занял каждый шаг
— реальное количество строк
— время старта операции
— расхождение между прогнозами и фактами

Если EXPLAIN — теория, то EXPLAIN ANALYZE — практика

Пример запроса
EXPLAIN ANALYZE SELECT * FROM users WHERE email = 'test@mail.com';

📝 Тут внимательнее: запрос действительно выполнится, поэтому с UPDATE/DELETE используй на тестовых данных



😴 Что смотреть в плане?
1) Seq Scan — сигнал: возможно нет индекса
2) Row Estimate vs Actual Rows — если сильно расходится, оптимизатор ошибся → можно помочь статистикой
3) Filter / Recheck — где происходит фильтрация
4) Timing — какой узел съедает больше всего времени
5) Planning Time / Execution Time — понять, где узкое место

🚀 Пост Guru Node.js: @DemetraIT
Please open Telegram to view this post
VIEW IN TELEGRAM
4
#Собес #node.js #event_loop #promise

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

Техническое собеседование. ЗП: от 220к. Август 2025. Опыт: 4 года. Средний собес, спрашивали по опыту (про достижения из резюме), были блоки по Node.js, ts, бд и микросервсам

💬 Вопросы:

- Виды тестов и их различия

- Какие бывают транспорты между микросервисами (синхронный подход (REST, gRPC) и асинхронный (kafka, rabbitMQ, NATS))

- Плюсы и минусы микросервисов

- Блокирующие и неблокирующие операции в Node.js

- Расскажи про Event-loop. Когда выполняется SetImmediate

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

📣 Хочешь больше собесов?
Подпишись на наш главный канал
1
#Собес #clustered #index #nonclustered
🤔 Как работают кластеризованные и некластеризованные индексы? Когда их стоит применять?

💬 Кратко:

Кластеризованный индекс хранит строки таблицы в порядке ключа — это сама таблица, упорядоченная по первичному ключу. Некластеризованный — отдельная структура (B-tree), которая хранит ключи и указатели на строки. Кластеризованный выгоден, если часто читают диапазоны по ключу, но таблица может упорядочиваться только одним способом. Некластеризованные подходят для дополнительных полей и точечного поиска.

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

📣 Хочешь получать больше таких разборов?
Подпишись на наш главный канал
#podcast #микросервисы #новости
📚 RadioJS

«RadioJS» — это подкаст для разработчиков, фокусирующийся на JavaScript и смежных технологиях. Ведущие в формате живого диалога обсуждают актуальные темы индустрии: фреймворки, инструменты, архитектурные подходы, тренды и личный опыт.

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

👉 База вопросов 👉 Новости
🔥2
#Собес #модуль #iife #область_видимости
🤔 Какие способы организации кода были до появления модулей?

💬 Кратко:

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

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

📣 Хочешь получать больше таких разборов?
Подпишись на наш главный канал
🔥1
📝 CAP-теорема простыми словами

Иногда на собесах или работе можно встретить вопрос про CAP теорему

В распределённых системах нельзя одновременно обеспечить три свойства:
1) C — Consistency: все узлы возвращают одинаковые данные
2) A — Availability: система всегда отвечает (не важно ошибки в бд или успех)
3) P — Partition tolerance: работает даже при проблемах сети при масштабировании

Причем в реальности выбираем P неизбежно, так как сеть ненадежна.
Поэтому реальный выбор — между C и A

☺️ CP — согласованность важнее доступности

Система лучше не ответит, чем вернёт разные данные из разных узлов
Примеры: Zookeeper, etcd, PostgreSQL в синхроне

💀 AP — доступность важнее согласованности

Система отвечает всегда, даже если данные временно расходятся. Это может быть удобно, например, при реализации лайков (не страшно, если будет расхождение)
Примеры: Cassandra, MongoDB, Dynamo-подобные

💡 Итог
CAP — это про компромисс: что для тебя важнее при аварии — доступность или корректность данных?

Есть еще так NewSQL, которые якобы могут и масштабироваться, советую почитать про такой вид бд

🚀 Пост Guru Node.js: @DemetraIT
Please open Telegram to view this post
VIEW IN TELEGRAM
1👍1
#Собес #message_broker #js #nodejs

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

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

💬 Вопросы:

- JWT что такое? Из каких частей состоит токен?

- Что такое CORS

- Как принято работать с файлами с Node.js

- Pick, Omit, Partial в TS

- Что такое опциональная цепочка в JS?

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

📣 Хочешь больше собесов?
Подпишись на наш главный канал
2🔥1
#Собес #normalization #1nf #2nf
🤔 Что такое нормальные формы в базах данных? Зачем они нужны?

💬 Кратко:

Нормальные формы (1NF, 2NF, 3NF, BCNF и др.) — это набор правил для проектирования таблиц, которые минимизируют дублирование данных и предотвращают аномалии вставки, обновления и удаления. Приведение схемы к нормальным формам упрощает поддержку и обеспечивает целостность.

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

📣 Хочешь получать больше таких разборов?
Подпишись на наш главный канал
#tool #гит
📚 Хочешь изучить Git, не рискуя своей локальной установкой?

Теперь можно запускать команды Git прямо из браузера , с пошаговым объяснением, что делает каждая команда.

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

👉 База вопросов 👉 Новости
#Собес #union-типы #гибкая_типизация #множественные_типы
🤔 Что такое union-типы в TypeScript и зачем они нужны?

💬 Кратко:

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

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

📣 Хочешь получать больше таких разборов?
Подпишись на наш главный канал
🎶 Архитектура Node.js и зачем нужен V8

🧠 Что такое Node.js
Напомню, что нода — это рантайм, который позволяет выполнять JavaScript вне браузера

😎 Из чего состоит Node.js
1) V8 — JS-движок от Google
Парсит и компилирует JavaScript в машинный код

2) Event Loop (libuv)
Управляет асинхронностью, таймерами, I/O, очередями задач

3) Thread Pool
Для блокирующих операций: fs, crypto, dns

4) C++ bindings
Связь между JS и системными вызовами ОС

Далее разберем v8 под капотом

🐗 Что есть внутри V8
— Call Stack (стек)
Хранит контекст выполнения функций

— Heap (куча)
Память для объектов, массивов, замыканий

— Garbage Collector
Автоматически очищает неиспользуемую память (рекомендую изучить подробнее)

— JIT-компиляция
Превращает JS в машинный код на лету

Помнить про внутренность v8 важно, так как иногда это спрашивают на собеседованиях


🚀 Пост Guru Node.js: @DemetraIT
Please open Telegram to view this post
VIEW IN TELEGRAM
4