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

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

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

Для связи: @ruslan_kuyanets
Download Telegram
#Собес #Unix_socket #IPC #inter-process_communication
🤔 Что такое Unix Socket?

💬 Кратко:
Unix Socket — это механизм межпроцессного взаимодействия (IPC), который позволяет процессам обмениваться данными на одной машине. В отличие от TCP/IP сокетов, он использует файл сокета вместо сетевого адреса. Это обеспечивает более высокую производительность и безопасность, так как данные не проходят через сетевой стек. Unix сокеты часто применяются в веб-серверах (например, Nginx и PHP-FPM) и базах данных для локального соединения.

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

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

💬 Кратко:
Монолитный фронтенд — это единое приложение, где весь код связан и развёртывается как одно целое. Его главные преимущества — простота разработки, отладки и развёртывания на ранних этапах. Основные недостатки — сложность масштабирования для больших команд и медленные деплои из-за необходимости пересборки всего приложения при любом изменении. Микрофронтенды решают эти проблемы, разбивая приложение на независимые части, но добавляют сложность в координации и настройке инфраструктуры.

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

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

🤔 Senior Node.js Backend-разработчик в DataLouna

Техническое собеседование. 30 июля 2026.

💬 Вопросы:

- Что такое PostgreSQL и каковы его основные особенности?

- Что такое Redis и для чего он используется?

- Что такое Kubernetes?

- Каковы преимущества использования Kubernetes?

- Что такое шардинг и репликация?

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

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

💬 Кратко:
Промежуточный токен, например CSRF-токен, используется для защиты от межсайтовой подделки запросов. Он генерируется сервером и встраивается в форму или заголовок запроса. При отправке данных сервер проверяет совпадение токена, что подтверждает легитимность запроса. Это предотвращает атаки, когда злоумышленник пытается выполнить действия от имени пользователя без его ведома.

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

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

Содержит почти 5к модулей обучения наверное по всем возможным технологиям.


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

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

💬 Кратко:

setTimeout выполняет указанную функцию один раз через заданное время, а setInterval — периодически, с указанным интервалом. Оба метода работают асинхронно, что значит, что они не блокируют основной поток выполнения программы. Чтобы остановить выполнение setInterval, нужно вызвать clearInterval, а для остановки отложенного вызова setTimeout — clearTimeout.

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

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

💬 Кратко:
Метод querySelector('*') возвращает первый элемент, соответствующий селектору '*', то есть любой элемент. Чтобы получить все элементы, нужно использовать querySelectorAll('*'), который возвращает NodeList со всеми элементами страницы. Это полезно для перебора или анализа всего DOM.

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

📣 Все для прокачки навыков:
✅ Анонсы → канал
✅ Комьюнити → чат
✅ База задач и вопросов → платформа
#Собес #relation #table #view
🤔 Что такое отношение (relation) в PostgreSQL?

💬 Кратко:

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

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

📣 Все для прокачки навыков:
✅ Анонсы → канал
✅ Комьюнити → чат
✅ База задач и вопросов → платформа
#repository #ии
📚 Генеративный ИИ для начинающих: работа с JavaScript

Внутри:
-Уроки по работе с OpenAI API
-Генерация изображений и текста с помощью JS
-Использование LLM прямо в веб-приложениях
-Работа с промпт-инжинирингом и токенами

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

📣 Все для прокачки навыков:
✅ Анонсы → канал
✅ Комьюнити → чат
✅ База задач и вопросов → платформа
#Собес #OpenID_Connect #OAuth_2.0 #authentication
🤔 Что такое OpenID Connect и как он связан с OAuth 2.0?

💬 Кратко:
OpenID Connect (OIDC) — это протокол аутентификации, который расширяет OAuth 2.0. OAuth 2.0 отвечает за авторизацию (доступ к ресурсам), а OIDC добавляет слой аутентификации (проверку личности пользователя). OIDC использует ID Token в формате JWT, который содержит информацию о пользователе, и стандартизирует процесс входа через сторонние сервисы.

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

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

