android kotlin面试题,Kotlin面试25题
大家好,這一期呢,我們談一下kotlin的面試題。
第1題,什么是kotlin?
kotlin是靜態類型的編程語言,運行于jvm之上。
第2題, 是誰開發了kotlin?
kotlin是由jetbrains開發的。
第3題, 為什么我們應該從Java轉到kotlin?
首先,kotlin比Java要簡單。它去除了很多Java里面的冗余代碼。kotlin提供了很多Java不具有的特性。
第4題, 說一下使用kotlin的三大好處。
kotlin比較容易學,因為它跟Java很接近。
kotlin是功能性編程語言,是基于jvm上的。
kotlin的代碼更易讀,更容易理解。
第5題, 解釋一下extension函數。
extension函數用來對class的擴展,而不需要從class進行派生。
第6題, kotlin中的null safety是什么意思?
null safety的特性是為了去除null pointer exception在實時運行中的出現風險。它也用來區分空引用和非空引用。
第7題, 為什么kotlin跟Java具有互相的操作性?
因為這兩門語言,對于jvm來說沒有區別。它們都是編譯成byte code, 然后在jvm上運行的。
第8題,在kotlin中是否存在三元條件操作符?
不存在, 在kotlin中沒有三元條件操作符。
第9題, 在kotlin中如何聲明一個變量?
val xyz:? String
第10題,在kotlin中有多少構造函數?
有兩種,一種是primary構造函數,一種是secondary構造函數。
第11題, kotlin支持哪種編程類型?
一種是procedural編程, 另一種是面向對象的編程。
第12題,說一下kotlin中對Java.io.file的的擴展方法。
bufferedReader.
readBytes.
readText
forEachLine
readLines
第13題, 在kotlin中如何處理null異常?
使用elvis操作符來處理null異常。
第14題,有哪些特點, kotlin有,但是Java沒有?
null safety.
Operator overloading.
Coroutines.
Range expressions.
Smart casts.
Companion objects.
第15題, 解釋一下kotlin中數據類的作用。
數據類包含基本的數據類型, 它不包含任何功能函數。
第16題, 我們能把Java代碼轉成kotlin代碼嗎?
是的,我們可以用jetbrains ide把Java代碼轉成kotlin,也可以用Android studio轉。
第17題, kotlin允許macros嗎?
不允許。kotlin不支持宏。
第18題,說一下kotlin類的缺省行為。
kotlin類缺省是final的。因為kotlin支持多重類繼承。開放類代價要比final類高很多。
第19題, kotlin是否支持原始數據類型?
不支持,kotlin不支持原始數據類型。
第20題, 什么是range操作符?
Range操作符用來遍歷一個范圍。用兩個點來表示的。
for(i in 1..15)
print(i)
第21題, kotlin對標準的Java庫和類提供額外的功能嗎?
kotlin程序是跑在標準的Java虛擬機上的。所以kotlin跟Java在這一層級幾乎沒有區別。Java代碼還可以直接在kotlin程序中使用。
第22題, 在kotlin中定義一個volatile變量。
Volatile var x:Long?=null
第23題, kotlin中的抽象有什么作用?
抽象是面向對象編程中最重要的概念。抽象類的特點是,你知道這個類會有什么功能,但是你不知道它具體如何實現這些功能和實現哪些功能。
第24題,在kotlin中如何比較兩個字符串?
第1種方法你可以用雙等號來比較兩個字符串。
第2種方法用String.compareTo,這個擴展函數來比較兩個字符串。
第25題, 下面這段代碼是干什么用的?
bar{
System.out.println("haha")
}
bar作為一個函數,正在接收一個表達式為參數,這個表達式用來打印一行字符串。
碼字不易,請關注點贊!
總結
以上是生活随笔為你收集整理的android kotlin面试题,Kotlin面试25题的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: ajax请求提示html状态码302,快
- 下一篇: html 多行多列列表格,HTML跨多行