Подборка объединяет вопросы, отмеченные на этапах интервью в Сбер. Здесь можно понять структуру технической проверки и заранее повторить связанные темы. В подборке чаще встречаются темы: backend, database, architecture.
Auto Layout или фреймы: особенности вёрстки и производительность Вёрстка iOS UI: Auto Layout использует декларативное позиционирование, а фреймы задают координаты напрямую Auto Layout обеспечивает адаптивность и…
Когда в Kotlin выбирать data class, а когда обычный класс? data class предназначен для хранения данных и автоматически получает equals(), hashCode(), toString(), copy() и компоненты Его выбирают, если важны…
GCD (Grand Central Dispatch) — низкоуровневый фреймворк для многопоточности в iOS/macOS Представляет собой обёртку над pthread и ядром ОС (libdispatch) Предоставляет очереди задач для синхронного и асинхронного…
Java использует иерархию классов Исключения составляют примитивы и исключения JVM; например, примитивные типы классами не являются Когда класс явно не указывает родительский класс, он неявно наследует Object…
В статическом массиве вставка выполняется за O(n), поскольку элементы приходится копировать В динамическом массиве, например ArrayList, добавление в конец имеет амортизированную сложность O(1) Вставка в середину…
По каким причинам PostgreSQL может не использовать индекс планировщик выбирает наименее затратный план (cost-based) индекс малоэффективен при низкой селективности (большом количестве повторяющихся значений) при чтении…
Контекст: лямбда-выражения в Kotlin и других похожих языках it — неявное обозначение параметра лямбды в сложных лямбдах it может ухудшать читаемость программы особенно неудобен при нескольких параметрах и вложенных…
ограниченные сроки и ресурсы → фокус на UI как способе быстро проверять систему UI-тесты проверяют end-to-end сценарии вместе с проходящей через них бизнес-логикой бизнес-правила могли проверяться через интеграционные…
Почему возникает StackOverflowError? ошибка, связанная с переполнением стека вызовов в памяти появляется при рекурсивных вызовах, для которых не предусмотрен базовый случай стек переполняется из-за чрезмерно глубокой…
Что случится, если equals() считает два объекта равными, а их hashCode() различаются? Контракт equals/hashCode нарушается Hash-based коллекции (HashMap, HashSet) начинают работать некорректно Равные объекты могут…
MVI строится на однонаправленном потоке данных, поэтому состояние проще контролировать разделение на Model, View, Intent улучшает тестируемость и сопровождение состояние (state) хранится как immutable, что уменьшает…
Kotlin — современный язык JVM, полностью совместимый с Java Выразительный лаконичный синтаксис уменьшает шумовой код и количество ошибок Корутин обеспечивают удобную асинхронность и конкурентное выполнение Механизм…