Руслан Куянец | Reactify
الذهاب إلى القناة على Telegram
Я IT-специалист, ментор и основатель проекта YeaHub и сообщества Reactify. Здесь рассказываю про Frontend и IT. Менторство: https://reactify.ru YouTube канал: https://youtube.com/@reactify-it YeaHub: https://yeahub.ru/ Связь: @ruslan_kuyanets
إظهار المزيد6 406
المشتركون
-424 ساعات
-107 أيام
-5230 أيام
أرشيف المشاركات
+1
😎 Самые сложные вопросы для новичков и самые популярные вопросы с собеседований
Один из больших плюсов развития платформы для подготовки к собеседованиям — это возможность делать аналитику. Сейчас мы анализируем, какие вопросы оказываются самыми сложными для тех, кто готовится к собесам. Как это проверяем? Всё просто: если человек нажимает «не знаю» в квизе, и таких пользователей много, значит вопрос действительно сложный и мало кому знаком.
Кроме того, мы добавляем на платформу реальные собеседования в цифровом виде и смотрим, какие вопросы встречаются чаще всего — получается очень крутая статистика.
Что в итоге? Если на собеседовании задать вопросы про Redux (который многие указывают в резюме), то можно довольно легко проверить реальные знания кандидата 😁 — вероятность того, что он не ответит, довольно высока.
А какой вопрос самый популярный для фронтенд-разработчиков? «Что такое CORS?» и «Как работает Event Loop?». Большая часть вопросов в топе — это JavaScript.
Сейчас в YeaHub мы наняли человека, который будет переносить всё больше собеседований из нашей базы записей на платформу. Хотим ускорить темп, чтобы охватить как можно больше компаний.
Также планируем до Нового года успеть запустить сервис лайвкодинга — что-то вроде LeetCode, но с реальными задачами с собеседований.
Можете сами изучить: https://yeahub.ru/dashboard/analytics
ПС. пока, что аналитика в бета тестировании, могут быть баги, пишите в поддержку сайта
🖥 TypeScript — как его стоит изучать
Есть важный момент: в реальной работе разработчик использует далеко не весь TypeScript — зачастую лишь 20–30% его возможностей. Поэтому новичку совершенно не обязательно сразу пытаться охватить всю технологию. Это только замедлит процесс, усложнит обучение и снизит эффективность.
К тому же теория без практики даётся тяжело, изолированные примеры часто непонятны, а задачи по TS поначалу кажутся перегруженными. В результате уходит много времени, а прогресс ощущается слабым. Классическое правило 20/80 здесь работает идеально: небольшой, но правильно выбранный набор знаний даёт максимальный результат.
🔹 Этап 1 — База + поверхностное знакомство с продвинутыми темами
На старте важно понять только основу типизации:
- примитивные типы
- type
- interface
- union-типы
- type aliases
И всё! Поверьте, большинство опытных разработчиков не держат в голове сложные типизации событий или утилит — всё это гуглится за 10 секунд.
Главное — практика. Получать ошибки TypeScript, гуглить их, разбираться — именно так и формируется настоящее понимание логики TS.
Что делать на этом этапе?
1. Посмотреть 1–2 курса (любые):
Полный курс TypeScript за час — https://www.youtube.com/watch?v=V7hBejCH1HI
TypeScript с 0 до Профи. Полный курс + Практика — https://www.youtube.com/watch?v=PYWaUwjofJo
2. Сразу начать проект:
Туду-лист, работа с API, калькулятор — неважно. Главное, чтобы был реальный код, а не только теория.
Идеальная длительность этапа — примерно 2 недели.
🔹 Этап 2 — Продвинутые темы (после освоения React)
Этот этап точно не нужен новичку. Продвинутый TS лучше изучать тогда, когда уже освоен весь React-стек и есть несколько пет-проектов.
Что входит в продвинутую часть?
- Generics
- Utility Types
- Type Guards
- Маппинг типов
- Сложные паттерны типизации
Как изучать?
1. Посмотреть фундаментальный курс:
TypeScript ФУНДАМЕНТАЛЬНЫЙ КУРС от А до Я — https://youtu.be/LWtHl__oEWc?si=JQidflBDL61By3mS
2. Начать решать задачи:
https://bigfrontend.dev/typescript
https://github.com/type-challenges/type-challenges
⭐️ Почему так?
Проблема большинства курсов в том, что они вываливают всю информацию сразу. Новичку это не помогает — он просто не может усвоить продвинутые концепции без опыта.
Точно так же, как нет смысла проходить весь React от и до при первом знакомстве, нет смысла полностью изучать TypeScript на старте.
#typescript
🚀 Сначала запусти — потом улучшай
Когда я начинал с Yeahub, меня манило всё отполировать: идеальный интерфейс, логика, тексты. Но я понял — пользователю это не важно, если продукт не решает его проблему.
Главное — понять, чего хочет человек, проверить гипотезу. Пусть через сырое приложение, без идеального дизайна. Всё остальное можно допилить позже.
Поэтому я полностью согласен с идеей челленджа «12 запусков за 12 месяцев» в комьюнити «Короче, Капитан». Там фаундеры не ждут идеального момента — они создают.
⚡️Фокус. Берёте одну проблему с проверенным спросом. Никаких догадок.
⚡️Скорость и бюджет. Ровно месяц на разработку и запуск в США/ЕС. Средний бюджет на продвижение — всего $150.
⚡️Анализ. В конце месяца — честный разбор: что сработало, а что нет.
Это и есть лучший способ расти. Потому что каждый запуск — это не просто продукт, это опыт, понимание пользователя и новый виток уверенности.
Вы в реальном времени видите запуск, продвижение и доход по каждому проекту. Идеальный способ прокачать насмотренность и перенять работающие подходы — даже если вы инженер, а не фаундер.
В будущем гарантированно набьете меньше шишек 💡
👉 Подписаться: @its_capitan
Реклама: ИП Зуев Игорь Владимирович, ИНН: 360408359441, Erid: 2VtzqwAuk72
Почему Элита? Не чтобы кого-то задеть — просто для атмосферы.
Как говорится, как корабль назовёшь — так он и поплывёт.
Вот я и решил, что пусть хотя бы название звучит солидно, раз уж сами мы обычные фронтендеры 😄
💪 Frontend Элита — сообщество фронтендеров от Reactify x YeaHub
Ну что, пора начинать! Чат ещё не полностью доделан, но уже готов принимать своих первых участников 🙌
Присоединяйтесь, коллеги и единомышленники!
Чат абсолютно бесплатный — впереди гайды, полезные материалы и различные активности, которые мы будем постепенно добавлять.
Добро пожаловать в наше сообщество! 🚀
https://t.me/+TCFPcrZTS9YwZDli
Всем привет!
Запускаю свою вторую попытку создать активное и полезное сообщество (на самом деле это уже удалось: в чате с учениками — 215 человек, и там отличная активность; теперь хочется сделать ещё и открытую бесплатную версию).
Уже подготовил чат с различными топиками, разделами и подборками ресурсов. Планирую регулярно пополнять его материалами: занятиями с менторством, разбором работ, ответами на вопросы, а также стримами.
Параллельно собираюсь активно ворваться на YouTube — идей действительно много. Фактически у меня уже есть готовые сценарии: мои собственные курсы с менторства. Осталось всего лишь начать записывать видео, так что контента будет достаточно!
Сообщество будет закрытым, но бесплатным чатом. Назвал его «Frontend Элита» 😂
Буду рад каждому участнику. До конца недели пришлю ссылку сюда
Давайте вместе сделаем фронтенд снова великим! 💪 😇
https://www.youtube.com/watch?v=xe6AzdjVz4E
IT выходит на новый уровень 😅
Смотрим новое айтишников шоу 💪🏻
Сегодня в 13:00 мск
🔥 10 способов оптимизировать React-бандл
Когда React-приложение растёт, размер бандла становится критичным. От него напрямую зависят скорость загрузки, время до первого рендера и даже SEO.
Вот проверенные приёмы, которые реально уменьшают размер бандла и ускоряют загрузку 👇
1️⃣ Tree shaking
Webpack умеет автоматически выкидывать неиспользуемый код.
Главное — использовать import/export, а не require().
Например, если ты импортировал только map из lodash, в бандл не попадёт весь lodash, а только нужная часть.
Это работает в продакшн-сборке (mode: 'production') и помогает избавиться от «мёртвых» зависимостей.
2️⃣ Code splitting / Lazy loading
Разделяем приложение на отдельные чанки, чтобы не грузить всё сразу.
В React это делается просто:
const Settings = React.lazy(() => import('./Settings'));
Компонент подгружается только при переходе на нужную страницу — это ускоряет загрузку первого экрана и экономит трафик пользователю.
3️⃣ Dynamic imports
Похожи на lazy loading, но гибче: модуль можно подгрузить в любой момент, например, при клике или определённом событии.
button.onclick = async () => {
const { run } = await import('./heavyModule');
run();
};
Так можно динамически подгружать тяжёлые утилиты, графики или редакторы, которые нужны не всем пользователям.
4️⃣ Vendor splitting
Отделяем сторонние библиотеки (React, Lodash, Axios и т.д.) от остального кода.
Они попадают в отдельный чанк (vendors.js), и браузер может кешировать его между обновлениями приложения.
При следующем релизе пользователь скачает только изменившийся код, а не всё приложение заново.
5️⃣ Bundle analyzer
Инструмент webpack-bundle-analyzer показывает визуально, какие файлы занимают больше всего места в бандле.
Это помогает быстро понять, стоит ли заменить тяжёлую библиотеку на более лёгкий аналог или удалить неиспользуемые импорты.
Пример: часто moment.js можно заменить на dayjs, и размер падает на десятки килобайт.
6️⃣ Compression (gzip / brotli)
После сборки важно сжимать файлы перед отправкой пользователю.
На сервере (или CDN) включается gzip или brotli, и вес бандла уменьшается в 2–3 раза.
Например, 600 KB превращаются в 200 KB — и страница загружается ощутимо быстрее.
7️⃣ Minification
Минификация удаляет пробелы, переносы строк, комментарии и переименовывает переменные.
Инструменты вроде Terser или esbuild делают это автоматически при продакшн-сборке.
В итоге код становится компактнее и быстрее загружается, но функционально не меняется.
8️⃣ Dead code elimination
Webpack и Babel умеют находить и удалять код, который никогда не выполнится.
Например:
if (process.env.NODE_ENV !== 'production') {
console.log('debug info');
}
В продакшн-версии эти строки просто не попадут в итоговый бандл.
Это избавляет от лишнего мусора и ускоряет работу.
9️⃣ Asset optimization
Изображения, шрифты и SVG тоже влияют на размер бандла.
Используй оптимизацию — например, image-webpack-loader или svgo.
Преобразуй картинки в современные форматы (.webp, .avif), чтобы они весили меньше.
Иногда просто переконвертация PNG → WebP уменьшает размер в 5–10 раз.
🔟 Prefetch / Preload
Позволяет браузеру заранее подгружать чанки, которые скоро понадобятся.
<link rel="prefetch" href="settings.chunk.js">
Например, пользователь на главной странице, но браузер уже «знает», что он, скорее всего, откроет настройки — и подгружает их заранее.
Это улучшает перформанс без лишней нагрузки на сеть.
⚡️ Даже простое применение этих приёмов может сократить размер бандла в 2–3 раза и сделать приложение визуально «быстрее» для пользователя. А если подключить анализатор и немного поработать с динамическими импортами — результат будет заметен сразу.#react #frontend #webpack #vite #оптимизация #performance #оптимизации #react #frontend #webpack
Repost from Менторство: ИТ-Адаптация
Честность и репутация
Многие боятся обратиться к ментору по разным причинам: кто-то думает, что ментор возьмёт деньги и пропадёт (хотя я такого лично не слышал, но страх есть), кто-то боится пустых обещаний — оплатил, а результата нет; кто-то не верит в обещания о трудоустройстве и показанных кейсах, думает — инфоцыган.
Как доказать человеку, что это действительно работает: что ученик получает созвоны, стажировку, курсы; что ментор не забьёт и что офферы и результаты — реальные. Проблема честных людей сегодня — нужно доказать, что ты честный. Скама много, инфоцыган — тьма. Когда я искал дизайнера для улучшения платформы с курсами, меня заскамили три человека — вот такая я «бабушка». Раньше я всегда находил исполнителей и всё шло гладко, а в этот раз случилась какая-то чёреда неудач. В итоге потерял примерно 40–50 тысяч рублей и в итоге сам сделал работу.
Сейчас действительно много обмана: все хотят лёгких денег. Люди, которые когда-то презирали скаммеров, сами начинают обманывать ради выгоды — интересно, в какой момент это происходит и как они это себе оправдывают? Ведь жить с собой им потом.
Я очень впечатлительный человек. Мой путь от «завода за 40к» до айтишника и основателя продукта начался с того дня, когда я бросил пить и курить — полностью и навсегда. У меня есть страх: если я снова начну пить, я всё потеряю. Не потому что я алкоголик, а потому что верю в карму, в обещания и в сделку с самим собой. Я тот, кем являюсь — я не обманываю людей, трепетно отношусь к своей репутации; знаю, что если обману — это вернётся.
Я хотел бы жить в мире, где просят помощи только те, кто действительно в ней нуждается, а не попрошайки, которые на этом наживаются. Часто на улице мне не по себе: раньше я останавливался и пытался помочь, а теперь чаще прохожу мимо, боясь, что это очередной обман. И потом переживаю, что поступил плохо.
Вывод: будьте внимательны, тщательно проверяйте, что покупаете и с кем работаете. Проверяйте всё много раз — не экономьте на надёжности. Когда я выбирал дизайнера, был выбор: специалист с аудиторией и портфолио за 60к и другой без следов работы за 25к. Лучше бы я взял того за 60к — получил бы качество и сэкономил время, чем копаться с тремя недобросовестными подрядчиками.
Так же меня уже несколько раз обманывали сами ученики. Получали абсолютно всё: и звонки, и полное обучение на протяжении 6–8 месяцев, и поддержку, и стажировку. Потом выходили на рынок — и пропадали. Кто-то удалял переписку и больше не отвечал, кто-то просто игнорировал, а кто-то даже аккаунт в Telegram удалил.
И ведь самое интересное — со всеми у нас были отличные отношения: общались, шутили, встречались. И всё равно вот так… Если тебе человек помог достичь цели, почему нельзя его отблагодарить? Ведь это не предоплата, а именно постоплата — после результата, после выхода на работу. Это не “заплати и надейся”, это “добился — поблагодари”.
После нескольких таких случаев я решил навести порядок и разработал договор. Теперь и ученик спокоен — его не обманут, и я уверен — мой труд не пропадёт зря.
Просто накипело. Решил поделиться.
💻 Вся база по JavaScript и React
Я выпустил два видео общей продолжительностью около 5 часов — это полноценная подготовка по всему фронтенду.
Здесь собраны примерно 90% всех вопросов, которые вам могут задать на собеседованиях.
Есть еще темы вроде TypeScript, Next.js, сетей, общих вопросов и верстки — их тоже спрашивают, но это малая часть по сравнению с основным объёмом, который покрывают эти два видео.
🔥 Дальше хочу сделать видео “Весь лайвкодинг по JavaScript за 2 часа”
Планирую собрать 200+ задач, примеров из консоли, рефакторингов и пройтись по всем типам и темам задач, которые встречаются на собесах.
Ранее я уже проводил подобное занятие на менторстве — получилось около 2 часов, но тогда не успел охватить всё.
Теперь хочу подготовить полный роадмап по лайвкодингу и снять полноценное видео.
А пока — можете проверять свои знания и готовиться к собесам по уже выпущенным видео 👇
👩💻 ВЕСЬ React в одном собеседовании. 100 вопросов + 20 задач за 2 часа
👩💻 ВЕСЬ JavaScript в одном собеседовании. 200 вопросов + 70 задач за 2 часа
👩💻 Как учить Redux и не утонуть в абстракциях
Redux часто вводит новичков в ступор: куча обёрток, абстракций, бойлерплейта, бесконечные конфиги… Нужно держать в голове, что где-то «в одном месте лежат данные», а использовать их можно совсем в другом. Всё это может сбивать с толку.
Разберёмся, как подойти к изучению Redux так, чтобы не перегореть и быстро прийти к результату.
🤔 1. Нужно ли знать старый Redux?
Сегодня знать классический Redux (до RTK) — не обязательно. Но понимать, как он устроен, всё же полезно для кругозора.
Лучше начать с Redux Toolkit (RTK) — это современный, удобный способ работы с Redux.
👉 План простой:
- Изучи RTK: пройди короткий курс, сделай мини-проект.
- Потом, для интереса, быстро глянь, как всё было «по-старинке» — чтобы понимать эволюцию и причины появления RTK.
Продвинутый Redux. Redux Toolkit, RTK query, TypeScript.
Полный курс Redux Toolkit + RTK Query для начинающих
📚 2. Освой базу (и не перегружайся)
На старте тебе нужно знать только основу Redux Toolkit:
- как создавать slice,
- как конфигурировать store,
- как использовать dispatch и useSelector,
- и как подключить всё через Provider.
Этого достаточно, чтобы начать. Не лезь сразу в thunk-и, middleware или сложные конфиги — это придёт позже. Главное — понять саму идею:
где-то создаются данные → ты можешь их менять → компонент реагирует и перерисовывается.👨🏻💻 3. Практикуйся на реальных мини-проектах Следующий шаг — практика. Смотри практические видео или мини-курсы вроде «Админка за 6 часов» — где используется React, RTK и другие знакомые технологии. А так же можно прогнать много небольших проектов, чтобы запомнить воркфлоу. 🔁 Идея проста: - Делай много маленьких проектов, а не один гигантский. - Лучше 10 разных по часу, чем один на 10 часов. Так ты начнёшь видеть закономерности, узнавать шаблоны и быстрее адаптироваться к разным кейсам. Build and Deploy a React Cryptocurrency App and Master Redux Toolkit 🚀 4. Создай свой проект Когда чувствуешь уверенность — делай свой проект: - подключи API, - добавь дизайн, - используй привычный шаблон, но адаптируй под себя. Не стремись помнить всё наизусть — важно понимать принцип, а не синтаксис. Добавляй новые сущности, слайсы, компоненты — играйся с кодом, расширяй границы. 😎 5. Главное — практика На полноценное освоение основ Redux Toolkit достаточно около 2 недель. Всё остальное время — практика и интеграция с другими инструментами. Учись не «изолированно», а в реальных проектах, где Redux работает вместе с React, API, роутингом и UI-библиотеками. Redux + Redux Toolkit | Продвинутый полный курс #redux #frontend
Repost from YeaHub
+3
🚀 Прокачиваем подготовку к собеседованиям на максимум!
Если ты ещё не заглядывал(а) в 👍 «Авось Прорвёмся» — самое время.
Это проект Ани для самостоятельной подготовки, где есть:
- 1000+ записей реальных собеседований с разбором задач и вопросов;
- контакты рекрутеров;
- гайды по резюме, трудоустройству и стратегиям поиска работы.
- задачи и вопросы с собеседований
Мы в YeaHub продолжаем добавлять собеседования из этих чатов — теперь их можно проходить в тренажёре, тренируя ответы на реальные вопросы работодателей.
🎧 Сначала слушай, как проходят настоящие собесы,
💡 потом — разбирай и практикуй те же кейсы в тренажёре.
Направления: iOS, Android, Frontend, Python, Go, Java, C#, QA, Analytics.
👉 Обучайтесь, общайтесь, растите вместе с YeaHub и Авось Прорвемся
Repost from React Frontend | YeaHub
🖥 Middle Frontend разработчик в компанию Аэрофлот
Техническое собеседование. Лето 2025. Вилка: 300к+. Опыт в резюме: 3+ года. Проект:
редизайн сайта Аэрофлота (система бронирования), поддержка старого сайта, дизайн-
система. Были практические задачи (Event Loop, реализация метода groupBy).
Вопросы:
- SEO - для чего нужно, как достигается?
- Как реализовать глубокое копирование обьекта без использования JSON.stringify и
StructuredClone? Какие сложности могут возникнуть?
- Event Loop, что относится к микро и макро задачам?
- Что такое мемоизация, и как её можно использовать для оптимизации производительности?
- Как работает сборщик мусора (garbage collector) в JavaScript? Какие есть стратегии для
управления памятью?
Все 29 вопросов можно посмотреть на нашей платформе
#собес
👩💻 ВЕСЬ React в одном собеседовании. 100 вопросов + 20 задач за 2 часа
Это видео представляет собой структурированный разбор ключевых тем React, необходимых для успешного прохождения технического собеседования. Формат сочетает теоретические вопросы с практическим решением задач.
Рекомендую посмотреть это видео, как и предыдущее. Считай, сразу готов к собесам 😎
Видео уже на канале!
Я не оставляю ссылку, так как видео лучше продвигается, если заходить на него напрямую с YouTube. Это помогает улучшить его рейтинг и увеличить шансы на органическое продвижение.
🔗 Ссылка на вопросы и задачи
#react #собеседования
Видео оказалось дольше, чем по React. Сняли одним дублем, без остановки, без монтажа и вставок.
Оцените потом, как надо отвечать на собеседованиях, какие глубокие ответы дает Владимир 💪
Готовность 5 минут, скоро съемки 👩💻
Вопросы + Задачи
Новый герой видео - Владимир.
Во вторник (надеюсь) выйдет видео
Как думаете, нормально ли назвать канал Куянец Руслан | Reactify и сделать ребрендинг?)
👩💻 ВЕСЬ React в одном собеседовании.
Уже собираем интересные вопросы и задачи. Выбран кандидат на прохождение собеса 🤝
Будет пушка 🏆
+2
Мне нравится IT за возможность бесконечно развиваться. Приятно и круто, когда твоя экспертиза не ограничивается одной областью. Я считаю, что хороший специалист должен мыслить архитектурно, понимать инфраструктуру и не ограничиваться своей узкой частью, а видеть, как работает приложение целиком.
Помню, как писал пост о том, какие технологии я знаю и с чем успел поработать. Также был список того, с чем хотел бы поработать для полного счастья. В этом списке были Kubernetes и умение создавать инфраструктуру продуктов. И вот я это сделал. Я полностью, от начала и до конца, мигрировал всю инфраструктуру на Kubernetes в YeaHub. Теперь это стартап с enterprise-уровнем инфраструктуры в полном фарше.
Я мог нанять DevOps, но решил сделать всё сам — мне нужно было закрыть этот пункт. Все свои шаги я записывал и оформили в пошаговый гайд с объяснениями. Теперь, если у меня появится идея стартапа, я смогу за день развернуть инфраструктуру продукта любой сложности.
Круто, что мои ученики изучают процессы разработки на реальном боевом проекте с таким сложным стеком. Мы изучаем разработку на примере YeaHub, учимся работать в команде и писать качественный код. Сейчас мы создаем приложение на Next.js, чтобы ученики получили ещё и опыт с этим стеком.
А ещё наша команда растёт. YeaHub объединяет менторов, которые хотят, чтобы их ученики умели работать, а не просто проходили собесы. Для меня это тоже прокачка, только уже в сторону менеджера, руководителя. Сейчас у нас 100 человек на проекте YeaHub, из которых большинство — новички. Сложно всё это поддерживать и контролировать. Легко, когда ты Product Owner в команде из 20 опытных специалистов, но сложно, когда ты Product Owner в команде из 100 человек, 90% которых — новички без опыта 😅
В общем, большие планы у нас. Работаем дальше 💪🚀
ПС. На 1 скрине расписание в YeaHub. На 2 скрине scrum-доска. На 3 скрине наша документация
Пост, где я говорю о своих навыках и планах:
https://t.me/reactify_IT/1404
Описание инфраструктуры YeaHub:
https://t.me/yeahub/75
