Подборка объединяет вопросы, отмеченные на этапах интервью в Сбер. Здесь можно понять структуру технической проверки и заранее повторить связанные темы. В подборке чаще встречаются темы: backend, database, architecture.
Как устроен HashMap? За счёт чего достигается константный поиск структура данных формата ключ → значение (хеш-таблица) для ключа вычисляется хеш-код (число) по хеш-коду быстро определяется индекс бакета в бакете…
Как устроен Redis и для чего нужен TTL? Redis — это in-memory key-value хранилище Информация размещается в оперативной памяти, поэтому доступ к ней занимает микросекунды Поддерживаются разные структуры: строки,…
Устройство String: почему обращение по индексу неоднозначно? В большинстве современных языков String — это последовательность символов, однако способ её внутреннего представления может отличаться. При использовании…
Жизненный цикл Spring Beans Spring Bean — объект, жизненным циклом которого управляет Spring-контейнер этап 1: создание экземпляра с помощью конструктора или фабрики этап 2: внедрение зависимостей (DI через…
структура данных для хранения пар ключ → значение внутри представляет собой хеш-таблицу ключ обязан быть comparable (поддерживать операцию ==) поиск, добавление и удаление выполняются в среднем за ~O(1) для обработки…
Автоматически освобождает память, выделенную JVM Находит объекты, на которые больше нет ссылок и которые стали недостижимыми Организует кучу по поколениям: Young, Old и Permanent (метаданные) Базовый подход:…
Как устроены wait() и notify() и где их разрешено вызывать? средства синхронизации в Java, основанные на объектном мониторе wait() — освобождает монитор и переводит поток в режим ожидания notify() — будит один поток,…
память разделяется между стеком и кучей стек принадлежит конкретному потоку и содержит его локальные переменные и вызовы функций при многопоточном выполнении каждый поток использует собственный независимый стек,…
Аннотации Spring для компонентов и бинов Spring представляет собой контейнер для управления зависимостями @Component — универсальная аннотация, предназначенная для регистрации компонента в контексте Spring @Service —…
антипаттерн — подход, который приводит к проблемам Spaghetti code: запутанный код, который трудно понимать и поддерживать God object: объект, наделённый чрезмерным количеством обязанностей Golden hammer: неоправданное…
Разновидности индексов в БД B-деревья: сбалансированная структура для выполнения диапазонных запросов Хеш-индексы: быстрый поиск точного совпадения по равенству Bitmap-индексы: эффективны для колонок с небольшим…