Специализация
Python Backend Developer
Java Backend Developer
Node.js Backend Developer
Golang Backend Developer
React Frontend Developer
Выберите навыки
React
JavaScript
Git
Redux
Webpack
Сложность
1-3
4-6
7-8
9-10
Рейтинг вопросов
1
2
3
4
5
Подпишись на React Developer в телеграм
Как реализовать ленивую загрузку (lazy loading) элементов на странице с помощью атрибута loading? Какие есть альтернативные методы?
Ленивая загрузка — это техника, которая позволяет откладывать загрузку изображений или фреймов до тех пор, пока они не появятся в видимой области экрана. Атрибут loading="lazy" в теге <img> или <iframe> автоматически откладывает загрузку элемента. Это сокращает время начальной загрузки страницы и снижает использование трафика. Альтернативные методы включают использование Intersection Observer API для более гибкого контроля над загрузкой элементов.
Объясните концепцию code splitting и lazy loading в React.
Code splitting — это техника, позволяющая разбивать приложение на небольшие части, которые загружаются по мере необходимости. Lazy loading (ленивая загрузка) загружает эти части только тогда, когда они действительно нужны, что помогает уменьшить размер начальной загрузки и повышает скорость работы приложения.
Как работает ленивый роутинг (lazy loading) в React Router DOM?
Ленивый роутинг загружает компоненты маршрутов только при их необходимости. Это достигается использованием функции React.lazy в сочетании с динамическим импортом (import()), что позволяет уменьшить начальный размер бандла.
Как передавать данные через loader в data маршрутах?
loader в data маршрутах используется для загрузки данных перед рендерингом компонента. Он возвращает данные, которые затем доступны через хук useLoaderData внутри компонента.
Что такое перегрузка (overloading) метода?
Перегрузка — это определение методов с одинаковым именем, но с разным количеством или типами параметров. Она используется для повышения удобства и читабельности кода.
Как можно использовать PyTorch DataLoader для загрузки больших наборов данных?
Для чего используется Lazy Loading? В чём его плюсы и минусы?
Что такое @Override и @Overload? К каким принципам OOP они относятся?
В какой момент вызывается loadView и чем он отличается от viewDidLoad?
Почему viewDidLoad обычно вызывается один раз и в каких edge-кейсах он может вызваться повторно?
Рейтинг:
2
Сложность:
5
PyTorch DataLoader позволяет загружать большие наборы данных эффективно, разбивая их на мини-пакеты и загружая данные параллельно. Важными параметрами являются dataset (класс, представляющий данные) и batch_size (размер пакета). Для повышения производительности можно использовать многозадачность с помощью параметра num_workers.
Рейтинг:
2
Сложность:
6
Lazy Loading автоматически загружает связанные объекты при первом обращении к навигационному свойству. Плюс — вы не загружаете всё сразу, экономя ресурсы. Минус — «N+1» проблема: при переборе коллекции делается много отдельных запросов, что сильно бьёт по производительности.
Рейтинг:
2
Сложность:
6
@Override — аннотация для переопределения метода родительского класса (полиморфизм).
Перегрузка (Overload) — создание методов с одним именем, но разными параметрами (в одной классе).
Рейтинг:
4
Сложность:
7
loadView вызывается, когда система впервые нуждается в view контроллера. В этом методе создаётся корневая view. viewDidLoad вызывается сразу после этого и используется для настройки интерфейса и логики. Обычно loadView не переопределяют, а всю настройку делают в viewDidLoad.
Рейтинг:
4
Сложность:
7
viewDidLoad вызывается один раз, потому что view загружается лениво и живёт в памяти, пока контроллер существует. Повторный вызов возможен, если view была выгружена из памяти и затем создана заново. Такое может происходить при нехватке памяти или при ручном обнулении view. В обычных сценариях это редкость, но учитывать это всё равно важно.
Рейтинг:
4
Сложность:
7
Рейтинг:
5
Сложность:
6
Рейтинг:
5
Сложность:
6
Рейтинг:
2
Сложность:
8
Рейтинг:
3
Сложность:
5