面試官: Kotlin爲何會火起來,有什麼特色,跟Java區別
心理分析:面試官所在的項目是用Kotlin 開發的,Kotlin是一門語法,也不會問的比較深,國內的開發者對Kotlin認識度不是很高,因此面試官不會強求問這些問題,只是作最基本的瞭解
求職者: 對於Kotlin的優缺點,和java的不一樣必定要熟記於心
一丶 爲何不少開發者從Java轉到kotlin?談談它的優點
- kotlin比Java要簡單。它去除了不少Java裏面的冗餘代碼。kotlin提供了不少Java不具備的特性。
- kotlin比較容易學,由於它跟Java很接近。
- kotlin是功能性編程語言,是基於jvm上的。
- kotlin的代碼更易讀,更容易理解
若是你不懂Kotlin的話 接下來只能靠背了
二丶解釋一下什麼是extension函數
extension函數用來對class的擴展,而不須要從class進行派生。java
- 直接修改類的源代碼進行功能擴充(固然前提是你能夠修改源碼,若是該類是別人寫的或者說是庫和框架提供的,這種方式直接就涼涼)
- 繼承,在子類中添加相關方法
- 使用裝飾模式,動態擴展對象的功能
三丶kotlin中的null safety是什麼意思?
- 對於 Null 的檢查是 Kotlin 的特色之一。強制你在編碼過程當中考慮變量是否可爲 null,所以能夠避免不少在 Java 中隱藏的 NullPointerException。
- null safety的特性是爲了去除null pointer exception在實時運行中的出現風險。它也用來區分空引用和非空引用。
四丶爲何kotlin跟Java具備互相的操做性?
由於這兩門語言,對於jvm來講沒有區別。它們都是編譯成byte code, 而後在jvm上運行的面試
五丶有哪些特色, 是kotlin有,可是Java沒有?
-
null safety.express
- Operator overloading.
- Coroutines.
- Range expressions.
- Smart casts.
- Companion objects.
六丶 kotlin中的抽象有什麼做用?
抽象是面向對象編程中最重要的概念。抽象類的特色是,你知道這個類會有什麼功能,可是你不知道它具體如何實現這些功能和實現哪些功能。編程