По какому принципу вы декомпозировали систему на микросервисы?
Границы микросервисов определяются исходя из бизнес-доменов и ответственности каждого сервиса. Основные подходы:
Читать ответПодготовка к интервью
1058 вопросов с собеседований в Альфа-Банк
Что проверяют на интервью
Подборка объединяет вопросы, отмеченные на этапах интервью в Альфа-Банк. Здесь можно понять структуру технической проверки и заранее повторить связанные темы. В подборке чаще встречаются темы: devops, infrastructure, database.
Каталог
Границы микросервисов определяются исходя из бизнес-доменов и ответственности каждого сервиса. Основные подходы:
Читать ответВ своей практике я самостоятельно настраивал и поддерживал следующие компоненты инфраструктуры:
Читать ответДа, я настраивал кэш второго уровня в Hibernate для повышения производительности приложения за счет уменьшения количества обращений к базе данных.
Читать ответДля обработки большого потока событий в Kafka обычно предпочтительнее использовать один топик с большим количеством партиций, а не множество топиков.
Читать ответGIN (Generalized Inverted Index) и GiST (Generalized Search Tree) — это два типа индексов в PostgreSQL, которые используются для полнотекстового поиска, но имеют разные особенности.
Читать ответКэширование в памяти приложения и внешний кэш, например Redis, имеют разные сценарии использования и особенности:
Читать ответЭлемент может исчезнуть из коллекции HashMap в следующих ситуациях:
Читать ответВ одном из проектов мы столкнулись с проблемой масштабируемости и производительности на старом стеке, где использовался Spring MVC и монолитная архитектура.
Читать ответКачество тестов — это совокупность характеристик, которые определяют насколько тесты эффективны и полезны для обеспечения надежности кода. Важные аспекты качества тестов:
Читать ответЧтобы все сообщения одного клиента попадали в одну и ту же партицию Kafka, нужно использовать ключ (key) при отправке сообщений.
Читать ответНеизменяемые (immutable) объекты — это объекты, состояние которых нельзя изменить после создания. В программировании их используют для:
Читать ответНе стоит использовать parallelStream в следующих случаях:
Читать ответ