Нажмите на ссылки для перехода на статью
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
Kotlin Core
➤ Что такое внутренние классы (Inner Classes) в Kotlin
➤ Какие есть функции области видимости (Scope Functions) в Kotlin
➤ Как работает корутина и что такое suspend
➤ Какая разница между методом запуска корутин launch и async
➤ Что такое Делегаты в Kotlin
➤ Что такое Extension в Kotlin
➤ Что такое companion object в Kotlin
➤ Как использовать геттеры (get) и сеттеры (set) в Kotlin
➤ Что такое аннотация @JvmStatic
➤ Что такое обратный вызов (callback), функциональные типы и Unit в Kotlin и как используется
Java / Kotlin Core — Теория
➤ Какие существуют уровни сложности у коллекций
➤ Какие наиболее часто используемые паттерны
➤ В чем отличия наследования от композиции
➤ Что такое SOLID
➤ Что такое функции высшего порядка
➤ В чем отличие структурной, функциональный и объектно-ориентированной парадигмы в программировании
➤ Какие форматы обмена данными с сервером существуют
Java / Kotlin Core — Многопоточность
➤ Какие бывают и как работают синхронизованные коллекции
➤ Что означает volatile
➤ Что означает synchronized
➤ Какие проблемы могут быть в многопоточности в Java
➤ Что такое Lock / ReentrantLock
➤ Какие есть стратегии Backpressure
➤ Чем отличаются hot и cold Observables
➤ Чем volatile отличается от atomic
➤ Что такое отложенные (Deferred) корутины в Kotlin
➤ Что такое ленивые (LAZY) корутины в Kotlin
➤ Что такое Kotlin Channels
➤ Что такое Mutex, Monitor, Semaphore
Реляционные SQL базы данных
➤ Какой синтаксис запроса в SQL
➤ Что такое VIEW (представление) в SQL
➤ Что такое INDEX (индексы) в SQL
➤ Как избежать конкуренции при доступе к записи в SQL
➤ Какие существуют виды отношений в SQL
➤ Как сделать соотношение Many-to-Many в SQL
➤ Как в SQL объединить запрос к нескольким таблицам
➤ Как использовать план запроса в SQL
➤ Как использовать индексы в SQL
Компоненты и view
➤ Расскажите про SOLID
➤ Какие существуют слои в чистой архитектуре и за что они отвечают
➤ Из каких элементов состоит Android приложение
➤ В чем разница между MVP, MVVM, MVC, MVI
➤ Что такое Android ViewModel
➤ Что такое Android Broadcast Receivers
➤ Что такое Content Provider
➤ Что такое Android Context
➤ Что такое WorkManager
➤ Программы в Android работают на JVM?
➤ Опишите архитектуру платформы Android
➤ Где хранятся Bundle
➤ Опишите структуру объекта Intent
➤ Какой жизненный цикл у активити, фрагмента, View
➤ Что такое Fragment Result API
➤ Что такое Zygote в Android
➤ Как в Kotlin можно задать параметры в xml для Custom View
➤ Что такое Spannable?
➤ Чем отличаются build type, flavor и build variant?
➤ Что такое sharedPreferences, как работает и куда сохраняет
➤ Что такое Android ViewBinding
➤ Как работает RecyclerView
➤ Какая разница между Custom View и Custom Drawing
➤ Что такое Deep Link и App Link
➤ Что такое Navigation Architecture Component, для чего нужен и как работает
➤ Что такое Content Uri
➤ Как сделать анимацию переходов для навигационного компонента
➤ Какие преимущества и недостатки у png и svg и когда тот или иной лучше использовать
➤ Назвать все случаи, когда вызовется onSaveInstanceState и onRestoreInstanceState
➤ Что означают dpi, dp, sp, dip, px, mm, in и pt?
➤ Какие планировщики задач существуют в Android?
➤ Какие основные Layout в Android и какое у них быстродействие
➤ Может ли AndroidManifest содержать несколько main activity?
➤ Что такое мульти декларации в дата
➤ Какие в Android бывают типы сервисов?
➤ Какие классы служат для доступа к сенсорам?
➤ Какие основные аннотации и методы в Room
➤ Что такое 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