新書推薦:
《
述异记汇笺及情节单元分类研究(上下册)
》
售價:HK$
104.5
《
环境、社会、治理(ESG)信息披露操作手册
》
售價:HK$
261.8
《
桑德拉销售原则 伍杰 [美]大卫·马特森
》
售價:HK$
96.8
《
理论的意义
》
售價:HK$
74.8
《
悬壶杂记:医林旧事
》
售價:HK$
52.8
《
谁之罪?(汉译世界文学5)
》
售價:HK$
52.8
《
民国词社沤社研究
》
售價:HK$
140.8
《
帕纳索传来的消息(文艺复兴译丛)
》
售價:HK$
108.9
|
編輯推薦: |
Kotlin程序员面试笔试算法必备,面试心得、经验、理论、算法、真题解析一应俱全
在这里,有面试笔试常见技巧的提炼与总结;
在这里,有面试笔试高频Kotlin知识点的整理与剖析;
在这里,有面试笔试历年Kotlin真题的解答与拓展。
|
內容簡介: |
本书是一本讲解Kotlin程序员面试笔试的百科全书,将Kotlin程序员面试笔试过程中各类知识点一网打尽。在讲解的广度上,通过各种渠道,搜集了近3年来几乎所有IT企业针对Kotlin岗位的笔试面试所涉及的知识点,包括但不限于Kotlin、计算机网络、操作系统等。在讲解的深度上,本书由浅入深,庖丁解牛式地分析每一个知识点,并提炼归纳,同时,引入与该知识点相关的内容,并对知识点进行全面的深度剖析,让读者不仅能够理解这个知识点,还能在遇到相似问题的时候,也能游刃有余地解决,而这些内容是其他同类书籍所没有的。本书将知识点归纳分类,结构合理,条理清晰,便于读者进行学习与检索。
本书是一本计算机相关专业毕业生面试笔试的求职用书,同时也适合期望在计算机软、硬件行业大显身手的计算机爱好者阅读。
|
目錄:
|
前言
面试笔试经验技巧篇
经验技巧1 如何巧妙地回答面试官的问题2
经验技巧2 如何回答技术性的问题3
经验技巧3 如何回答非技术性问题4
经验技巧4 如何回答快速估算类问题5
经验技巧5 如何回答算法设计问题6
经验技巧6 如何回答系统设计题8
经验技巧7 如何解决求职中的时间冲突问题11
经验技巧8 如果面试问题曾经遇见过,是否要告知面试官11
经验技巧9 被企业拒绝后是否可以再申请12
经验技巧10 如何应对自己不会回答的问题12
经验技巧11 如何应对面试官的“激将法”语言13
经验技巧12 如何处理与面试官持不同观点这个问题14
经验技巧13 什么是职场暗语14
面试笔试技术攻克篇
第1章Kotlin是什么 19
1.1关于Kotlin19
1.2Kotlin的特性20
1.2.1空安全20
1.2.2简洁20
1.2.3兼容性22
1.3Kotlin的前景22
1.4学习Kotlin22
第2章Kotlin工具介绍23
2.1使用Web IDE快速体验Kotlin23
2.2使用IntelliJ IDEA进行Kotlin开发23
2.1.1运行Hello World23
2.1.2配置 Kotlin25
2.1.3将 Java 代码转换为 Kotlin 代码25
2.1.4Kotlin 命令行编译工具27
第3章Kotlin语法基础29
3.1Kotlin 开发基本知识29
3.1.1项目结构29
3.1.2代码编写习惯30
3.1.3相等性31
3.1.4字符串模板31
3.2名词定义31
3.2.1属性32
3.2.2表达式32
3.2.3高阶函数32
3.2.4字面值和函数字面值33
3.3变量33
3.3.1变量声明33
3.3.2类型推断34
3.4函数35
3.4.1声明函数35
3.4.2函数参数37
3.4.3可变数量的参数39
3.4.4命名参数39
3.4.5中缀函数40
3.5基本类型41
3.5.1数字类型41
3.5.2比较42
3.5.3运算44
3.6空安全44
3.6.1可空变量44
3.6.2let和apply46
3.6.3Elvis47
3.6.4空安全机制48
3.7控制语句49
3.7.1if49
3.7.2when50
3.7.3for51
3.7.4while 和 do…while52
3.7.5break 和 continue52
3.8数组和区间52
3.8.1数组52
3.8.2区间53
第4章Kotlin基础功能55
4.1类的声明和构造55
4.1.1声明类55
4.1.2构造函数55
4.1.3二级构造函数56
4.1.4类的实例57
4.1.5类的构造57
4.2属性和字段58
4.2.1属性58
4.2.2属性声明59
4.2.3访问器59
4.2.4属性的探究60
4.3继承和接口62
4.3.1继承62
4.3.2重写方法64
4.3.3重写属性64
4.3.4抽象类65
4.3.5接口66
4.4可见性修饰68
4.4.1顶层声明的可见性68
4.4.2类成员的可见性70
4.4.3构造函数的可见性71
4.5单例和伴生对象71
4.5.1单例71
4.5.2伴生对象73
4.6嵌套类和内部类75
4.6.1嵌套类75
4.6.2内部类76
4.7对象表达式77
4.8枚举类80
4.9泛型81
4.9.1泛型的使用方法82
4.9.2协变和逆变83
4.9.3泛型的out和in85
4.9.4类型投影87
4.9.5泛型约束90
4.10数据类91
4.11密封类94
4.12扩展94
4.12.1扩展函数94
4.12.2扩展函数是静态解析的95
4.12.3扩展属性96
4.12.4对象和伴生对象的扩展97
4.12.5类中的扩展方法97
4.12.6扩展函数在Java中的调用99
4.13委托101
4.14委托属性103
4.14.1延迟加载属性103
4.14.2可观察属性104
4.14.3将多个属性保存在一个 Map 内105
4.14.4自定义委托106
4.14.5局部委托属性107
第5章Kotlin高级功能108
5.1函数进阶108
5.1.1局部函数和闭包108
5.1.2尾递归函数108
5.1.3内联函数110
5.2Lambda表达式和高阶函数112
5.2.1Lambda表达式112
5.2.2高阶函数114
5.2.3带接收者的函数字面值116
5.2.4标准库中最常用的Lambda表达式117
5.3异常处理119
5.3.1非受检的异常119
5.3.2异常处理120
5.3.3try 表达式121
5.3.4Nothing 类型122
5.4集合123
5.4.1List124
5.4.2Set125
5.4.3Map125
5.4.4集合的遍历126
5.4.5集合的转换127
5.4.6集合的变换128
5.4.7序列129
5.5解构声明132
5.6运算符重载135
5.6.1一元操作符136
5.6.2二元操作符137
5.7类型检查和转换140
5.7.1类型检查与智能转换140
5.7.2类型的转换142
5.7.3泛型的检测142
5.8注解143
5.8.1注解声明143
5.8.2注解的使用143
5.8.3注解和 Java 的兼容147
5.9使用DSL148
第6章Java和Kotlin的互相调用151
6.1Kotlin和Java代码的对应关系151
6.1.1包级函数的对应151
6.1.2Kotlin 的 object 在 Java中的对应关系152
6.1.3Kotlin 的属性和 Java 的对应关系153
6.2Java中使用Kotlin的扩展155
6.3静态函数和静态字段157
6.3.1静态方法和静态字段157
6.3.2Java 中使用 Kotlin 的 object159
6.4Kotlin中的Lambda表达式和函数参数160
6.5解决命名冲突163
6.5.1Kotlin 中使用标识符转义解决命名冲突163
6.5.2使用 @JvmName 指定名字164
6.6重载函数165
6.7空安全167
6.7.1Kotlin 兼容 Java 空检查机制167
|
內容試閱:
|
Kotlin语言在2016年发布了第一个正式版,2017年它就成为了Google官方支持的Android开发语言,2018年,Kotlin全面爆发,显示出了其强大的生命力。
为什么Kotlin能够成为如此热门的编程语言呢?其实,Kotlin从诞生之初就已广受好评,特别是受到Java开发人员的好评。Java语言是一门较陈旧的语言,而且更新缓慢,比起Ruby、Python这些开发语言,Java语言像落后了两个年代,随着Kotlin的出现,它把JVM编程提升到了一个更高的水平,开发者可以放心地使用lambda、高阶函数及智能转换等特性,而不需要在项目中做太多改变。
也许有很多人认为现在会Kotlin语言的人还比较少,如果学会了Kotlin,是否会很容易找到一份好工作呢?我的回答是:不会。掌握Kotlin对找工作基本上没有决定性的帮助,这是因为Java开发人员转向学习Kotlin太简单了,只需两周左右的时间就可以上手开发,其学习难度可能都比不上一个复杂的开发框架。但是否可以说看完本书对找工作帮助不大呢?这就大错特错了。编程语言只是一种手段,一个工具,无论是Java语言,还是Kotlin语言,无一例外,都是如此,只有算法才是核心,而算法对于程序员求职是永远有用的,特别是现在市场上人才过剩,企业在招聘的时候,对求职者运用算法的水平自然而然也是要求越来越高,毕竟工作年限的长短、做过项目的多少都不足以评定一个人的水平,而算法掌握得好,通常编程水平都不会差。用Kotlin写算法比起Java优势很明显:Kotlin可以在网页上运行代码,可以使用交互式shell,或者祭出“重器”IntelliJ IDEA,其自动补全、优化提示、拼写检查及调试等功能,都是为Kotlin量身定制的。面对面试官,当面试者手写代码的时候,Kotlin简洁的语法,一方面可以让面试者只需要关注问题本身,另一方面没有了Java语言的冗长代码,答案看起来会更加整洁。
由于Kotlin是一门非常优秀的开发语言,而本书中的知识点都是精挑细选的高频出现的面试笔试的知识点,所以值得读者去深入了解。编程是一个解决问题的过程,书中的知识点也许不能直接解决问题,但是一定能帮助读者提升解决问题的能力。对于个人成长来说,想要找到一份更好的工作,基础知识点是一块敲门砖,也许它就是面试官评定面试者能力高低的标准。如果读者能学完书中所有的知识点,那么一定会豁然开朗,感觉自己提升了一个层次。
本书部分思想来源于网络,无法追踪到最原始的出处,在此对这些幕后英雄致以最崇高的敬意。如果读者对本书的内容存在疑问或是存在求职困惑,都可以通过yuancoder@foxmail.com联系编者。
祝所有求职者都能找到一份满意的工作。
编者
|
|