#Собес #utility
🤔 Где могут быть полезны mapped types?
💬 Кратко:
Mapped Types (отображаемые типы) полезны, когда вам нужно создать новый тип на основе старого, применив одно и то же преобразование ко всем свойствам исходного типа. Они идеально подходят для задач, где требуется сделать все свойства опциональными (
📌 Полный разбор + примеры использования — на платформе:
👉 Перейти к разбору
📣 Все для прокачки навыков:
✅ Анонсы → канал
✅ Комьюнити → чат
✅ База задач и вопросов → платформа
🤔 Где могут быть полезны mapped types?
💬 Кратко:
Mapped Types (отображаемые типы) полезны, когда вам нужно создать новый тип на основе старого, применив одно и то же преобразование ко всем свойствам исходного типа. Они идеально подходят для задач, где требуется сделать все свойства опциональными (
Partial<T>), доступными только для чтения (Readonly<T>), или выбрать подмножество свойств по их именам. Это мощный инструмент для избежания рутинного дублирования кода при определении схожих типов.📌 Полный разбор + примеры использования — на платформе:
👉 Перейти к разбору
📣 Все для прокачки навыков:
✅ Анонсы → канал
✅ Комьюнити → чат
✅ База задач и вопросов → платформа
#Собес #reduce #accumulator
🤔 Как устроена функция reduce в JavaScript и для чего она используется?
💬 Кратко:
Функция
📌 Полный разбор + примеры использования — на платформе:
👉 Перейти к разбору
📣 Все для прокачки навыков:
✅ Анонсы → канал
✅ Комьюнити → чат
✅ База задач и вопросов → платформа
🤔 Как устроена функция reduce в JavaScript и для чего она используется?
💬 Кратко:
Функция
reduce используется для последовательной обработки элементов массива с сохранением промежуточного результата. Она принимает функцию обратного вызова, которая получает два аргумента — аккумулятор и текущий элемент массива.📌 Полный разбор + примеры использования — на платформе:
👉 Перейти к разбору
📣 Все для прокачки навыков:
✅ Анонсы → канал
✅ Комьюнити → чат
✅ База задач и вопросов → платформа
#Собес #two_phase_commit #distributed_transaction
🤔 Почему «отправка в брокер до коммита» не решает транзакционность с двумя очередями?
💬 Кратко:
С двумя независимыми очередями вы упираетесь в проблему двойной записи и отсутствие атомарности между БД и обоими брокерами. Без 2PC (дорого/редко доступно) единственный практичный путь — Outbox + идемпотентные публикации.
📌 Полный разбор + примеры использования — на платформе:
👉 Перейти к разбору
📣 Все для прокачки навыков:
✅ Анонсы → канал
✅ Комьюнити → чат
✅ База задач и вопросов → платформа
🤔 Почему «отправка в брокер до коммита» не решает транзакционность с двумя очередями?
💬 Кратко:
С двумя независимыми очередями вы упираетесь в проблему двойной записи и отсутствие атомарности между БД и обоими брокерами. Без 2PC (дорого/редко доступно) единственный практичный путь — Outbox + идемпотентные публикации.
📌 Полный разбор + примеры использования — на платформе:
👉 Перейти к разбору
📣 Все для прокачки навыков:
✅ Анонсы → канал
✅ Комьюнити → чат
✅ База задач и вопросов → платформа
#book #javascript #иб
📚 Node.js в действии
Авторы: Алекс Янг, Майк Кантело
Учебник расскажет о системах разработки интерфейса, а также часто встречающемся фреймворке Node. После прочтения начинающие специалисты научатся создавать приложения на основе Express. Автор предоставляет информацию о:
JavaScript
Системе проектирования frontend
Выборе фреймворка
Работе с ИБ
Тестировании и развертывании приложений
Перейти к материалу
📣 Все для прокачки навыков:
✅ Анонсы → канал
✅ Комьюнити → чат
✅ База задач и вопросов → платформа
📚 Node.js в действии
Авторы: Алекс Янг, Майк Кантело
Учебник расскажет о системах разработки интерфейса, а также часто встречающемся фреймворке Node. После прочтения начинающие специалисты научатся создавать приложения на основе Express. Автор предоставляет информацию о:
JavaScript
Системе проектирования frontend
Выборе фреймворка
Работе с ИБ
Тестировании и развертывании приложений
Перейти к материалу
📣 Все для прокачки навыков:
✅ Анонсы → канал
✅ Комьюнити → чат
✅ База задач и вопросов → платформа
#Собес #var #let #closure
🤔 Почему при использовании var в цикле получаются одинаковые значения?
💬 Кратко:
📌 Полный разбор + примеры использования — на платформе:
👉 Перейти к разбору
📣 Все для прокачки навыков:
✅ Анонсы → канал
✅ Комьюнити → чат
✅ База задач и вопросов → платформа
🤔 Почему при использовании var в цикле получаются одинаковые значения?
💬 Кратко:
var имеет функциональную область видимости, а не блочную. В цикле все итерации используют одну и ту же переменную, поэтому в замыканиях получается последнее значение.📌 Полный разбор + примеры использования — на платформе:
👉 Перейти к разбору
📣 Все для прокачки навыков:
✅ Анонсы → канал
✅ Комьюнити → чат
✅ База задач и вопросов → платформа
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
❤1👍1
#Собес #weakmap #garbage
🤔 Чем WeakMap отличается от Map?
💬 Кратко:
📌 Полный разбор + примеры использования — на платформе:
👉 Перейти к разбору
📣 Все для прокачки навыков:
✅ Анонсы → канал
✅ Комьюнити → чат
✅ База задач и вопросов → платформа
🤔 Чем 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
Продолжаем пополнять базу — дальше больше 💪
Добавили новое собеседование в 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)
Теперь доступны также на:
Продолжаем пополнять базу — дальше больше 💪
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
#Собес #latency #throughput
🤔 Почему важно учитывать время ответа сервера при polling?
💬 Кратко:
Если время ответа сервера большое, то частый polling приводит к параллельным запросам, очередям и росту нагрузки. Это может вызвать замедление приложения, лишний трафик и даже
📌 Полный разбор + примеры использования — на платформе:
👉 Перейти к разбору
📣 Все для прокачки навыков:
✅ Анонсы → канал
✅ Комьюнити → чат
✅ База задач и вопросов → платформа
🤔 Почему важно учитывать время ответа сервера при polling?
💬 Кратко:
Если время ответа сервера большое, то частый polling приводит к параллельным запросам, очередям и росту нагрузки. Это может вызвать замедление приложения, лишний трафик и даже
429/5xx из-за перегруза. Правильный polling учитывает latency: следующий запрос отправляют после завершения предыдущего и/или увеличивают интервал. Иногда лучше заменить polling на WebSocket/SSE, если нужны частые обновления.📌 Полный разбор + примеры использования — на платформе:
👉 Перейти к разбору
📣 Все для прокачки навыков:
✅ Анонсы → канал
✅ Комьюнити → чат
✅ База задач и вопросов → платформа
#repository #kubernetes #clusterops #containermanagement
📚 Kubernetes
Основной репозиторий системы оркестрации контейнеров Kubernetes. Здесь можно изучить архитектуру, API, механизмы управления кластерами и принципы работы с контейнерами в распределённой среде. Полезен для понимания низкоуровневых механизмов Kubernetes, разбора паттернов развёртывания и настройки высокодоступных систем.
Перейти к материалу
📣 Все для прокачки навыков:
✅ Анонсы → канал
✅ Комьюнити → чат
✅ База задач и вопросов → платформа
📚 Kubernetes
Основной репозиторий системы оркестрации контейнеров Kubernetes. Здесь можно изучить архитектуру, API, механизмы управления кластерами и принципы работы с контейнерами в распределённой среде. Полезен для понимания низкоуровневых механизмов Kubernetes, разбора паттернов развёртывания и настройки высокодоступных систем.
Перейти к материалу
📣 Все для прокачки навыков:
✅ Анонсы → канал
✅ Комьюнити → чат
✅ База задач и вопросов → платформа
#Собес #closure #lexical #scope
🤔 В какой момент формируется замыкание у функции?
💬 Кратко:
Замыкание формируется в момент создания функции, а не её вызова. Функция запоминает лексическое окружение, в котором была объявлена. Благодаря этому она имеет доступ к внешним переменным даже после завершения их выполнения. Это базовый механизм языка. Он широко используется в практике.
📌 Полный разбор + примеры использования — на платформе:
👉 Перейти к разбору
📣 Все для прокачки навыков:
✅ Анонсы → канал
✅ Комьюнити → чат
✅ База задач и вопросов → платформа
🤔 В какой момент формируется замыкание у функции?
💬 Кратко:
Замыкание формируется в момент создания функции, а не её вызова. Функция запоминает лексическое окружение, в котором была объявлена. Благодаря этому она имеет доступ к внешним переменным даже после завершения их выполнения. Это базовый механизм языка. Он широко используется в практике.
📌 Полный разбор + примеры использования — на платформе:
👉 Перейти к разбору
📣 Все для прокачки навыков:
✅ Анонсы → канал
✅ Комьюнити → чат
✅ База задач и вопросов → платформа
#Собес #canactivate #guard #useguards
🤔 Опишите, как настроить и использовать Guards.
💬 Кратко:
Guards реализуют интерфейс
📌 Полный разбор + примеры использования — на платформе:
👉 Перейти к разбору
📣 Все для прокачки навыков:
✅ Анонсы → канал
✅ Комьюнити → чат
✅ База задач и вопросов → платформа
🤔 Опишите, как настроить и использовать Guards.
💬 Кратко:
Guards реализуют интерфейс
CanActivate, который содержит метод canActivate. Этот метод возвращает true или false (или Promise/Observable), указывая, разрешен ли доступ к маршруту. Guards можно применять глобально, к отдельным контроллерам или маршрутам с помощью декоратора @UseGuards.📌 Полный разбор + примеры использования — на платформе:
👉 Перейти к разбору
📣 Все для прокачки навыков:
✅ Анонсы → канал
✅ Комьюнити → чат
✅ База задач и вопросов → платформа
#Собес #devops #deployment #pipeline
🤔 Какую роль играет DevOps в процессе деплоя frontend-приложения?
💬 Кратко:
DevOps отвечает за инфраструктуру и автоматизацию деплоя frontend-приложений. Он настраивает CI/CD-пайплайны и окружения. Обеспечивает стабильность сборки и доставки кода. Следит за мониторингом и логами. Это позволяет разработчикам сосредоточиться на коде.
📌 Полный разбор + примеры использования — на платформе:
👉 Перейти к разбору
📣 Все для прокачки навыков:
✅ Анонсы → канал
✅ Комьюнити → чат
✅ База задач и вопросов → платформа
🤔 Какую роль играет DevOps в процессе деплоя frontend-приложения?
💬 Кратко:
DevOps отвечает за инфраструктуру и автоматизацию деплоя frontend-приложений. Он настраивает CI/CD-пайплайны и окружения. Обеспечивает стабильность сборки и доставки кода. Следит за мониторингом и логами. Это позволяет разработчикам сосредоточиться на коде.
📌 Полный разбор + примеры использования — на платформе:
👉 Перейти к разбору
📣 Все для прокачки навыков:
✅ Анонсы → канал
✅ Комьюнити → чат
✅ База задач и вопросов → платформа
#Собес #optimization
🤔 Что такое Web Vitals?
💬 Кратко:
Web Vitals — это набор ключевых метрик, которые Google использует для оценки скорости и удобства сайта. Основные из них:
- LCP (Largest Contentful Paint) — время загрузки самого большого элемента.
- FID (First Input Delay) — задержка перед реакцией на первое действие пользователя.
- CLS (Cumulative Layout Shift) — неожиданные смещения элементов на странице.
📌 Полный разбор + примеры использования — на платформе:
👉 Перейти к разбору
📣 Все для прокачки навыков:
✅ Анонсы → канал
✅ Комьюнити → чат
✅ База задач и вопросов → платформа
🤔 Что такое 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)
📣 Все для прокачки навыков:
✅ Анонсы → канал
✅ Комьюнити → чат
✅ База задач и вопросов → платформа
🤔 Middle/Middle+ Node.js Backend разработчик в компанию rolftech
Техсобес. ЗП: от 250к. Июнь 2025. Опыт: 4 года. Непростой собес, спрашивали по опыт и глубоко копали в техничку. Был лайвкодинг.
💬 Вопросы:
- Для чего нужен прототип?
- Что такое оператор нулевого слияния?
- Перечислите все способы копирования объектов?
- Как работает сборщик мусора (garbage collector) в JavaScript? Какие есть стратегии для управления памятью?
- Что такое enum в TypeScript и как его использовать?
👉 Все вопросы из этого собеседования (26)
📣 Все для прокачки навыков:
✅ Анонсы → канал
✅ Комьюнити → чат
✅ База задач и вопросов → платформа
#Собес #password_change #alter_user #psql
🤔 Как изменить пароль пользователя в PostgreSQL?
💬 Кратко:
Для изменения пароля пользователя используется команда
📌 Полный разбор + примеры использования — на платформе:
👉 Перейти к разбору
📣 Все для прокачки навыков:
✅ Анонсы → канал
✅ Комьюнити → чат
✅ База задач и вопросов → платформа
🤔 Как изменить пароль пользователя в PostgreSQL?
💬 Кратко:
Для изменения пароля пользователя используется команда
ALTER USER или \password в командной строке psql. Пароль можно менять как для текущего пользователя, так и для других пользователей с нужными правами доступа.📌 Полный разбор + примеры использования — на платформе:
👉 Перейти к разбору
📣 Все для прокачки навыков:
✅ Анонсы → канал
✅ Комьюнити → чат
✅ База задач и вопросов → платформа
#article #event_loop #promise
📚 Полное понимание асинхронности в браузере
Гайд по асинхронности в JavaScript. Статья на Хабр от Яндекса
Перейти к материалу
📣 Все для прокачки навыков:
✅ Анонсы → канал
✅ Комьюнити → чат
✅ База задач и вопросов → платформа
📚 Полное понимание асинхронности в браузере
Гайд по асинхронности в JavaScript. Статья на Хабр от Яндекса
Перейти к материалу
📣 Все для прокачки навыков:
✅ Анонсы → канал
✅ Комьюнити → чат
✅ База задач и вопросов → платформа
#Собес #HTTP #authentication #Authorization_header
🤔 Где передаются данные аутентификации в HTTP-запросах?
💬 Кратко:
Данные аутентификации обычно передаются в заголовках HTTP-запроса. Наиболее распространённый способ — заголовок Authorization, например, с типом Bearer для токенов. Также часто используются куки (Cookie), которые браузер отправляет автоматически для поддержания сессии. Реже данные могут передаваться в теле запроса (например, при отправке формы логина) или как параметры URL, но последний способ считается небезопасным.
📌 Полный разбор + примеры использования — на платформе:
👉 Перейти к разбору
📣 Все для прокачки навыков:
✅ Анонсы → канал
✅ Комьюнити → чат
✅ База задач и вопросов → платформа
🤔 Где передаются данные аутентификации в HTTP-запросах?
💬 Кратко:
Данные аутентификации обычно передаются в заголовках HTTP-запроса. Наиболее распространённый способ — заголовок Authorization, например, с типом Bearer для токенов. Также часто используются куки (Cookie), которые браузер отправляет автоматически для поддержания сессии. Реже данные могут передаваться в теле запроса (например, при отправке формы логина) или как параметры URL, но последний способ считается небезопасным.
📌 Полный разбор + примеры использования — на платформе:
👉 Перейти к разбору
📣 Все для прокачки навыков:
✅ Анонсы → канал
✅ Комьюнити → чат
✅ База задач и вопросов → платформа