Подборка объединяет вопросы, отмеченные на этапах интервью в Sitronics. Здесь можно понять структуру технической проверки и заранее повторить связанные темы. В подборке чаще встречаются темы: architecture, backend, design.
Ключевые различия SOA и микросервисной архитектуры SOA: взаимодействие крупных сервисов, нередко организованное через центральный ESB (Enterprise Service Bus) Микросервисы: небольшие автономные компоненты, каждый из…
Надёжное хранение ключей необходимо для поддержания доверия к JWT Применение секретного менеджера: AWS KMS, HashiCorp Vault или Azure Key Vault Доступ предоставляется только согласно правам и ролевой модели (RBAC)…
Гарантии доставки сообщений в RabbitMQ в асинхронной модели RabbitMQ представляет собой брокер сообщений, поддерживающий надежную доставку Применяются гарантии at-most-once, at-least-once и условно exactly-once Для…
В CQRS командная (write) и запросная (read) базы разделяются, чтобы эффективнее распределять нагрузку Изменения передаются с помощью асинхронной репликации Для этого применяют event sourcing либо событийную шину…
Подходы к оптимизации SQL-запросов Индексы: их создают для колонок, участвующих в частых фильтрах и JOIN, чтобы сократить число полных сканирований таблиц Минимизация JOIN: отказ от ненужных соединений,…
Контекст: защита аутентификации и токенов доступа Access-токены имеют короткий срок действия — обычно от нескольких минут до нескольких часов Refresh-токены действуют дольше и предназначены для выпуска новых…
Как выполнить «инверсию» зависимости между микросервисами? Сервис A обращается к сервису B напрямую, поэтому между ними возникает жесткая связь — tight coupling Инверсия зависимости достигается за счет асинхронного…
диагностика производительности мобильного приложения измерение времени отклика по метрикам FPS и загрузки CPU и памяти профилирование UI-потока для обнаружения блокировок и задержек исследование сетевых запросов: их…
архитектурный подход к созданию распределённых систем приложение разделяется на самостоятельные сервисы каждый из них выполняет определённую бизнес-задачу сервисы обмениваются данными через строго определённые API…
Как действовать при высокой OLTP-нагрузке на запись и больших объёмах чтения OLTP-система с интенсивной записью и чтением в режиме bulk read Главный приоритет — ускорить операции записи и не допустить их блокировки…
Принцип работы протокола WebSocket и области применения WebSocket — протокол двунаправленного обмена поверх TCP Соединение начинается с HTTP handshake, после чего выполняется переход на WebSocket После установки…
Архитектурные паттерны для производительности и отказоустойчивости CQRS: разносит операции чтения и записи, позволяя отдельно оптимизировать каждую из них Шардирование: горизонтально распределяет данные, чтобы…