Вопросы React Frontend Developer
Какие существуют методы оптимизации производительности рендеринга HTML, такие как минимизация перерисовок и рефлоу?
Рейтинг:
3
Сложность:
7
Оптимизация рендеринга включает минимизацию операций рефлоу (перестройка структуры документа) и перерисовки (обновление визуальных изменений). Это достигается за счёт уменьшения частоты изменений DOM, использования буферизации изменений через requestAnimationFrame и CSS-трансформаций, которые не вызывают рефлоу. Также важно уменьшать количество тяжёлых операций, таких как изменение размера и положения элементов.
Как реализовать ленивую загрузку (lazy loading) элементов на странице с помощью атрибута loading? Какие есть альтернативные методы?
Рейтинг:
4
Сложность:
7
Ленивая загрузка — это техника, которая позволяет откладывать загрузку изображений или фреймов до тех пор, пока они не появятся в видимой области экрана. Атрибут loading="lazy" в теге <img> или <iframe> автоматически откладывает загрузку элемента. Это сокращает время начальной загрузки страницы и снижает использование трафика. Альтернативные методы включают использование Intersection Observer API для более гибкого контроля над загрузкой элементов.
Как работают Content Security Policy (CSP) заголовки и атрибуты вроде integrity в теге <script>?
Рейтинг:
3
Сложность:
6
Content Security Policy (CSP) — это механизм безопасности, который помогает предотвратить различные типы атак, такие как XSS (Cross-Site Scripting), ограничивая, какие ресурсы могут загружаться на странице. Заголовок CSP определяет, откуда разрешено загружать скрипты, стили и другие ресурсы.
Атрибут integrity в теге <script> используется для проверки целостности загружаемого скрипта, чтобы убедиться, что он не был изменен. Если хэш скрипта не совпадает с указанным значением, браузер отклонит его загрузку.
Set. В чем особенность? Какие свойства и методы есть? Как перебрать?
Рейтинг:
5
Сложность:
7
Set — это коллекция уникальных значений, которая автоматически удаляет дубликаты. Каждый элемент в Set хранится только один раз, независимо от того, сколько раз он был добавлен. Set имеет методы для добавления, удаления и проверки значений, такие как add(), delete(), has() и clear(). Перебирать элементы в Set можно с помощью метода forEach() или цикла for...of.
Map. В чем особенность? Какие свойства и методы есть? Как перебрать?
Рейтинг:
4
Сложность:
7
Map — это коллекция, которая хранит пары ключ-значение и позволяет использовать ключи любого типа, в отличие от обычных объектов. Она имеет методы для добавления, удаления и получения элементов, такие как set(), get(), delete() и has(). Перебирать элементы в Map можно с помощью методов forEach() или с помощью цикла for...of, что делает работу с этой структурой данных удобной и гибкой.
Что такое мутирующие и не мутирующие методы?
Рейтинг:
4
Сложность:
5
Мутирующие методы изменяют оригинальный массив или объект, тогда как не мутирующие методы возвращают новый массив или объект без изменения исходного. Например, методы push() и pop() являются мутирующими, потому что они изменяют исходный массив. В то время как map() и filter() являются не мутирующими, так как они создают новый массив на основе исходного.
Перечислите основные методы массивов.
Рейтинг:
2
Сложность:
4
Основные методы массивов в JavaScript включают push(), pop(), shift(), unshift(), splice(), slice(), forEach(), map(), filter(), reduce(), find(), includes() и join(). Эти методы позволяют добавлять, удалять, изменять, перебирать и проверять элементы массива, что делает их незаменимыми для работы с коллекциями данных.
Перечислите основные методы объектов?
Рейтинг:
3
Сложность:
5
Основные методы объектов включают Object.keys(), который возвращает массив ключей объекта, Object.values(), который возвращает массив значений объекта, и Object.entries(), который возвращает массив пар ключ-значение. Также есть Object.assign(), который используется для копирования объектов, и Object.freeze(), который "замораживает" объект, предотвращая его дальнейшее изменение.
Какие методы чисел вы знаете?
Рейтинг:
1
Сложность:
2
Методы чисел в JavaScript включают toFixed(), toPrecision(), parseInt(), parseFloat(), Math.round(), Math.floor(), Math.ceil(), Math.random() и другие. Они используются для округления, генерации случайных чисел и преобразования строк в числа.
Какие методы строк вы знаете?
Рейтинг:
1
Сложность:
2
В JavaScript есть множество методов для работы со строками, таких как charAt(), indexOf(), slice(), substring(), replace(), toUpperCase(), toLowerCase(), trim(), split() и другие. Эти методы позволяют находить символы, изменять регистр, разделять строку на части и выполнять другие операции.