Подборка объединяет вопросы, отмеченные на этапах интервью в Сбер. Здесь можно понять структуру технической проверки и заранее повторить связанные темы. В подборке чаще встречаются темы: backend, database, architecture.
Использовал ли ты Testcontainers и зачем они нужны? Инструмент для интеграционного тестирования Запускает настоящие контейнеры Docker с СУБД, брокерами и другими сервисами Помогает поднимать зависимости в чистой и…
Как volatile обеспечивает видимость изменений в многопоточной программе? многопоточность, память и оптимизации указывает, что переменная не должна кешироваться потоками не допускает инструкции reordering со стороны…
управление конкурентным доступом (Concurrency Control) уровни изоляции (Read Uncommitted → Serializable) блокировки (Locking): shared и exclusive мультиверсионность (MVCC) — хранение версий данных для чтения…
Стандартные способы управления потоками (ExecutorService, Future) Java concurrency API предназначен для управления потоками ExecutorService — интерфейс пула потоков, отвечающий за управление его жизненным циклом С…
Память JVM разделена на две основные области: heap и stack В stack находятся данные локальных переменных и информация о вызовах функций Организация stack основана на принципе LIFO, поэтому доступ к данным происходит…
аспектно-ориентированное программирование (AOP), управление транзакциями обозначает метод или класс для автоматического открытия, фиксации и отката транзакции при вызове метода Spring создаёт новую транзакцию либо…
Оба варианта блокировок доступны в Spring ORM через JPA Оптимистичный подход использует контроль версий: на сущность добавляется аннотация @Version Во время обновления версия сравнивается; при расхождении возникает…
Логирование позволяет отслеживать события в приложении и играет ключевую роль в его диагностике и мониторинге. Sentry — средство отслеживания ошибок, которое собирает stack trace, объединяет события по проблемам и…
Тестирование UI-компонентов в Jetpack Compose Для UI-тестов Compose применяют библиотеку compose-test, входящую в состав Jetpack Compose. Центральный инструмент — ComposeTestRule: он управляет жизненным циклом…
микросервисы — автономные сервисы, взаимодействующие через API REST: синхронное взаимодействие по HTTP/JSON, простая интеграция gRPC: синхронный и асинхронный обмен, бинарный протокол, высокая производительность…
Stream API — инструмент Java для обработки коллекций группировка выполняется методом Collectors.groupingBy() метод получает функцию классификации (keyMapper) результатом становится Map с ключами и перечнями элементов…