Подборка помогает системно подготовиться к интервью на позицию Backend-разработчик: проверить теорию, потренировать практические задачи и объяснение решений. В подборке чаще встречаются темы: backend, database, api.
Работа со слайсами (Go slices) Удаление элемента по индексу Для этого объединяют два подслайса: s = append(s[:i], s[i+1:]...) В результате формируется новый слайс без элемента с индексом i, а его длина уменьшается.…
Как работать с тяжёлыми запросами в Node.js и SQL? Node.js (асинхронность и потокобезопасность): выполнять операции асинхронно с помощью async/await и промисов, чтобы не блокировать event loop передавать ресурсоёмкие…
Как устранить конфликт имён методов при использовании нескольких трейтов? Контекст: работа с Rust / трейты Проблема появляется, когда разные трейты содержат методы с одинаковыми именами Для решения при вызове…
Redis представляет собой высокопроизводительное хранилище данных в формате ключ—значение Прямой поиск по значению не поддерживается, поскольку значения не индексируются Для такой задачи можно задействовать структуры…
персистентность — это гарантия сохранения данных на диске предусмотрено два основных механизма: RDB (Snapshotting): через заданные интервалы создаёт моментальные снимки состояния памяти и сохраняет их в компактные…
аспектно-ориентированное программирование (AOP), управление транзакциями обозначает метод или класс для автоматического открытия, фиксации и отката транзакции при вызове метода Spring создаёт новую транзакцию либо…
Оба варианта блокировок доступны в Spring ORM через JPA Оптимистичный подход использует контроль версий: на сущность добавляется аннотация @Version Во время обновления версия сравнивается; при расхождении возникает…
Механизмы аутентификации и авторизации в микросервисной архитектуре с Spring Security Аутентификация — это подтверждение личности пользователя либо сервиса Авторизация — определение доступных ресурсов на основании…
подход к управлению распределёнными транзакциями крупная транзакция представляется последовательностью локальных операций в отдельных сервисах для каждой операции предусматривается компенсирующее действие, позволяющее…
Кэш представляет собой хранилище промежуточных данных, которое ускоряет доступ к информации Инвалидация необходима для поддержания согласованности данных Основные стратегии инвалидации: TTL (время жизни):…
Обработка ошибок и отказоустойчивость при взаимодействии сервисов для временных сбоев применяем паттерны повторных попыток (retry) с backoff circuit breaker изолирует неисправный сервис и не допускает каскадного…
Как обеспечивать потокобезопасность в приложениях? синхронизация критических секций с помощью мьютексов и семафоров применение атомарных операций и lock-free структур данных для сохранения высокой производительности…