Подборка помогает системно подготовиться к интервью на позицию Backend-разработчик: проверить теорию, потренировать практические задачи и объяснение решений. В подборке чаще встречаются темы: backend, database, api.
контекст: общая концепция передачи аргументов в функции зависит от языка и типа данных: примитивные значения передаются по значению, а объекты — по ссылке или как копии ссылок в C/C++: базовые типы передаются по…
Как устроена идемпотентность: хранение ключей и механизм обработки идемпотентность — это гарантия того, что повторный вызов приводит к тому же результату ключ идемпотентности обычно создаётся клиентом или сервером и…
Распределённые системы, микросервисы Для поддержания согласованности применяются паттерны Event Sourcing и CQRS Применение асинхронного взаимодействия на основе событий (event-driven architecture) Использование…
Spring Framework, управление компонентами ApplicationContext — это контейнер Spring, в котором хранятся бины Для получения бина применяется метод getBean() По имени: getBean("beanName") По типу:…
HTTP-метод и параметры запроса списка сущностей с фильтрацией, пагинацией и сортировкой метод: GET — используется для чтения данных без изменения ресурса параметры query string: filter (либо параметры отдельных полей)…
Возврат потока в пул при выполнении await Асинхронная модель C# использует state machine и Task На время await текущий поток освобождается до завершения задачи Метод формирует continuation, которое планируется для…
контроль конкурентного доступа к данным доступные уровни: Read Uncommitted, Read Committed, Repeatable Read, Serializable решение определяется соотношением требований к консистентности и производительности низкие…
Как документировать API микросервисов с помощью Swagger/OpenAPI? — стандарт OpenAPI для описания REST API в формате YAML/JSON — интерактивная документация, создаваемая автоматически (Swagger UI) — валидация API и…
Чтобы запустить поток, вызовите у объекта Thread метод start() Метод start() создаёт новый системный поток операционной системы и запускает его Метод run() является обычным методом и выполняется в том потоке, из…
in-memory key-value store, применяемое для кэширования и работы баз данных горизонтально масштабируется с помощью шардинга (Cluster) Redis Cluster распределяет данные между узлами по слотам — всего предусмотрено 16384…
CI/CD автоматизирует сборку, тестирование и доставку приложения настроить Git и определить триггеры запуска pipeline подключить CI-сервер: Jenkins, GitLab CI или GitHub Actions запускать сборку и юнит-тесты…