Skip to main content

Kotlin Programming Interview Questions and Answers

What Is Kotlin?
Kotlin is easy, open source, statically-typed, Procedural and object oriented programming (OOPs) language which runs on the Java Virtual Machine (JVM) and used for server-side development, Android apps, and much more.

Kotlin Programming was developed by JetBrains in 2011. Kotlin compiles to bytecode, so it can perform just as well as Java.

In 2017, Google announced Kotlin is an official language for Android development.
Kotlin works with all existing Java libraries and frameworks and runs with the same level of performance as Java.

Why To Use Kotlin?
1.      Kotlin is quite simple and safe compared to Java
2.      Kotlin is open-source
3.      Supports OOPs object oriented programming
4.      Kotlin compiles to bytecode
5.      Kotlin used for server-side development
6.      Kotlin used for Android apps development also
7.      Kotlin is multi-platform

What are the advantages of using Kotlin?
1.      Its performance is good.
2.      Kotlin is a functional language and based on JVM, so remove lots of boiler plate code.
3.      Kotlin is easy to learn because its syntax is similar to java.
4.      It’s expressive language so make code readable and understandable.
5.      It’s not replacement of java.
6.      It’s an official language of android development.

What are the disadvantages of Kotlin?
Kotlin does not have static modifier that create some problem for some conventional java developers.

Which type of Programming does Kotlin support?
Kotlin supports two types of programming -
1.      Object Oriented programming
2.      Procedural Programming

Why developers can prefer Kotlin over Java?
Kotlin is quite open-source, multi-platform supports, simple and safe as compared to Java.
It can also offer some useful features which are not supported by Java like - Null Safety, lambdas, and operator overloading.

What are the features available in Kotlin but not in Java?
Kotlin contains some addition features that Java doesn’t -
1.      Null Safety - Kotlin handles Null Pointer Exceptions
2.      Kotlin support lambdas, higher order functions, smart casting.
3.      Operator Overloading
4.      Extension Functions
5.      Companion Objects
6.      Range expressions
7.      Data classes
8.      And so on

What are the features of Java has that Kotlin does not?
1.      Primitive types like Int, Boolean and so on
2.      Non-private Fields
3.      Static members
4.      Checked exceptions
5.      Wildcard-types

What is Kotlin’s Null Safety?
Kotlin handles Null Pointer Exceptions and used to eliminate the risk of occurrence of NullPointerException in real-time.

The ways to handle Null Safety -
1.      Checks for a null in conditions
2.      Use Safe Call Operator (?.)
3.      Use Elvis Operator (?:)
Example -
fun main(args: Array){
  // variable is declared as non-null by default
  var str: String = "Hi, Anil!"

  // kotlin prevents you assign a null to a non-nullable variable
  // str=null //assing null to a causes complilation error
  println("str is : $str") 

  // variable is declared as nullable
  var str1: String? = "Hi, Anil!"    
  println("str1 is : $str1")
  str1 = null
  println("str1 is : $str1")
}

What are the modifiers that are available in Kotlin?
Kotlin’s modifiers -
1.      public
2.      private
3.      protected
4.      interval

What is the extension of Kotlin file?
The Kotlin file extension is - .kt

How to declare variable in Kotlin?
val abc: Char
//OR
@Volatile var xyz: Long? = null


Is there Ternary Conditional Operator in Kotlin like in Java?
No! Not available.

What is the difference between var and val?
The value (val) is like a constant whose value cannot be change once assigned while variable (var) value we can change.

What is the entry point to a Kotlin program?
The main() function is the entry point to a Kotlin program.
The Example looks like -
//Main entry point
fun main(args: Array<String>) {
  val user = User(Name="Anil", Age=33, Id=1012)
  printUser(user)
}

//print User's function
fun printUser(user: User){
  println(user)
}

//User's data class
data class User(val Name: String, val Age: Int, val Id: Int);


Can kotlin code be executed without JVM?
Yes!  It compiles Kotlin code into native code which can be executed without Java Virtual Machine (JVM).

What is data class in Kotlin?
This class holds the basic data type. It does not contain any functionality.

What are different Types of Constructors in Kotlin?
Two Types of Constructors in Kotlin -
1.      Primary Constructor - It is part of class header and is declared after class name.
2.      Secondary Constructor -It is declared inside class body and contains more than one secondary constructor.

What are primitive Data Types in kotlin?
Kotlin does not support primitive Data Types like in Java.

List of extension methods Kotlin provides to java.io.File?
1.      readBytes() - it  use for reading contents of file to Byte Array
2.      readText() - it use of reading contents of file to a single String
3.      forEachLine() - It use for reading a file line by line in Kotlin
4.      readLines() - It use to reading lines in file to List
5.      bufferedReader() - It use for reading contents of a file into Buffered Reader

