Логотип YeaHub

База вопросов

Собеседования

Тренажёр

База ресурсов

Обучение

Навыки

Задачи

Войти

Выбери, каким будет IT завтра — вместе c нами!

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

© 2026 YeaHub

AI info

Карта сайта

Документы

Медиа

Специализация

Python Backend Developer

Java Backend Developer

Node.js Backend Developer

Golang Backend Developer

React Frontend Developer

Посмотреть все

Выберите навыки

React

React

JavaScript

JavaScript

Git

Git

Redux

Redux

Webpack

Webpack

Посмотреть все

Сложность

1-3

4-6

7-8

9-10

Рейтинг вопросов

1

2

3

4

5

Подпишись на React Developer в телеграм

Вопросы React Frontend Developer


Что такое мемоизация, и как её можно использовать для оптимизации производительности?

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

Подробнее

Какие стратегии кэширования данных можно использовать для улучшения производительности?

Кэширование данных позволяет значительно улучшить производительность веб-приложений. Основные стратегии кэширования включают кэширование на стороне клиента, где данные хранятся в браузере пользователя (например, с использованием localStorage или IndexedDB), и кэширование на стороне сервера, где данные сохраняются на сервере для повторного использования.

Также стоит учитывать кэширование на уровне сети, например, использование CDN (Content Delivery Network), который позволяет хранить и быстро передавать статические ресурсы. Правильное использование стратегий кэширования помогает сократить время загрузки и улучшить пользовательский опыт.

Подробнее

Как использовать Service Workers для реализации офлайн-приложений и кэширования ресурсов?

Service Workers — это скрипты, работающие в фоновом режиме и позволяющие веб-приложениям работать в офлайн-режиме, а также кэшировать ресурсы для ускорения загрузки. Для их использования необходимо зарегистрировать Service Worker в основном скрипте приложения, а затем использовать API кэширования для сохранения ресурсов. Это позволяет пользователям продолжать использовать приложение, даже когда интернет-соединение отсутствует.

Подробнее

Что такое webpack-chunk-hash и зачем он нужен?

webpack-chunk-hash генерирует уникальные хэши для чанков на основе их содержимого. Это важно для кэширования: измененные файлы получают новый хэш, а неизмененные остаются закэшированными, ускоряя загрузку.

Подробнее

Как реализовать кэширование данных без библиотек?

Кэширование можно реализовать с помощью объекта или Map, сохраняя данные по ключу и возвращая их при повторных запросах. Это снижает количество повторных вычислений или запросов к серверу.

Подробнее

Как избежать переполнения кэша?

Где хранить кэшированные данные? (LocalStorage, IndexedDB). Что делать, если IndexedDB не поддерживается?

Какие ошибки могут возникнуть при неправильной реализации кэша?

Почему проверка значения в кэше через falsy может приводить к багам?

Какие хуки жизненного цикла вызываются при использовании keep-alive?

  • Рейтинг:

    1

  • Сложность:

    8

Можно ограничивать размер кэша и удалять старые записи по принципу LRU (Least Recently Used) или по времени жизни (TTL). Также важно периодически очищать кэш.

Подробнее
  • Рейтинг:

    3

  • Сложность:

    7

Для кэширования данных используйте LocalStorage для небольших текстовых данных (до 5MB), IndexedDB для больших объемов и сложных структур. Если IndexedDB не поддерживается, можно использовать LocalStorage как fallback, либо реализовать полифилл для IndexedDB. Для совсем старых браузеров можно использовать cookies или серверное хранение.

Подробнее
  • Рейтинг:

    4

  • Сложность:

    7

Неправильный кэш может приводить к устаревшим данным и трудноуловимым багам. Часто возникают проблемы с инвалидцией кэша и некорректными ключами. Возможны утечки памяти и несоответствие данных реальному состоянию. Такие ошибки сложно отлаживать. Поэтому кэш требует аккуратной реализации.

Подробнее
  • Рейтинг:

    4

  • Сложность:

    6

Проверка через falsy ломается, когда закэшированное значение является допустимым, но логически ложным. Значения 0, false, '' и null интерпретируются как отсутствие данных. В результате кэш игнорируется и данные пересчитываются заново. Это приводит к лишним вычислениям и логическим ошибкам. Проблема часто остаётся незаметной.

Подробнее
  • Рейтинг:

    3

  • Сложность:

    6

При использовании keep-alive компоненты не уничтожаются при скрытии. Вместо стандартных хуков уничтожения используются специальные хуки активации и деактивации. Это activated и deactivated. Они позволяют реагировать на повторное отображение компонента. Такой механизм используется для кэширования состояния.

Подробнее
  • Рейтинг:

    4

  • Сложность:

    7

  • Рейтинг:

    3

  • Сложность:

    8

  • Рейтинг:

    4

  • Сложность:

    7

  • Рейтинг:

    3

  • Сложность:

    7

  • Рейтинг:

    2

  • Сложность:

    7