💬 Кратко:
Асинхронность позволяет программе не блокироваться во время ожидания медленных операций ввода-вывода, таких как чтение файлов или сетевые запросы. Вместо простоя поток может выполнять другие задачи, что повышает общую пропускную способность системы. Это особенно важно для IO-bound задач, где основное время тратится на ожидание внешних ресурсов, а не на вычисления. Таким образом, один поток может обрабатывать множество операций параллельно, эффективно используя ресурсы.

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

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

💬 Кратко:
Основные способы — offset-based и cursor-based пагинация. Offset-based использует параметры limit и offset, но может страдать от проблем консистентности при изменении данных между запросами. Cursor-based пагинация использует уникальный маркер (курсор), указывающий на последний полученный элемент, что обеспечивает стабильность даже при добавлении или удалении записей. Для сложных случаев можно комбинировать подходы или использовать дополнительные гарантии на уровне базы данных.

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

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

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

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

📣 Все для прокачки навыков:
✅ Анонсы → канал
✅ Комьюнити → чат
✅ База задач и вопросов → платформа
#Собес #errors
🤔 В чем разница выводов – throw 'message' и throw new Error('message')?

💬 Кратко:

- throw 'message' — выбрасывает строку, но без стека вызовов и деталей ошибки.
- throw new Error('message') — создает объект ошибки с stack, name и другими свойствами, что упрощает отладку.

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

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

💬 Кратко:

Для оптимизации поиска по большим массивам данных можно использовать несколько подходов:

- Делать поиск асинхронным, используя Web Workers или setTimeout.
- Разбивать данные на страницы (пагинация) и загружать только нужную часть.
- Использовать алгоритмы поиска с меньшей сложностью, такие как бинарный поиск для отсортированных данных.

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

📣 Все для прокачки навыков:
✅ Анонсы → канал
✅ Комьюнити → чат
✅ База задач и вопросов → платформа
#Собес #index #b-tree #performance
🤔 За счёт чего работает ускорение при использовании индекса (B-дерево, структура данных)?

💬 Кратко:

Индексы ускоряют поиск за счет:

- Использования B-деревьев (сбалансированная структура)
- Сокращения количества операций ввода-вывода
- Оптимизации доступа к данным (бинарный поиск вместо полного сканирования)

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

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

Пишешь код в редакторе, двигаешь слайдер и смотришь, как движок выполняет каждую инструкцию

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

📣 Все для прокачки навыков:
✅ Анонсы → канал
✅ Комьюнити → чат
✅ База задач и вопросов → платформа
#Собес #file_copy #fs_module #Node.js
🤔 Как реализовать копирование файла?

💬 Кратко:
Копирование файла — это операция чтения данных из исходного файла и записи их в новый файл. В Node.js для этого используется модуль fs с методами fs.copyFile или fs.createReadStream/fs.createWriteStream. В Python стандартный способ — модуль shutil с функцией shutil.copy. Эти методы обрабатывают бинарные данные и корректно работают с большими файлами, не загружая их целиком в память.

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

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

💬 Кратко:
Да, можно передавать структуру через context.WithValue. Для этого нужно, чтобы структура реализовывала интерфейс (например, была любого типа) и передавалась как значение. Однако рекомендуется использовать контекст только для передачи служебных данных, таких как идентификаторы запросов или токены, а не для передачи бизнес-логики. Передача структур через контекст может усложнить тестирование и сделать код менее читаемым.

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

📣 Все для прокачки навыков:
✅ Анонсы → канал
✅ Комьюнити → чат
✅ База задач и вопросов → платформа
🫡1
#Собес #mac #address #ip
🤔 В чём разница между IP и MAC адресацией?

💬 Кратко:

MAC — уникальный идентификатор сетевого интерфейса на канальном уровне. IP — логический адрес, используемый для маршрутизации в интернете.

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

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

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

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

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