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


Как работают Content Security Policy (CSP) заголовки и атрибуты вроде integrity в теге <script>?

Content Security Policy (CSP) — это механизм безопасности, который помогает предотвратить различные типы атак, такие как XSS (Cross-Site Scripting), ограничивая, какие ресурсы могут загружаться на странице. Заголовок CSP определяет, откуда разрешено загружать скрипты, стили и другие ресурсы. 

Атрибут integrity в теге <script> используется для проверки целостности загружаемого скрипта, чтобы убедиться, что он не был изменен. Если хэш скрипта не совпадает с указанным значением, браузер отклонит его загрузку.

Подробнее

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

Ленивая загрузка — это техника, которая позволяет откладывать загрузку изображений или фреймов до тех пор, пока они не появятся в видимой области экрана. Атрибут loading="lazy" в теге <img> или <iframe> автоматически откладывает загрузку элемента. Это сокращает время начальной загрузки страницы и снижает использование трафика. Альтернативные методы включают использование Intersection Observer API для более гибкого контроля над загрузкой элементов.

Подробнее

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

Оптимизация рендеринга включает минимизацию операций рефлоу (перестройка структуры документа) и перерисовки (обновление визуальных изменений). Это достигается за счёт уменьшения частоты изменений DOM, использования буферизации изменений через requestAnimationFrame и CSS-трансформаций, которые не вызывают рефлоу. Также важно уменьшать количество тяжёлых операций, таких как изменение размера и положения элементов.

Подробнее

Какие методы строк вы знаете?

В JavaScript есть множество методов для работы со строками, таких как charAt(), indexOf(), slice(), substring(), replace(), toUpperCase(), toLowerCase(), trim(), split() и другие. Эти методы позволяют находить символы, изменять регистр, разделять строку на части и выполнять другие операции.

Подробнее

Какие методы чисел вы знаете?

Методы чисел в JavaScript включают toFixed(), toPrecision(), parseInt(), parseFloat(), Math.round(), Math.floor(), Math.ceil(), Math.random() и другие. Они используются для округления, генерации случайных чисел и преобразования строк в числа.

Подробнее

Перечислите основные методы объектов?

Перечислите основные методы массивов.

Что такое мутирующие и не мутирующие методы?

Map. В чем особенность? Какие свойства и методы есть? Как перебрать?

Set. В чем особенность? Какие свойства и методы есть? Как перебрать?

  • Рейтинг:

    3

  • Сложность:

    5

Основные методы объектов включают Object.keys(), который возвращает массив ключей объекта, Object.values(), который возвращает массив значений объекта, и Object.entries(), который возвращает массив пар ключ-значение. Также есть Object.assign(), который используется для копирования объектов, и Object.freeze(), который "замораживает" объект, предотвращая его дальнейшее изменение.

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

    2

  • Сложность:

    4

Основные методы массивов в JavaScript включают push(), pop(), shift(), unshift(), splice(), slice(), forEach(), map(), filter(), reduce(), find(), includes() и join(). Эти методы позволяют добавлять, удалять, изменять, перебирать и проверять элементы массива, что делает их незаменимыми для работы с коллекциями данных.

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

    4

  • Сложность:

    5

Мутирующие методы изменяют оригинальный массив или объект, тогда как не мутирующие методы возвращают новый массив или объект без изменения исходного. Например, методы push() и pop() являются мутирующими, потому что они изменяют исходный массив. В то время как map() и filter() являются не мутирующими, так как они создают новый массив на основе исходного.

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

    4

  • Сложность:

    7

Map — это коллекция, которая хранит пары ключ-значение и позволяет использовать ключи любого типа, в отличие от обычных объектов. Она имеет методы для добавления, удаления и получения элементов, такие как set(), get(), delete() и has(). Перебирать элементы в Map можно с помощью методов forEach() или с помощью цикла for...of, что делает работу с этой структурой данных удобной и гибкой.

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

    5

  • Сложность:

    7

Set — это коллекция уникальных значений, которая автоматически удаляет дубликаты. Каждый элемент в Set хранится только один раз, независимо от того, сколько раз он был добавлен. Set имеет методы для добавления, удаления и проверки значений, такие как add(), delete(), has() и clear(). Перебирать элементы в Set можно с помощью метода forEach() или цикла for...of.

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

    3

  • Сложность:

    6

  • Рейтинг:

    4

  • Сложность:

    7

  • Рейтинг:

    3

  • Сложность:

    7

  • Рейтинг:

    1

  • Сложность:

    2

  • Рейтинг:

    1

  • Сложность:

    2