Как сохранить данные при повороте экрана без ViewModel контекст: Android, MVP, жизненный цикл Activity задача: сохранить и восстановить состояние Presenter после recreate используем: метод onSaveInstanceState(Bundle)…
В основе лежит распределённая система для обмена сообщениями После регистрации клиента сервис выдаёт ему уникальный токен устройства Бэкенд сохраняет токены и передаёт уведомления через Push Notification Service…
Проектирование архитектуры приложения по принципам SOLID SOLID — совокупность принципов объектно-ориентированного проектирования S (Single Responsibility): у класса или модуля должна быть одна зона ответственности O…
Проектирование биржевого терминала или аналитической Forex-платформы Архитектура: микросервисы, обеспечивающие масштабируемость и отказоустойчивость Фронтенд: SPA на React или Vue с поддержкой реального времени через…
data pipeline — это цепочка последовательных операций обработки данных надёжность достигается за счёт обработки ошибок, повторных попыток и мониторинга масштабируемость обеспечивают распределённые системы и…
Архитектура переключения между сервисами аналитики Область: архитектура интеграций с аналитическими сервисами Применить адаптер или обертку (wrapper/facade) над сервисом Определить абстрактный интерфейс с базовыми…
Сравнение Dagger, Hilt и Koin по производительности, настройке и безопасности Dagger: производительность — код генерируется во время компиляции, поэтому runtime работает очень быстро и использует нативный код…
Аналитика и оптимизация запросов Подбирать подходящие индексы — B-tree, GIN или GiST — для ускорения выборок Использовать партиционирование для таблиц с диапазонными и временными данными Применять материализованные…
в HTTP/1.1 предусмотрена поддержка постоянных соединений Keep-Alive оставляет TCP-соединение открытым после завершения запроса даёт возможность последовательно выполнять несколько запросов через одно соединение…
Как устроен Redis и для чего нужен TTL? Redis — это in-memory key-value хранилище Информация размещается в оперативной памяти, поэтому доступ к ней занимает микросекунды Поддерживаются разные структуры: строки,…
Жизненный цикл приложения iOS Контекст: управление состояниями приложения iOS Запуск приложения: метод application(:didFinishLaunchingWithOptions:) выполняет первичную инициализацию Активное состояние: метод…
структура данных для хранения пар ключ → значение внутри представляет собой хеш-таблицу ключ обязан быть comparable (поддерживать операцию ==) поиск, добавление и удаление выполняются в среднем за ~O(1) для обработки…