Наследование и композиция: что обеспечивает большую гибкость кода? наследование: тесная связь и фиксированная иерархия композиция: гибкое объединение объектов из отдельных компонентов наследование трудно изменять…
В большинстве языков строки являются иммутабельными, то есть неизменяемыми При каждой конкатенации создаётся новый массив байт, куда копируются исходные данные Внутри цикла это приводит к постоянному выделению памяти…
Почему линейный поиск может работать неэффективно алгоритм проверяет элементы один за другим сложность поиска — O(n), поэтому время растёт вместе с объёмом данных при работе с большими массивами он становится очень…
Безопасность: JWT передаётся клиенту, поэтому его могут украсть Конфиденциальность: пароль внутри JWT раскрывает чувствительные данные Аутентификация: достаточно передавать идентификатор пользователя или claims…
архитектура: система из независимых сервисов масштабируемость: каждый компонент можно масштабировать отдельно развертывание: автономные обновления без остановки всей системы гибкость: в одном приложении можно…
Интерфейс сериализации, предназначенный специально для Android Более высокая скорость работы по сравнению с Serializable благодаря native-коду Сниженное потребление памяти и CPU Меньше накладных расходов при передаче…
Почему на собеседовании важно понимать работу стека в многопоточности? управление памятью при выполнении нескольких потоков у каждого потока есть собственный стек вызовов в стеке хранятся локальные переменные и адреса…
Контекст: принципы SOLID и архитектура программного обеспечения Single Responsibility Principle (SRP) означает, что у класса должна быть единственная причина для изменения, то есть только одна область ответственности…
Индексы увеличивают объём БД и требуют дополнительного дискового пространства Замедляют выполнение операций записи и обновления (INSERT, UPDATE, DELETE), поскольку при них необходимо изменять и индексы Большое…
Почему не следует создавать геттеры и сеттеры для каждого поля? Инкапсуляция означает управление доступом, а не автоматическую генерацию методов геттеры и сеттеры без практической цели делают код сложнее пассивное…
В React ключи используются для идентификации элементов при построении списков Если передавать индекс, можно столкнуться с проблемами производительности и ошибками при изменении порядка элементов При добавлении,…
Почему одну DTO не следует передавать через все слои и как разделять модели Многослойная архитектура строится так, чтобы каждый слой выполнял свою специализированную задачу DTO предназначены для транспортировки данных…