Тех собес на middle-senior Android Разработчик в ****

Доступно с премиум-подпиской

Оформите премиум-подписку, чтобы получить доступ к:

  • Фильтрации по компаниям
  • Названиям компаний в интервью
  • Видеозаписям собеседований в категории Android Разработчик

Посмотреть видео в категории

(2025-07-07)

Техническое собеседование

  • Средняя алгоритмическая сложность поиска в отсортированном массиве (бинарный поиск, O(log N))
  • Максимальное значение 32-битного int (2³¹ − 1 с учётом знакового бита)
  • Средняя сложность быстрой сортировки (O(N log N))
  • Сложность сортировки пузырьком (O(N²))
  • Переопределение equals() и hashCode() для корректного использования пользовательского класса в HashMap
  • Контракт между equals() и hashCode(), коллизии хэш-кодов
  • Примеры стандартных типов JVM, у которых не бывает коллизий хэш-кодов (например, для Integer)
  • Синхронизация статического метода (synchronized на уровне Class), отличие от синхронизации экземплярного метода (this)
  • Основные методы класса Object (hashCode, equals, toString, notify, notifyAll, clone)
  • Перехват всех Runtime-исключений в Android (Thread.setDefaultUncaughtExceptionHandler)
  • Создание кастомного компоновщика (наследование от ViewGroup и переопределение onMeasure/onLayout)
  • Добавление разделителей в RecyclerView через ItemDecoration
  • Гарантированный вызов метода на главном потоке (корутины с Dispatchers.Main или Handler.post)
  • Поток вызова onStartCommand() у сервиса (главный поток)
  • Средства анимации в Android (Jetpack Compose: animate*, AnimatedList, модификаторы; XML-анимации)
  • Механизм wait(), notify(), notifyAll() в Java-мониторах (блокировка и пробуждение потоков)
  • GC Roots в JVM (потоки, статические поля, ClassLoader)
  • Выбор реализации List для адаптера RecyclerView (ArrayList vs LinkedList)
  • Разница между invalidate() и requestLayout() в View
  • Роль RenderThread в Android (отдельный поток для рендеринга)