Специализация
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 в телеграм
Зачем для тега <script> добавляют атрибуты async и defer?
Атрибуты async и defer у тега <script> используются для управления тем, как и когда браузер загружает и выполняет JavaScript. async загружает скрипт асинхронно и выполняет его сразу после загрузки, не дожидаясь завершения загрузки всей страницы. defer также загружает скрипт асинхронно, но откладывает его выполнение до полной загрузки HTML-документа, что предотвращает блокировку рендеринга страницы.
Для чего нужны Async/await?
async/await — это синтаксис, который упрощает работу с промисами, делая асинхронный код более похожим на синхронный. Функция с ключевым словом async всегда возвращает промис, а await приостанавливает выполнение функции до получения результата промиса. Это делает код более читаемым и упрощает обработку ошибок.
Что такое createAsyncThunk и как его использовать?
createAsyncThunk — это утилита из Redux Toolkit для работы с асинхронными действиями. Она помогает создавать асинхронные экшены, автоматически генерируя три состояния: ожидание, успех и ошибка. Вы описываете асинхронную функцию, а Redux Toolkit автоматически управляет состоянием загрузки и ошибок, обновляя store на основе результата выполнения действия.
Почему async/await вместо Promises?
async/await делает асинхронный код:
Читаемым (похож на синхронный).
Удобным для отладки (стек вызовов не «разрывается»).
Лёгким в обработке ошибок (через try/catch).
Как работает получение данных на сервере в Next.js? (Раньше — getServerSideProps, в App Router — async-компоненты)
В старом Pages Router для получения данных на сервере использовалась специальная функция getServerSideProps, которая передавала данные в компонент страницы через пропсы. В новом App Router Server Components (помеченные как async) могут напрямую получать данные с помощью fetch или других библиотек, а затем рендерить JSX.
Что возвращает async-функция?
Чем async/await отличается от .then()?
Чем отличаются async и defer при подключении скриптов?
Что происходит при загрузке скрипта без async и defer?
Почему async/await требует возврата Promise из функции?
Рейтинг:
5
Сложность:
4
Любая async-функция всегда возвращает Promise. Если функция возвращает обычное значение, оно автоматически оборачивается в Promise.resolve. Если внутри происходит throw, возвращается Promise.reject. await не меняет тип возвращаемого значения функции.
Рейтинг:
5
Сложность:
5
async/await и .then() работают поверх Promise и дают одинаковые возможности. Разница в том, что async/await позволяет писать асинхронный код в синхронном стиле, улучшая читаемость. .then() использует цепочки колбэков и чаще приводит к вложенности. С точки зрения выполнения и производительности они эквивалентны.
Рейтинг:
5
Сложность:
5
async и defer позволяют загружать скрипты без блокировки HTML, но ведут себя по-разному. async выполняет скрипт сразу после загрузки, независимо от состояния DOM. defer выполняет скрипт только после завершения парсинга HTML. Также defer сохраняет порядок выполнения скриптов, а async — нет.
Рейтинг:
4
Сложность:
3
Рейтинг:
4
Сложность:
6
Рейтинг:
4
Сложность:
4
Рейтинг:
2
Сложность:
5
Рейтинг:
2
Сложность:
6
Рейтинг:
2
Сложность:
7