Вернуться в видеотеку

Собеседование: Мидл фулстек, Redux, JS / Вопросы о GET и POST / Бесконечные крестики-нолики

Учебное интервью для frontend/fullstack-разработчика: HTTP, кэширование и аналитика через изображения, управление состоянием и алгоритмическая задача. В конце собеседующий даёт обратную связь о необходимости укрепить теорию.

Источник: Hexlet

Открыть на YouTube

Таймлайн

Коротко о видео

Это учебное публичное собеседование с Дмитрием Батаевым о фронтенд- и fullstack-разработке. Кандидат рассказывает о пути от HTML и фриланса к фронтенду, отвечает на вопросы о HTTP, загрузке изображений, кэшировании, Redux, Effector и GraphQL, а затем решает задачу о крестиках-ноликах на бесконечном поле. В финале обсуждают пробелы в теоретической базе и то, как она помогает находить решения в незнакомых задачах.

Затронутые темы

Что взять на заметку

  • Нужно объяснять GET и POST через HTTP-семантику: GET предназначен для чтения данных, а POST — для отправки данных, обычно меняющих состояние; URL и кэширование — важные практические последствия, но не единственное различие.
  • Для счётчика на изображении важно учитывать, что браузер загружает img через GET, передаёт Referer и может взять ресурс из кэша; в SPA смена маршрута сама по себе не перезагрузит уже вставленную картинку.
  • Чтобы принудить новый запрос к кэшируемому изображению, можно изменить его URL, например добавив версию или случайный query-параметр; это меняет ключ кэша, а не отменяет кэш глобально.
  • Для бесконечных крестиков-ноликов стоит хранить только занятые клетки в Map или хэш-структуре с ключом вида «x:y», а после хода проверять линии, проходящие через последнюю поставленную фигуру, вместо обхода всего поля.
  • При выборе Redux, Effector или GraphQL нужно отделять клиентское состояние и серверные данные, учитывать размер проекта, существующую команду и стоимость внедрения, а не выбирать библиотеку по одному критерию.
  • Следует уверенно различать debounce и throttle на примере поиска: debounce ждёт паузу после последнего ввода, а throttle ограничивает частоту вызовов; минимальную длину запроса определяет продуктовая задача.
  • В ответах по форматам изображений полезно знать не только JPEG, PNG и GIF, но и компромиссы между качеством, размером, прозрачностью, анимацией и Retina-разрешением.

Рекомендуем посмотреть

50 мин
Frontend

НЕУДАЧНОЕ СОБЕСЕДОВАНИЕ на FRONTEND РАЗРАБОТЧИКА. Live coding

Разбор неудачного для автора фронтенд-собеседования с live coding и вопросами по JavaScript, React и TypeScript. Во второй части собеседники рассказывают о монорепозитории, Context/RxJS, собственном UI kit и миграции проектов на Next.js.

1 ч 31 мин
Frontend

Прохожу собеседование на FRONTEND Разработчика в Яндекс. Как решать задачи правильно?

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