Когда проверяется интерфейс: compile-time или runtime? Контекст: типизация и объектно-ориентированное программирование В статически типизированных языках, включая Java и C#, интерфейсы проверяются на этапе…
Когда применяют git revert? Способ отменить коммит без переписывания истории Добавляет новый коммит, обратный изменениям выбранного коммита Безопасен для публичных веток и командной работы Сохраняет общую историю, в…
Наследование и назначение Hashable Протокол Hashable обеспечивает поддержку хеширования ключей в словарях и множествах Он наследуется от протокола Equatable Протокол Equatable реализует оператор ==, который позволяет…
Почему при использовании var в цикле получаются одинаковые значения? var обладает функциональной, а не блочной областью видимости поэтому все итерации используют одну общую переменную замыкания в цикле захватывают…
Почему в React хуки пришли на смену классовым компонентам и какие задачи они решили? React: функциональные компоненты используют хуки Устранили избыточную громоздкость классов Отказались от обязательного использования…
Отличие zero value слайса от zero value мапы Слайс и мапа как контейнеры в Go Zero value слайса — это nil-срез с длиной и ёмкостью 0, который указывает на nil Чтение разрешено, однако запись невозможна без…
Чем отличаются WHERE и HAVING в SQL-запросах SQL-запросы и фильтрация данных WHERE отбирает строки до агрегации применяется непосредственно к строкам таблицы HAVING используется после агрегации (GROUP BY) проверяет…
Отличие escaping- и non-escaping-замыканий Swift и управление временем жизни объектов non-escaping: замыкание выполняется только в рамках функции, которой оно передано, и завершается до её окончания escaping:…
оба метода перебирают элементы массива (итерируют его) forEach: выполняет действие для каждого элемента, не возвращая значения map: формирует новый массив той же длины map используют для преобразования данных forEach…
Ключевые различия между типами значений и ссылочными типами область памяти: value type содержит сами данные, тогда как reference type — ссылку на объект копирование: при присваивании value type дублируется значение, а…
Что означает zero value у слайса? Go: zero value — значение типа по умолчанию Для слайса таким значением является nil-слайс nil-слайс: указатель = nil, длина = 0, ёмкость = 0 Такой слайс не ссылается на выделенную…
Что означает эвакуация в контексте Map? область применения: хеш-таблицы и структуры данных эвакуация — это перемещение элементов при изменении внутреннего устройства Map запускается при увеличении внутреннего массива…