Android面试Kotlin问题整理

Kotlin面试问题整理

1、什么是kotlin

kotlin是由JetBrains开发的静态类型的编程语言,运行在JVM上。

2、为什么使用Kotlin语言

Kotlin语言简洁高效,没有那么多冗余代码,而且是空安全的。

3、解释一下extension函数

extension函数用来对class进行扩展,而不用从class派生

4、kotlin中的空安全null safety是什么意思

空安全的特性是为了避免空指针异常问题,也可以用来区分空引用和非空引用。

5、kotlin为什么和java具有互操作性

因为对于jvm来讲他们编译后都是一样的,编译后都是byte code在jvm上运行

6、kotlin中是否存在三元操作符

不存在

7、kotlin中如何声明一个变量

var name: String

8、kotlin当中有多少构造函数

两种,一种是primary构造函数,一种是secondary构造函数

9、说一下kotlin中对于Java.io.file的扩展方法

bufferedReader,readBytes,readText,forEachLine,readLines

10、kotlin如何处理空异常

使用elvis操作符处理空异常 ?: , ?. 

11、有哪些特点,kotlin有而java没有

null safety,operator overloading,coroutines, range expressions, smart cast, compaion object

12、kotlin中数据类的作用

数据类包含基本的数据类型,但是它不包含任何功能函数

13、可以把java代码转换成kotlin代码吗

可以在AndroidStudio或者JetBrains当中转换

14、kotlin允许macros吗

kotlin不支持宏

15、kotlin类的缺省行为

kotlin缺省是final的。因为kotlin支持多重类继承,开放类代价要比final类高很多

16、kotlin是否支持原始数据类型

kotlin不支持原始数据类型

17、什么是range操作符

range操作符用来遍历一个范围,用两个点表示

for(i in 1..5)

    print(i)

18、kotlin对标准的java库和类提供额外的功能吗

kotlin程序是跑在标准的java虚拟机上的,所以kotlin和java在这一层级是没有区别的,java也可以直接在kotlin程序中运行

19、在kotlin当中定义一个volatile变量

volatile var x: Long? = null

20、kotlin中的抽象有什么作用

抽象是面向对象编程最重要的概念。抽象类的特点:你知道这个类会有什么功能,但是不知道如何实现这些功能和具体实现哪些功能。

21、kotlin当中如何比较两个字符串

(1)==

(2).equals(Any?)

22、下面这段代码干什么用

bar {

System.out.println("1111")

}

bar作为一个函数,正在接收一个表达式作为参数,这个表达式打印一行字符串

23、kotlin高阶函数

猜你喜欢

转载自blog.csdn.net/nsacer/article/details/108523414