В этой подборке вопросы сгруппированы по формату «Поведенческие вопросы», чтобы подготовку можно было вести от базовых тем к практическим задачам. В подборке чаще встречаются темы: backend, database, async.
Требования к чистым функциям и нарушающие их побочные эффекты Чистая функция возвращает один и тот же результат при одинаковых входных данных Она не зависит от внешнего состояния и не изменяет его, то есть не…
Какими способами можно создать Flow? Flow представляет собой типизированный поток данных (JS/типизация) Автоматическая типизация задаётся через аннотации (// @flow, type, interface) Для ленивых вычислений применяют…
корутина — легковесная единица выполнения, которой управляет CoroutineScope запуск с помощью launch — возвращает Job и подходит для задач, которым не нужен результат запуск посредством async — возвращает Deferred и…
Основные способы копирования объектов Поверхностное копирование (shallow copy) — создаёт копию только верхнего уровня, поэтому вложенные объекты продолжают ссылаться на исходные Глубокое копирование (deep copy) —…
Как оценить скорость работы словаря (Big O)? словарь представляет структуру ключ → значение (хеш-таблицу) вставка, поиск и удаление обычно имеют amortized O(1) (среднюю амортизированную сложность) в худшем случае при…
Отличия <? extends T> от <? super T> обобщённые типы в Java значения из такого контейнера можно безопасно читать, но добавление запрещено объекты типа T можно безопасно добавлять, а при чтении типом результата будет…
Из чего состоит HTTP-запрос HTTP — сетевой протокол, предназначенный для передачи данных начинается с метода, например GET, POST, PUT или DELETE. содержит URL, включающий путь и параметры запроса указывает версию…
Каковы основные принципы SOLID? пять принципов объектно-ориентированного проектирования S — Single Responsibility Principle (SRP): у класса должна быть только одна ответственность O — Open/Closed Principle (OCP):…
Worker threads — преимущества, передача данных и эффективность при I/O Worker threads — механизм Node.js для выполнения задач параллельно, позволяющий обойти ограничение однопоточности V8 С их помощью CPU-интенсивные…
Flow и LiveData: различия и перенос логики Flow — асинхронный реактивный поток из Kotlin Coroutines, который поддерживает операторы преобразования и не привязан к UI LiveData — компонент Android Jetpack с поддержкой…