- What is a programming paradigm?
- A programming paradigm is a way of classifying a programming language based on common features or patterns of that language.
- Can you name three programming paradigms supported by Kotlin?
- Imperative
- Functional
- Object-oriented
- Reactive
- Generic
- What is the difference between imperative and declarative code?
- Imperative describes "how" to do something. Declarative describes "what" to do.
- Can you name one declarative programming language?
- What are the three core principles of object-oriented programming?
- Encapsulation
- Polymorphism
- Inheritance
- What are two core principles of functional programming languages?
- First-class functions
- Pure functions
- What is reactive programming?
- A style of programming in which computation is done in response to streams of events
- What is the difference between RxJava and RxKotlin?
- RxKotlin is a set of helper functions meant to extend RxJava to make it more Kotlin idiomatic.