Специализация
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?
async используется для объявления асинхронных функций, которые могут быть приостановлены во время выполнения с помощью await. Это позволяет не блокировать выполнение других операций, пока функция ожидает завершения длительной задачи, такой как запрос к серверу или ввод/вывод.
Когда допустимо использовать синхронные методы для работы с файловой системой (вроде readFileSync)?
Синхронные методы, такие как readFileSync, допустимо использовать только в тех случаях, когда приложение не обрабатывает множество запросов одновременно. Обычно это сценарии утилит, скриптов и небольших программ, запускаемых однократно, где блокировка выполнения не критична.
Что такое команда rsync и как ее использовать для синхронизации?
В чём разница между многопоточностью (CPU-bound) и асинхронностью (IO-bound) в .NET и как работают async/await?
В чём разница между async/await и GCD?
Какие задачи решаются с использованием библиотеки asyncio и других средств асинхронного программирования?
Какие механизмы синхронизации можно использовать, кроме synchronized и Atomic?
Рейтинг:
1
Сложность:
5
Команда rsync используется для синхронизации и передачи файлов между локальными системами, каталогами или по сети. Она поддерживает опции для сжатия, удаления файлов и сохранения прав доступа. Например, команда rsync -av ~/Documents ~/Downloads синхронизирует содержимое двух директорий.
Рейтинг:
2
Сложность:
5
CPU-bound задачи используют потоки и Parallel/Tasks для распределения вычислений между ядрами и могут потребовать lock/SemaphoreSlim. IO-bound операции (await httpClient.GetAsync) не блокируют поток — метод возвращает Task, освобождая поток для других задач, а по завершении I/O продолжает выполнение в пуле. async/await трансформирует метод в state machine, которая при встрече await регистрирует продолжение и возвращает Task без блокировки текущего потока.
Рейтинг:
2
Сложность:
6
GCD (Grand Central Dispatch) предоставляет низкоуровневые очереди и синхронизированные вызовы sync/async, требуя явного управления задачами и колбэками. async/await — новый синтаксис на основе Swift Concurrency с Task и Actor, упрощает чтение асинхронного кода, позволяет писать его как последовательный, автоматически управляет жизненным циклом задач.
Рейтинг:
2
Сложность:
6
asyncio и библиотеки вроде aiohttp используются для веб-запросов, работы с базами данных и потоками данных, позволяя обрабатывать множество задач без блокировки.
Рейтинг:
2
Сложность:
6
ReentrantLock — гибкая блокировка с таймаутами.
Semaphore — ограничение доступа к ресурсу.
CountDownLatch — ожидание завершения N операций.
CyclicBarrier — синхронизация потоков в точке.
Рейтинг:
4
Сложность:
6
Рейтинг:
4
Сложность:
4
Рейтинг:
2
Сложность:
5
Рейтинг:
2
Сложность:
5
Рейтинг:
3
Сложность:
5