前言
新鲜面筋出炉了!
一直都挺喜欢京东这家公司的,于是一边复习,一边看京东的招聘信息。
我是在7月25日投递的简历,投出去后等了三天,一直没有收到回音。本来以为已经石沉大海了的,没想到三天后收到了信息。
因为目标公司不在本地,我当时还在乡下,网不好,所以整个面试节奏都往后推了一下,后面约了8月6日的笔试。
后面,一切顺利进行,11号上午短信+邮件通知12号下午15.30电话面试。
这里要说一下,给我面试的面试官口音是正宗川普,好几次我都没听清,让面试官重复了好几次问题,还好面试官有耐心hhh。
下面,我记下这次的面经供大家参考,希望对大家有帮助。
正文
JVM 语言得摆正自己的地位,既要考量自己的能力,也得考虑历史的进程。
Java 是亲儿子,又是 JVM 的“原住民”,主导着 JVM 的发展方向,树大根深,枝繁叶茂,“此诚不可与争锋”。
对比其他 JVM 语言,Kotlin 算是能把自己的地位摆得比较正的了,没有“王侯将相宁有种乎”、取 Java 而代之的雄心壮志,反而始终坚持与 Java 的极强兼容性,大量使用 Java API,把臃肿的 Java 代码包装成简短的语句,默默做着“裱糊匠”的工作。目前来看,Kotlin 相当胜任这个角色,类型推断、扩展、空安全、高阶函数,哪个不是实用又强大的语法增强?
在我看来,Kotlin 对 Java 开发者最大的改变不是减少浪费在写代码上的时间,而是一系列思维方式的转变:
- 与其让开发者手动控制循环,不如把循环封装在类库内部,类 C 语言的三段式 for 循环和 while 循环简直是 bug 和复杂代码的元凶;
- 面向对象,但不能被类和对象捆住手脚,把函数解放出来!
- 每一行代码都要用在刀刃上,尽量减少模板代码和多余的声明;
- 编程语言要设计好“默认配置”,引导开发者多使用“默认配置”,比如类默认不可继承、访问控制符默认 public、集合默认只读、类型默认不为 null 等等;
- **不变对象优于可变对象,**多用 val 少用 var、多用只读集合少用可变集合、多用非空类型少用可空类型;
- **类要“回归本心”,只承担“抽象对象”的功能,**Kotlin 鼓励多使用扩展、少在类里塞一堆 API 和实现,尽量采用“类基本框架 + 外部扩展功能函数”的模式。
这些东西都是在学习 Kotlin、写 Kotlin 过程潜移默化地传达给开发者的,能够引导传统守旧的 Java 开发者拥抱现代编程语言。
Kotlin 不是一门学问,而是一套工具,它不像Scala,没有那么重的书卷气,一切特性都为实用、简洁而生;
Kotlin 不是革命者,而是改良者,它不是 Go,没有取天下而代之的野心,只有“让 Java 更好用”的踏实目标,积跬步而至千里;
Kotlin 不完美,但在不断改善,它不像 Java 被 Oracle 一家把持,不允许任何不受控制的特性出现,Kotlin 的诞生和发展都离不开社区推动,越来越多的新特性正在应开发者呼吁加入其中;
Kotlin 不会面面俱到,而是以补 Java 的短板为先,Kotlin 不会变成 C++。
设计模式学习笔记
设计模式系列学习视频
- 以上进阶BATJ大厂学习资料可以免费分享给大家,需要完整版的朋友,【点这里可以看到全部内容】。
部内容](https://docs.qq.com/doc/DSkNLaERkbnFoS0ZF)】。**