РЕАЛЬНОЕ СОБЕСЕДОВАНИЕ НА FRONTEND РАЗРАБОТЧИКА. ПРИТВОРИЛСЯ ДЖУНОМ

YOUTUBE · 18.11.2025 18:44

Ключевые темы и таймкоды

Введение и цель видео

0:15
  • Автор рассказывает о своем опыте прохождения собеседований в разные компании.
  • Подчеркивает важность комфортного эмоционального настроя на собеседовании.
  • Делится опытом успешного собеседования, где ему предложили условия, превышающие его ожидания.

Пример плохого собеседования

1:14
  • Автор упоминает о плохом собеседовании, где был высокий уровень напряжения.
  • Обещает опубликовать видео с плохим собеседованием в своем телеграм-канале.
  • Начинает рассказ о своем опыте прохождения технического собеседования.

Начало собеседования

2:12
  • Автор рассказывает о процессе получения предложения о работе.
  • Упоминает о необходимости активности зрителей для продолжения таких видео.
  • Начинает собеседование с представителем компании.

Представление компании

3:14
  • Представление компании и её деятельности.
  • Описание бизнеса компании, связанной с обработкой чеков и анализом данных.
  • Упоминание о продуктах компании, таких как документооборот и аналитика.

Описание задач и технологий

6:51
  • Представление задач фронтенд-разработки в компании.
  • Упоминание о текущих технологиях и планах по переходу на React.
  • Описание процесса разработки и использования библиотеки компонентов.

Вопросы и ответы

10:00
  • Обсуждение технических аспектов JavaScript и React.
  • Вопросы о переменных, константах и их областях видимости.
  • Автор отвечает на вопросы, демонстрируя свои знания и опыт.

Замыкания и хостинг

11:59
  • Замыкание в JavaScript позволяет использовать значения из одной функции в другой.
  • Переменная из верхней функции может быть использована в дочерней функции.
  • Это работает независимо от количества вызовов верхней функции.

Тестовые примеры и область видимости

12:56
  • Можно создать тестовый пример для собеседования.
  • Использование let вместо var не влияет на область видимости внутри функции.
  • Если let объявлен во внешней области видимости, он будет виден и внутри вложенной функции.

Анонимные функции и их использование

14:41
  • Анонимные функции не имеют имени и часто используются как обратные вызовы.
  • Их можно поместить в переменную или использовать в качестве callback.
  • Самовызывающиеся функции оборачиваются в скобки и могут быть синхронными.

Хостинг переменных и функций

16:47
  • Хостинг позволяет использовать переменные и функции до их объявления.
  • Это может привести к ошибкам, если переменная не объявлена.
  • В реальной разработке лучше использовать последовательное объявление переменных.

Методы массива map, filter и reduce

18:42
  • Map преобразует массив одного вида в другой.
  • Filter возвращает только те элементы, для которых callback возвращает true.
  • Reduce позволяет выполнять вычисления на каждой итерации и накапливать результат.

Переход от старого JavaScript к новому

20:12
  • Обсуждение глобальных изменений в JavaScript, таких как стрелочные функции, деструктуризация и спред-классы.
  • Основное отличие стрелочных функций от обычных функций заключается в работе с контекстом.
  • Стрелочные функции всегда используют контекст вышестоящего блока, в отличие от обычных функций.

Введение в React

21:38
  • Переход к обсуждению React и его роли в современном веб-разработке.
  • React использует концепцию виртуального DOM, который представляет собой дерево элементов компонентов.
  • При изменении состояния компонентов React автоматически обновляет интерфейс.

Преимущества React перед jQuery

23:47
  • React позволяет сосредоточиться на данных, а не на манипуляциях с DOM.
  • Оптимизированные алгоритмы и фазы согласования делают React более быстрым и эффективным.
  • jQuery требует ручного обновления узлов, что делает его менее удобным для разработки.

Компоненты жизненного цикла и хуки

26:05
  • Обсуждение жизненного цикла компонентов React: фазы монтирования, обновления и демонтирования.
  • Хуки в React позволяют управлять жизненным циклом и состоянием функциональных компонентов.
  • Хуки включают useEffect, useState, useCallback, useMemo, useRef и другие.

Оптимизация и производительность

30:00
  • В рендере не следует менять состояние и выполнять тяжелые операции.
  • Мимоизация используется для сохранения результатов вычислений, чтобы избежать повторных вычислений.
  • Библиотека React Context позволяет управлять глобальными данными в приложении.

Проблема пробс-дрилинга

31:31
  • Проблема пробс-дрилинга возникает при вложенности компонентов.
  • Контекст в React используется для глобального хранилища данных.
  • Редукция Redux помогает бороться с пробс-дрилингом.

Использование Redux

32:21
  • Redux используется для доступа к DOM-элементам и хранения значений без перерисовки.
  • Redux удобен для тайм-аутов и интервалов.
  • В React можно использовать Redux для управления состоянием.

Альтернативы Redux

35:06
  • Вместо Redux можно использовать MobX, Stream и другие библиотеки.
  • MobX проще в использовании и позволяет использовать ООП.
  • MobX сложнее в отладке и весит больше, чем Redux.

Преимущества и недостатки MobX

38:49
  • MobX проще в использовании и позволяет наследовать состояния.
  • MobX сложнее в отладке из-за паттерна наблюдателя-обсервера.
  • MobX весит больше, чем Redux, что может быть проблемой для оптимизации.

Организация серверного рендеринга

43:33
  • Для серверного рендеринга нужна нода, которая генерирует HTML и отправляет его на сервер.
  • Важно правильно настроить конфиг и использовать инструменты для загрузки данных.
  • Можно использовать фреймворки, такие как Next.js, для упрощения процесса.

Линдеринг и SEO-оптимизация

44:54
  • Линдеринг нужен для SEO-оптимизации сингл пейдж сайтов.
  • Проблемы с оптимизацией возникают из-за использования AJAX и динамических скриптов.
  • Роботы могут читать такие страницы, но это спорная тема.

Ошибка в коде

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

Впечатления от собеседования

47:45
  • Максим прошел четвертое собеседование за день.
  • Ему понравилось, чем занимается компания и планы проекта.
  • Михаил, HR, дал положительный фидбек.

Фидбек и офер

49:00
  • Фидбек от Михаила и HR был положительным.
  • Обсуждение офера: ежемесячный оклад 150 тысяч рублей и ежеквартальная премия 70 тысяч рублей.
  • Максим получил предложение выше, чем запрашивал.

Заключение и советы

51:21
  • Максим получил предложение без тестового задания и собеседования.
  • Проект был написан на чистом JavaScript.
  • Рекомендация пересмотреть резюме и оценить свои навыки.

Анонс следующего видео

52:01
  • Через неделю будет пример плохого собеседования.
  • Призыв к лайкам, комментариям и активности под видео.
  • Обещание новых видео и благодарность за просмотр.