Пессимистичные и оптимистичные блокировки Различие в стратегии обработки конфликтов: Пессимистичные: ресурс блокируется заранее, поскольку конфликт считается вероятным Оптимистичные: операции выполняются без…
Что означает zero value у слайса? Go: zero value — значение типа по умолчанию Для слайса таким значением является nil-слайс nil-слайс: указатель = nil, длина = 0, ёмкость = 0 Такой слайс не ссылается на выделенную…
Что называют микросервисным слоем? архитектурный уровень микросервисной системы сочетает несколько независимых сервисов каждый из них реализует ограниченную бизнес-функцию сервисы взаимодействуют через API (REST,…
Что означает эвакуация в контексте Map? область применения: хеш-таблицы и структуры данных эвакуация — это перемещение элементов при изменении внутреннего устройства Map запускается при увеличении внутреннего массива…
Что представляет собой лямбда-выражение в Kotlin? значение функционального типа и компактная форма записи функции анонимная функция без имени и заранее заданного inline-тела принимает параметры и возвращает результат…
Go map представляет собой хеш-таблицу формата ключ→значение с внутренними релоцированиями Элементы не закреплены в памяти и могут переместиться после вставки или удаления. Попытка получить адрес элемента мапы…
Компилятор выполняет inline-функцию за счёт встраивания её кода оператор return из лямбды в inline-функции выполняет non-local return то есть он завершает не лямбду, а внешнюю функцию, в которой расположен вызов…
Контекст: управление отменой в Kotlin Coroutines Когда родительская корутина отменяется, все её дочерние корутины также автоматически переходят в состояние отмены Причина заключается в устройстве иерархии Job: именно…
Асинхронный поток значений Представляет собой cold stream: генерация данных начинается только после подписки Поддерживает реактивный подход к программированию Даёт возможность эмитировать последовательность значений с…
Что такое Structured Concurrency и как можно нарушить этот принцип? конкурентное выполнение организовано как иерархия задач дочерние операции создаются и завершаются внутри контекста родителя обработка исключений и…
Что такое data class в Kotlin? класс, предназначенный для хранения данных автоматически создаёт: equals, hashCode, toString, copy, componentN все свойства должны находиться в primary constructor подходит для immutable…
Что такое inlining функции? оптимизация компилятора подстановка тела функции вместо её вызова отсутствие накладных расходов на вызов снижение задержек, связанных с переходами возможное увеличение размера бинарника…