В этой подборке вопросы сгруппированы по формату «System Design», чтобы подготовку можно было вести от базовых тем к практическим задачам. В подборке чаще встречаются темы: backend, api, database.
Авторизация через JWT и имперсонализацию JWT представляет собой токен доступа, содержащий закодированные данные пользователя Сервер подписывает токен, что гарантирует его целостность и безопасность Имперсонализация…
Как настроить периодическое сетевое обновление для четырёх ViewModel с интервалом в 5 секунд? Контекст: Android/MVVM, многопоточное программирование, RxJava/Coroutines Вместо отдельных таймеров для каждой VM следует…
распределённое кэширование общих данных, доступных нескольким сервисам Redis — in-memory хранилище с низкой задержкой для изоляции доменов применяем ключи с префиксами для автоматического удаления устаревших данных…
распределённая система: несколько узлов, обменивающихся данными по сети балансировка нагрузки — распределение входящих запросов между экземплярами приложения синхронизация состояния — с помощью внешнего хранилища или…
Распределённые системы, микросервисы Для поддержания согласованности применяются паттерны Event Sourcing и CQRS Применение асинхронного взаимодействия на основе событий (event-driven architecture) Использование…
Как проектируют интеграционные коннекторы? интеграционный коннектор выступает связующим слоем между системами сначала изучают API и протоколы , которые используют целевые системы анализируют форматы данных JSON, XML,…
масштабирование: горизонтальное (добавление серверов) и вертикальное (наращивание ресурсов) балансировщик нагрузки (load balancer), который направляет запросы на доступные инстансы с учётом health checks и выбранных…
задача: организовать двунаправленную связь между клиентом и сервером без WebSockets long polling: клиент отправляет запрос, а сервер удерживает его открытым до возникновения события или наступления таймаута после…
Архитектура: асинхронная очередь задач Выделить отдельный сервис рассылки, обрабатываемый воркерами (workers) Помещать задания в распределённую очередь сообщений — RabbitMQ, Kafka или Redis Streams Передавать в каждой…
Как реализовать сервис long polling? long polling — способ асинхронного опроса, при котором клиент ожидает данные от сервера клиент отправляет запрос, а сервер оставляет соединение открытым до появления данных либо…