技術乾貨:Kotlin面試題彙總及答案

陝西優就業發表於2019-12-17

  Kotlin程式語言是Java的抽象,其核心原則包括可讀性,簡潔性,安全性和工具語言能力。 Kotlin開發的目標是建立一種用於開發桌面,Web伺服器或移動應用程式的行業語言,以便Kotlin可以在任何應用程式中使用。

  Kotlin專注於效率和處理軟體開發的混亂問題,加之它現在被Android正式採用為支援的語言。這使得公司尋找具有Kotlin知識的候選人。今天 陝西優就業小編給大家分享一些Kotlin常見的問題,它們提供Kotlin的整體結構,元件和其他基礎知識。希望對大家有用。

  第1題:Kotlin是什麼?

  它是一種開源程式語言,結合了物件導向的程式設計功能。範圍表示式,擴充套件函式,伴隨物件,智慧轉換,資料類等功能被認為是Kotlin語言的特性。

  第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作為一個函式,正在接收一個表示式為引數,這個表示式用來列印一行字串。

推薦閱讀:

程式設計師35歲不焦慮,該怎麼做?

http://blog.itpub.net/69902581/viewspace-2668444/

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69902581/viewspace-2668916/,如需轉載,請註明出處,否則將追究法律責任。

相關文章