How to compare two strings in Kotlin?
We can compare string using the below operators -
1.      Using “==” operator:
2.      compareTo() extension function

Can you migrate code from java to Kotlin?
Yes! Off course, the JetBrains IDEA provides inbuilt tool.
By Anil Singh | Rating of this article (*****)

Popular posts from this blog

List of Countries, Nationalities and their Code In Excel File

Download JSON file for this List - Click on JSON file    Countries List, Nationalities and Code Excel ID Country Country Code Nationality Person 1 UNITED KINGDOM GB British a Briton 2 ARGENTINA AR Argentinian an Argentinian 3 AUSTRALIA AU Australian an Australian 4 BAHAMAS BS Bahamian a Bahamian 5 BELGIUM BE Belgian a Belgian 6 BRAZIL BR Brazilian a Brazilian 7 CANADA CA Canadian a Canadian 8 CHINA CN Chinese a Chinese 9 COLOMBIA CO Colombian a Colombian 10 CUBA CU Cuban a Cuban 11 DOMINICAN REPUBLIC DO Dominican a Dominican 12 ECUADOR EC Ecuadorean an Ecuadorean 13 EL SALVADOR

39 Best Object Oriented JavaScript Interview Questions and Answers

Most Popular 37 Key Questions for JavaScript Interviews. What is Object in JavaScript? What is the Prototype object in JavaScript and how it is used? What is "this"? What is its value? Explain why "self" is needed instead of "this". What is a Closure and why are they so useful to us? Explain how to write class methods vs. instance methods. Can you explain the difference between == and ===? Can you explain the difference between call and apply? Explain why Asynchronous code is important in JavaScript? Can you please tell me a story about JavaScript performance problems? Tell me your JavaScript Naming Convention? How do you define a class and its constructor? What is Hoisted in JavaScript? What is function overloadin

React | Encryption and Decryption Data/Text using CryptoJs

To encrypt and decrypt data, simply use encrypt () and decrypt () function from an instance of crypto-js. Node.js (Install) Requirements: 1.       Node.js 2.       npm (Node.js package manager) 3.       npm install crypto-js npm   install   crypto - js Usage - Step 1 - Import var   CryptoJS  =  require ( "crypto-js" ); Step 2 - Encrypt    // Encrypt    var   ciphertext  =  CryptoJS . AES . encrypt ( JSON . stringify ( data ),  'my-secret-key@123' ). toString (); Step 3 -Decrypt    // Decrypt    var   bytes  =  CryptoJS . AES . decrypt ( ciphertext ,  'my-secret-key@123' );    var   decryptedData  =  JSON . parse ( bytes . toString ( CryptoJS . enc . Utf8 )); As an Example,   import   React   from   'react' ; import   './App.css' ; //Including all libraries, for access to extra methods. var   CryptoJS  =  require ( "crypto-js" ); function   App () {    var   data

25 Best Vue.js 2 Interview Questions and Answers

What Is Vue.js? The Vue.js is a progressive JavaScript framework and used to building the interactive user interfaces and also it’s focused on the view layer only (front end). The Vue.js is easy to integrate with other libraries and others existing projects. Vue.js is very popular for Single Page Applications developments. The Vue.js is lighter, smaller in size and so faster. It also supports the MVVM ( Model-View-ViewModel ) pattern. The Vue.js is supporting to multiple Components and libraries like - ü   Tables and data grids ü   Notifications ü   Loader ü   Calendar ü   Display time, date and age ü   Progress Bar ü   Tooltip ü   Overlay ü   Icons ü   Menu ü   Charts ü   Map ü   Pdf viewer ü   And so on The Vue.js was developed by “ Evan You ”, an Ex Google software engineer. The latest version is Vue.js 2. The Vue.js 2 is very similar to Angular because Evan You was inspired by Angular and the Vue.js 2 components looks like -

Encryption and Decryption Data/Password in Angular

You can use crypto.js to encrypt data. We have used 'crypto-js'.   Follow the below steps, Steps 1 –  Install CryptoJS using below NPM commands in your project directory npm install crypto-js --save npm install @types/crypto-js –save After installing both above commands it looks like  – NPM Command  1 ->   npm install crypto-js --save NPM Command  2 ->   npm install @types/crypto-js --save Steps 2  - Add the script path in “ angular.json ” file. "scripts" : [                "../node_modules/crypto-js/crypto-js.js"               ] Steps 3 –  Create a service class “ EncrDecrService ” for  encrypts and decrypts get/set methods . Import “ CryptoJS ” in the service for using  encrypt and decrypt get/set methods . import  {  Injectable  }  from   '@angular/core' ; import   *   as   CryptoJS   from   'crypto-js' ; @ Injectable ({    providedIn:   'root' }) export   class   EncrDecrS