Подборка объединяет вопросы, отмеченные на этапах интервью в Альфа-Банк. Здесь можно понять структуру технической проверки и заранее повторить связанные темы. В подборке чаще встречаются темы: devops, infrastructure, database.
Pact фиксирует ожидания consumer к provider и проверяет их на provider отдельно; внедрение включает consumer-тесты, provider states, публикацию контрактов и CI-проверку совместимости.
Разделите действия с Docker и Kubernetes: сборка и запуск образов, настройка зависимостей, manifests, namespaces, конфигурация, readiness и диагностика окружения.
Оператор регулярных выражений зависит от СУБД: PostgreSQL использует ~ и ~*, MySQL поддерживает REGEXP/REGEXP_LIKE, а LIKE работает с шаблонами, не полноценными regex.
18, 30 и 65 — позитивные проверки допустимого диапазона. 17, 66, 18.5, пустая строка и null — негативные, если поле обязательно и преобразование строк не предусмотрено.
Длинный строковый ключ увеличивает стоимость первоначального хеширования, возможного сравнения и объём памяти; среднее O(1) у HashMap не означает независимость от длины ключа.
Frontend должен завершить загрузку, показать понятную ошибку, сохранить безопасное пользовательское состояние и предложить допустимое действие, не выдавая сбой за успех.
Опишите конкретную асинхронную проверку: каким клиентом отправляли событие, как находили результат по correlation ID и как обеспечивали изоляцию и ограниченное ожидание.
Нужно подтвердить фактическую схему: кто владеет тестами, где они хранятся и как согласуют изменения. Кросс-функциональность команды не обязательно означает один репозиторий.
DTO описывает роль объекта передачи данных, а POJO — обычный Java-объект без обязательной привязки к специальной модели фреймворка. DTO с Lombok обычно остаётся POJO.
В цикле не увеличивается attempts: если сервис возвращает null, повторение становится бесконечным. Сетевые обращения и retries внутри транзакции также увеличивают время удержания ресурсов БД.
Вывод — true, false, false. В объяснении условия есть ошибка: String.valueOf(Object) не обязан создавать строку; здесь он вызывает toString у уже созданного String и возвращает тот же объект.