Подборка объединяет вопросы, отмеченные на этапах интервью в Сбер. Здесь можно понять структуру технической проверки и заранее повторить связанные темы. В подборке чаще встречаются темы: database, sql, backend.
В Java checked исключения — это исключения, которые проверяются компилятором, и их необходимо либо обработать, либо объявить в сигнатуре метода с помощью throws.
Статический блок в Java используется для инициализации статических переменных или выполнения кода при загрузке класса. Он выполняется один раз при загрузке класса.
Объект ThreadPoolExecutor в Java после выполнения задачи предоставляет информацию о состоянии пула потоков и выполненных задачах. Основные данные, которые можно получить:
В Java, например в реализации HashMap, перед определением бакета происходит операция смешивания (hash spreading) хэш-кода с помощью побитового сдвига и XOR.
В синхронной цепочке вызовов обычно каждый следующий компонент вызывается предыдущим, формируя последовательный поток выполнения. Например, в бизнес-процессе расчёта цены заказа:
Если клиент связан с другой таблицей через внешний ключ, то прямое удаление записи клиента вызовет ошибку ограничения внешнего ключа. Чтобы удалить такого клиента, можно использовать один из подходов:
Паттерн Saga используется для управления распределёнными транзакциями, разбивая их на серию локальных транзакций с возможностью компенсации в случае ошибки.