Какие проблемы решили промисы и какие состояния они имеют? Асинхронное выполнение в JS Промисы устранили callback-hell и упростили управление асинхронными операциями Описывают результат операции, которая завершится…
Риски и решения при интеграции синхронной внешней системы с асинхронной внутренней внутренний сервис может оказаться заблокирован в ожидании внешнего ответа возрастают латентность и вероятность потери…
Риски Dispatchers.Unconfined и сценарий падения Dispatchers.Unconfined — специальный диспетчер корутин, который начинает выполнение в текущем потоке и работает в нём до первой приостановки. Сразу другой поток он не…
Риски и сценарии использования Executors.newCachedThreadPool() определение: пул потоков с динамически изменяемым размером проблема 1: потенциально неограниченное увеличение количества потоков → риск исчерпания…
Какие состояния может принимать промис в JavaScript? асинхронный JavaScript 3 основных состояния: pending — операция еще выполняется fulfilled — операция завершена успешно, результат получен rejected — операция…
Способы взаимодействия микросервисов и их различия REST: синхронный API поверх HTTP понятный для человека формат JSON оптимален для сценариев «запрос — ответ»
Основные виды интеграции между системами синхронная: взаимодействие по модели «запрос-ответ» с блокирующей коммуникацией асинхронная: передача сообщений через очереди и события файловый обмен: регулярная или…
Способы организации конкурентного выполнения в Python Потоки (threading): обеспечивают выполнение на уровне потоков ОС и особенно полезны в задачах с большим объёмом I/O; однако GIL ограничивает их эффективность при…
Объект — одна из фундаментальных структур данных в JS Литерал объекта: {} — наиболее простой вариант Конструктор Object: new Object() — стандартный способ, который применяется нечасто Функция-конструктор: function…
Статические методы для работы с промисами Promise — встроенный конструктор JavaScript Promise.all(iterable) — ожидает завершения всех промисов и отклоняется при первой ошибке Promise.race(iterable) — возвращает первый…
Основные проблемы многопоточности в iOS Гонка данных (data race) — несколько потоков одновременно обращаются к общему ресурсу без необходимой синхронизации Взаимоблокировка (deadlock) — потоки удерживают ресурсы и…