Логотип 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


Дан компонент из 1000 строк, который тормозит. В нем галерея из 100 картинок (10% битых) и большой список элементов. С чего начнешь оптимизацию и с помощью каких средств?

Как реализовать связный список в JavaScript?

Как правильно хранить список элементов в состоянии компонента?

Какие причины могут вызывать обрезание выпадающего списка внутри таблицы?

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

  • Рейтинг:

    1

  • Сложность:

    9

Начну с профилирования производительности React DevTools, затем разделю компонент на меньшие, использую React.memo для предотвращения лишних ре-рендеров, реализую виртуализацию для большого списка, lazy loading для изображений и обработку битых картинок. Также проверю мемоизацию вычислений и оптимизацию обработчиков событий.

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

    3

  • Сложность:

    6

Связный список можно реализовать с помощью объектов, где каждый элемент хранит значение и ссылку на следующий элемент. Начальный элемент называется head. Для добавления нового элемента нужно создать новый узел и изменить ссылку предыдущего. Такая структура удобна для частых вставок и удалений.

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

    5

  • Сложность:

    5

Список элементов обычно хранится в state в виде массива. При обновлении нельзя изменять массив напрямую, нужно создавать новый. Это позволяет React корректно определить изменения и обновить интерфейс. Для этого используют spread-оператор или методы, возвращающие новый массив.

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

    4

  • Сложность:

    5

Выпадающий список может обрезаться из-за CSS-свойства overflow: hidden на таблице или её родительском контейнере. Также проблема возникает, если у элемента списка низкий z-index или он находится внутри контейнера с фиксированной высотой. Решение — установить overflow: visible на таблицу или использовать position: fixed для выпадающего списка.
Подробнее
  • Рейтинг:

    4

  • Сложность:

    5

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