Подготовка к интервью

Банк вопросов с собеседований

Разбирайте реальные вопросы, сверяйтесь с подробными ответами и готовьтесь по технологиям и компаниям.

435 вопросов 119 компаний 249 технологий

Усильте резюме перед собеседованием

Проверьте, насколько резюме подходит выбранной позиции, и получите рекомендации по улучшению.

Анализ резюме
Сбросить

Каталог

Результаты поиска

Найдено: 435
Поведенческий

Почему String в Java иммутабелен и как работает String Pool?

Иммутабельность String и String Pool Объекты String в Java нельзя изменить после создания Неизменяемость обеспечивает потокобезопасность и возможность кеширования String Pool — специальная область памяти для строковых…

Читать ответ
Теория

Почему UI разделяют между несколькими Canvas?

графика и интерфейс разделение слоёв для оптимизации обновление только изменённых областей для повышения производительности упрощение обработки событий ввода на разных слоях уменьшение затрат на перерисовку всего UI…

Читать ответ
Поведенческий

Почему boxing значимого типа в ссылочный считается дорогой операцией?

Почему boxing значимого типа в ссылочный считается дорогой операцией? контекст: управление памятью и производительность при упаковке для значимого типа создаётся объект-обёртка в куче (heap) выделение памяти в куче…

Читать ответ
Теория

Почему frame-based логика считается проблемной на собеседовании?

Почему frame-based логика может создавать проблемы? состояния и данные сохраняются при каждом кадровом цикле зависит от задержек и снижения FPS может пропускать события, происходящие между кадрами (недетерминирована)…

Читать ответ
Поведенческий

Почему unowned работает быстрее weak и как это устроено на уровне runtime?

Swift, ARC, управление памятью unowned — неконтролируемая ссылка, которая не увеличивает счётчик ссылок weak — контролируемая ссылка: она изменяет счётчик и выполняет синхронизацию Для weak требуется атомарный доступ…

Читать ответ
Теория

Почему в Unity выбирают UniTask, а не стандартные .NET Task?

Для Unity особенно важны производительность и эффективное использование памяти При работе стандартный Task создаёт множество heap-аллоций и операций боксинга, увеличивая нагрузку на GC UniTask представляет собой…

Читать ответ
Поведенческий

Почему внедрение зависимостей через конструктор с @RequiredArgsConstructor лучше, чем @Autowired в поле, и какие проблемы это решает?

Почему конструкторное внедрение зависимостей с @RequiredArgsConstructor предпочтительнее, чем @Autowired в поле? Dependency Injection (DI) в Spring Конструктор гарантирует явно инициализированное состояние объекта…

Читать ответ
Поведенческий

Почему возникают проблемы, если equals() возвращает true, а hashCode() у объектов различается?

Что случится, если equals() считает два объекта равными, а их hashCode() различаются? Контракт equals/hashCode нарушается Hash-based коллекции (HashMap, HashSet) начинают работать некорректно Равные объекты могут…

Читать ответ
Лайвкодинг

Почему конкатенация строк в цикле приводит к созданию новых массивов байт и снижает производительность?

В большинстве языков строки являются иммутабельными, то есть неизменяемыми При каждой конкатенации создаётся новый массив байт, куда копируются исходные данные Внутри цикла это приводит к постоянному выделению памяти…

Читать ответ
Поведенческий

Почему линейный поиск работает медленно на больших объёмах данных?

Почему линейный поиск может работать неэффективно алгоритм проверяет элементы один за другим сложность поиска — O(n), поэтому время растёт вместе с объёмом данных при работе с большими массивами он становится очень…

Читать ответ
Теория

Почему на Android для передачи объектов выбирают Parcelable, а не Serializable?

Интерфейс сериализации, предназначенный специально для Android Более высокая скорость работы по сравнению с Serializable благодаря native-коду Сниженное потребление памяти и CPU Меньше накладных расходов при передаче…

Читать ответ