Перейти к содержимому

Android — Список вопросов

Java Core

➤ Какие есть типы данных в Java и какой у них размер
➤ Какие есть модификаторы в Java и Kotlin
➤ Какие вы знаете Java Collection
➤ Какие уровни сложности для операций с коллекциями
➤ Что такое HashMap
➤ Как отсортировать коллекцию, содержащую сложный класс, Comparable и Comparable
➤ В чем разница между ArrayList и LinkedList
➤ Как работает TreeMap
➤ Какие правила нейминга в Java
➤ Что такое статические классы в Java
➤ Какая разница между StringBuffer и StringBuilder
➤ Что такое рефлексия в Java
➤ В каких ситуациях возникает Memory leak
➤ Что такое Generic (Дженерики)
➤ Какие методы есть у класса Object в Java и Any в Kotlin
➤ Что такое Enum в Java
➤ Какой в Java приоритет при преобразовании примитивных типов
➤ Что такое приведение типов / преобразование типов / каст
➤ Для чего нужны и как создавать аннотации в Java
➤ Что такое Wrappers (обертки) в Java
➤ Какие есть операторы перехода
➤ Что такое Stack (стек) и Heap (куча) в Java
➤ Что такое JDK, JRE и JVM
➤ Какими значениями инициализируются переменные по умолчанию
➤ Возможно ли сузить уровень доступа/тип возвращаемого значения при переопределении метода
➤ Какие существуют типы ссылок в Java
➤ В чем разница между map и flatMap
➤ Какие есть типы ошибок в Java
➤ Как работает Garbage Collector и как организована память в JVM
➤ Что такое Java NIO (New Input/Output)
➤ Какой порядок выполнения Java класса
➤ Может ли абстрактный класс наследоваться от обычного
➤ Какие бывают циклы в Java и Kotlin
➤ Что такое ClassLoader
➤ Что такое SecurityManager
➤ Что такое JavaCompiler
➤ Как запустить JavaScript из Java
➤ Что такое Optional в Java и Kotlin
➤ Какие есть побитовые (поразрядные) операции в Java и Kotlin
➤ Что такое ByteBuffer и Unsafe
➤ Что такое лямбда (lambda) в Java
➤ Как в Java загрузить исполняемый код из сети
➤ Что такое AsynchronousServerSocketChannel
➤ Что такое функциональные интерфейсы и аннотация @FunctionalInterface в Java
➤ Какие есть встроенные функциональные интерфейсы в Java
➤ Какие есть типовые параметры в Java
➤ Какой механизм работы у volatile переменных в Java
➤ Как в JVM работают стеки потоков, с точки зрения взаимодействия с процессором

Kotlin Core

Java / Kotlin Core — Теория

Java / Kotlin Core — Многопоточность

Реляционные SQL базы данных

Компоненты и view

Данные и многопоточность
(в процессе написания, пока что не опубликовано)

➤ Что такое LiveData
➤ Что такое EventBus и как работает
➤ Как может использоваться Handler в Anroid разработке
➤ Что такое DataStore Library
➤ Как можно передать данные в фрагмент
➤ Что такое Android Data Binding
➤ Чем отличаются Flow, StateFlow и SharedFlow в Kotlin
➤ Что такое Looper
➤ Что такое Serializable, Externalizable, Parcelable
➤ Какие есть Dispatchers в корутинах
➤ Какие Scope есть в корутинах
➤ Что такое onTrimMemory()
➤ Что такое Java ThreadPool
➤ Как можно передавать данные между активити и между фрагментами
➤ Как зашифровать / расшифровать данные алгоритмом AES / RSA или получить хеш SHA-1 / MD5
➤ Чем отличается LiveData от обычной подписки RxJava
➤ Чем отличаются реляционные и нереляционные базы данных
➤ Какая разница между GlobalScope / CoroutineScope / LifecycleScope / ViewModelScope
➤ Что такое CoroutineContext / Job / CoroutineDispatcher / CoroutineName / CoroutineExceptionHandler
➤ Почему не следует подписываться на MutableStateFlow во ViewModel
➤ В чем состоят основные отличия Dagger / Hilt от Koin
➤ Какие есть аннотации в Hilt
➤ Какие есть аннотации у Dagger 2
➤ Какие есть методы в Koin