Skip to content

Android – List of Questions

Java Core

➤ What are the data types in Java and what is their size
➤ What are the modifiers in Java and Kotlin
➤ What Java Collections do you know
➤ What are the complexity levels for collection operations
➤ What is HashMap
➤ How to sort a collection containing a complex class, Comparator and Comparable
➤ What is the difference between ArrayList and LinkedList
➤ How does TreeMap work
➤ What are the naming rules in Java
➤ What are static classes in Java
➤ What is the difference between StringBuffer and StringBuilder
➤ What is reflection in Java
➤ In what situations does Memory leak occur
➤ What is Generic (Generics)
➤ What methods are available in the Object class in Java and Any in Kotlin
➤ What is Enum in Java
➤ What is the priority in Java when converting primitive types
➤ What is type casting / type conversion / cast
➤ What are annotations used for and how to create them in Java
➤ What are Wrappers in Java
➤ What are the jump operators
➤ What is Stack (stack) and Heap (heap) in Java
➤ What are JDK, JRE and JVM
➤ What values are variables initialized with by default
➤ Is it possible to narrow the access level/return type when overriding a method
➤ What types of references exist in Java
➤ What is the difference between map and flatMap
➤ What types of errors exist in Java
➤ How does Garbage Collector work and how is memory organized in JVM
➤ What is Java NIO (New Input/Output)
➤ What is the execution order of a Java class
➤ Can an abstract class inherit from a regular class
➤ What loops exist in Java and Kotlin
➤ What is ClassLoader
➤ What is SecurityManager
➤ What is JavaCompiler
➤ How to run JavaScript from Java
➤ What is Optional in Java and Kotlin
➤ What are bitwise (bitwise) operations in Java and Kotlin
➤ What is ByteBuffer and Unsafe
➤ What is lambda in Java
➤ How to load executable code from network in Java
➤ What is AsynchronousServerSocketChannel
➤ What are functional interfaces and @FunctionalInterface annotation in Java
➤ What built-in functional interfaces exist in Java
➤ What type parameters exist in Java
➤ What is the mechanism of volatile variables in Java
➤ How do thread stacks work in JVM from the perspective of interaction with the processor

Kotlin Core

Java / Kotlin Core – Theory

Java / Kotlin Core – Multithreading

Relational SQL databases

Components and view

Data and multithreading
(in progress, not yet published)

➤ What is LiveData
➤ What is EventBus and how does it work
➤ How can Handler be used in Android development
➤ What is DataStore Library
➤ How to pass data to fragment
➤ What is Android Data Binding
➤ What is the difference between Flow, StateFlow and SharedFlow in Kotlin
➤ What is Looper
➤ What is Serializable, Externalizable, Parcelable
➤ What Dispatchers exist in coroutines
➤ What Scopes exist in coroutines
➤ What is onTrimMemory()
➤ What is Java ThreadPool
➤ How to pass data between activities and between fragments
➤ How to encrypt / decrypt data with AES / RSA algorithm or get SHA-1 / MD5 hash
➤ What is the difference between LiveData and regular RxJava subscription
➤ What is the difference between relational and non-relational databases
➤ What is the difference between GlobalScope / CoroutineScope / LifecycleScope / ViewModelScope
➤ What is CoroutineContext / Job / CoroutineDispatcher / CoroutineName / CoroutineExceptionHandler
➤ Why you should not subscribe to MutableStateFlow in ViewModel
➤ What are the main differences between Dagger / Hilt and Koin
➤ What annotations exist in Hilt
➤ What annotations exist in Dagger 2
➤ What methods exist in Koin

Copyright: Roman Kryvolapov