Подборка объединяет вопросы, отмеченные на этапах интервью в IT-smart. Здесь можно понять структуру технической проверки и заранее повторить связанные темы. В подборке чаще встречаются темы: backend, database, workflow.
на больших таблицах с частыми операциями insert/update/delete, поскольку обновление индексов создаёт дополнительные накладные расходы в запросах, фильтрующих по низкораспределённым или часто повторяющимся значениям,…
В каких случаях следует применять кэширование? ускорить работу системы и сократить время ответа уменьшить нагрузку на базы данных и другие ключевые ресурсы обрабатывать повторяющиеся запросы к одним и тем же данным…
Архитектура: адаптация системы к новым требованиям через рефакторинг Сложность: низкие накладные расходы на сопровождение и взаимодействие Производительность: отказ от сетевого взаимодействия снижает латентность…
распределённая архитектура, в которой сервисы работают независимо обмен данными по сети через HTTP/REST, gRPC или message brokers синхронное взаимодействие через REST/gRPC и асинхронное — через RabbitMQ, Kafka…
архитектурный подход к созданию распределённых систем приложение разделяется на самостоятельные сервисы каждый из них выполняет определённую бизнес-задачу сервисы обмениваются данными через строго определённые API…
Как устроены некластеризованные индексы? База данных использует индекс для поиска записей в таблице Индекс представляет собой самостоятельную структуру, например B-дерево В нём хранятся ключи и ссылки на строки данных…
Аннотации Spring для компонентов и бинов Spring представляет собой контейнер для управления зависимостями @Component — универсальная аннотация, предназначенная для регистрации компонента в контексте Spring @Service —…
Spring Bean — объект, жизненным циклом которого управляет контейнер Spring IoC при scope = singleton (по умолчанию) создается во время инициализации ApplicationContext при scope prototype новый экземпляр появляется…
Когда применять локальный и распределённый кэш Кэширование позволяет ускорить получение данных Локальный кэш: данные хранятся в памяти одного экземпляра приложения Обеспечивает быстрый доступ с минимальной задержкой…
сложная архитектура и высокие затраты на управление нуждается в развитых процессах автоматизации и DevOps-практиках сложно обеспечить согласованность данных и корректную работу транзакций межсервисное взаимодействие…
производительность: основной поток не блокируется во время выполнения задачи отзывчивость: UI и сервисы сохраняют работоспособность при длительных операциях масштабируемость: ресурсы эффективнее используются при…