Подборка объединяет вопросы, отмеченные на этапах интервью в Sitronics. Здесь можно понять структуру технической проверки и заранее повторить связанные темы. В подборке чаще встречаются темы: architecture, backend, design.
Инструменты и методы профилирования производительности Инструменты: профилировщики CPU (perf, VTune, Chrome DevTools), профилировщики памяти (Valgrind, Heap Profiler), APM-системы (New Relic, Datadog) Методы: сэмплинг…
Основные методы синхронного взаимодействия между сервисами HTTP/REST API — наиболее распространённый протокол обмена, отличающийся простотой реализации и масштабирования gRPC — двоичный протокол поверх HTTP/2,…
область: распределённые системы, messaging основные модели: At-most-once, At-least-once, Exactly-once At-most-once: сообщение доставляется 0 или 1 раз; возможна потеря, но дубликаты не возникают At-least-once:…
Способы уменьшения размера Docker-образа выбор минимального базового образа (alpine, scratch) применение multi-stage build для разделения стадий сборки удаление из образа ненужных файлов и кеша объединение инструкций…
Какими свойствами должен обладать хороший микросервис? возможность независимо разрабатывать и развёртывать сервис ясно очерченный бизнес-контекст (bounded context) небольшой и хорошо определённый API на базе…
Аутентификация на основе JWT подход к бессессионной аутентификации после успешного входа сервер формирует и подписывает токен в токене хранится закодированная информация о пользователе (payload) клиент сохраняет токен…
REST работает поверх HTTP/1.1 и отличается универсальностью Передаёт данные в текстовых форматах, таких как JSON и XML, поэтому их легко читать Поддерживается браузерами и удобен для веб-клиентов Его просто проверять…
Что происходит при сбое RabbitMQ и как сохраняются и восстанавливаются сообщения? RabbitMQ поддерживает механизм персистентности Для хранения применяются durable queues и persistent messages Если брокер настроен…
Что делать, если оптимизация запроса не помогает из-за проблем с сериализацией или обработкой данных на бэкенде Профилировать загрузку CPU и памяти на бэкенде, чтобы найти узкие места Заменить JSON/XML на бинарные…