Специализация
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 в телеграм
Как работают функции stateIn и sharedIn?
stateIn превращает Flow в StateFlow, который хранит и сразу отдает последнее значение новым подписчикам, а sharedIn создаёт SharedFlow, мультикастящий эмиссии без сохранения предыдущего значения (если не задан replay). Оба проводят старт эмиссии при подписке и позволяют разделять один источник между несколькими сборщиками.
Чем отличается StateFlow от SharedFlow?
StateFlow хранит текущее состояние и отправляет его новым подписчикам. Он всегда имеет значение и подходит для управления UI-состоянием. SharedFlow не хранит состояние и просто транслирует события, без обязательного начального значения. Он подходит для одноразовых событий, например, уведомлений или действий.
Чем SharedFlow отличается от StateFlow с точки зрения поведения и буферизации?
StateFlow хранит только последнее значение и гарантирует его получение новыми подписчиками. SharedFlow может буферизировать несколько значений и не имеет обязательного начального состояния.
Какие особенности стоит учитывать при написании юнит-тестов для StateFlow или SharedFlow?
Используйте runTest для контроля времени, проверяйте начальные значения и обновления. Для SharedFlow учитывайте буферизацию и отсутствие начального значения.
StateFlow vs SharedFlow
StateFlow хранит последнее значение и всегда возвращает его новым подписчикам. Он похож на "живое состояние". SharedFlow не хранит состояние по умолчанию, а работает как "событийный поток", где данные могут быть потеряны, если никто не слушает. В целом: StateFlow используют для состояния экрана, SharedFlow — для одноразовых событий.
Что такое shared memory и какие проблемы она может создавать?
Рейтинг:
4
Сложность:
7
Shared memory — это область памяти, к которой имеют доступ несколько процессов. Она позволяет очень быстро обмениваться данными без копирования. Однако процессы должны самостоятельно следить за корректностью доступа. Без синхронизации shared memory легко приводит к ошибкам и повреждению данных.
Рейтинг:
2
Сложность:
6
Рейтинг:
4
Сложность:
6
Рейтинг:
1
Сложность:
7
Рейтинг:
1
Сложность:
7
Рейтинг:
3
Сложность:
6