Android面試集錦系列(5)——一大波面試官正在準備Kotlin面試題
前言
2017年的Google I/O大會上, Google將Kotlin列為Android官方開發語言,Android Studio 3.0的預覽版預設集成了Kotlin。Kotlin這門語言從誕生到穩定已歷經7年時間,終於在16年底釋出了1.0的穩定版。Angroid官方也終於忍受不了Java 6(貌似還有版權問題),迫不及待將開源的Kotlin作為官方指定用語。
Google的官方說明: https://developer.android.com/kotlin/index.html
這勢必會對Android的應用開發造成影響,雖然不會讓很多習慣Java開發的程式設計師立刻轉投Kotlin的懷抱,不過作為Java的程式設計師你至少還是要知道Kotlin是什麼的,是否“棄暗投明”或是“棄明投暗”那就是後話了。

面試題:你有使用過Kotlin來開發Android應用嗎?說說Kotlin和Java有什麼區別?
讓一個不知道Kotlin為何物的同學去回答這個問題,有些折磨人。雖然很多公眾號頭條在密集推送Kotlin的文章,裡面說了各種Kotlin對比Java 6的好處。
我估計你也背不下來,所以有什麼比讓你直接體會一下更有效呢?而且與其花時間糾結要不要學,還不如直接上手試試來得生猛有效。
文末還有更多思維腦圖分享~

Kotlin
我是Mac系統,Window系統的讀者請行參考官方的安裝說明。Android Studio 3.0 Preview下載地址: https://developer.android.com/studio/preview/index.html
建議直接安裝3.0的預覽版,預覽版可以和穩定版本並行執行。
區別
是不是發現視訊中的例子好清新,寫了許久Java,才發現世上還有很其他省事的程式碼寫法,一直在Java 6的海洋中,確是有點難跟上現代語言的步伐。
Kotlin和Java的區別有很多,這樣的問題你可以隨便挑幾點你感興趣或者對你目前Java程式碼改善比較大的來回答。
這樣的回答會讓你的答案更生動真實,還記得嗎,我們之前說過面試官很重要的一個工作就是辨別真偽。
如:
- Kotlin更安全;
如空引用由型別系統控制,你不會再遇到NullPointerException。
- 簡潔,可靠,有趣
如你可以用Lambda 表示式;可以減少了很多模版程式碼;我們的演示視訊中就不需要findViewById。
-
函式式支援;
-
擴充套件函式;
Kotlin同C#類似,能夠擴充套件一個類的新功能而無需繼承該類或使用像裝飾者這樣的任何型別的設計模式。Kotlin支援擴充套件函式和擴充套件屬性。
-
Kotlin中沒有靜態成員;
-
......
與Java互動
Kotlin可與Java進行100%的互操作,允許在Kotlin應用程式中使用所有現有的 Android 庫 ,Kotlin的標準庫更多的是對Java庫的擴充套件。
注意:目前我也是剛使用Kotlin,還有很多其他區別和優缺點,我會在稍後的文章中和大家分享。
學習資源
官方網站: https://kotlinlang.org/docs/reference/
中文翻譯: http://www.kotlincn.net/
小結
Kotlin的一個主要優點是它的簡潔。你用很少的程式碼就可以實現原來Java寫的功能,而你寫的程式碼越少,你犯錯誤的概率就越小。光這個原因我就比較推薦大家嘗試一下Kotlin來開發應用。
正如巴菲特所說“投資的祕訣不是如何贏,而是如何比別人少犯錯誤。”
不知道用在程式設計師身上是否也適用呢?也許可換成這樣的說法:“厲害的程式了不是程式碼寫的有多巧妙,而是比別人寫的程式碼更好讀更少出BUG。”
最後
針對於上面的面試題我總結出了網際網路公司Android程式設計師面試涉及到的絕大部分面試題及答案做成了文件和架構視訊資料免費分享給大家【 包括高階UI、效能優化、架構師課程、NDK、Kotlin、混合式開發(ReactNative+Weex)、Flutter等架構技術資料 】,希望能幫助到您面試前的複習且找到一個好的工作,也節省大家在網上搜索資料的時間來學習。
資料獲取方式:加入Android架構交流QQ群聊:513088520 ,進群即領取資料!!!
點選連結加入群聊【Android移動架構總群】: 加入群聊

資料大全