前言
作为一个程序员,如果你在新知识、新技术面前仍一无所知,依然吃着十多年前的老本,那你在知识技术上肯定落伍,如果又未能进入管理层面,那你肯定就会被长江的后浪拍在沙滩上了。
而不少与时俱进、善于学习的程序员他们仍是行业的中坚力量。这只是说明当今世界靠一招鲜走遍天下,吃终身的时代已经过去了,一个人必须得活到老学到老才能行走于天下。
我在平时的工作之余也会翻一翻大厂的面试题,让自己时刻保持面试技能,同时也能了解大厂对技术的需求,以备不时之需,“生于忧患,死于安乐”,古人诚不欺我啊。
下面给大家分享一个我自己工作几年以来总结的系统性成长进阶路线,分享给大家做一个参考。
正文
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++。
要如何成为Android架构师?
搭建自己的知识框架,全面提升自己的技术体系,并且往底层源码方向深入钻研。
大多数技术人喜欢用思维脑图来构建自己的知识体系,一目了然。这里给大家分享一份大厂主流的Android架构师技术体系,可以用来搭建自己的知识框架,或者查漏补缺;
对应这份技术大纲,我也整理了一套Android高级架构师完整系列的视频教程,主要针对3-5年Android开发经验以上,需要往高级架构师层次学习提升的同学,点击这里腾讯文档免费分享,希望能帮你突破瓶颈,跳槽进大厂;
最后我必须强调几点:
1.搭建知识框架可不是说你整理好要学习的知识顺序,然后看一遍理解了能复制粘贴就够了,大多都是需要你自己读懂源码和原理,能自己手写出来的。
2.学习的时候你一定要多看多练几遍,把知识才吃透,还要记笔记,这些很重要! 最后你达到什么水平取决你消化了多少知识
3.最终你的知识框架应该是一个完善的,兼顾广度和深度的技术体系。然后经过多次项目实战积累经验,你才能达到高级架构师的层次。
你只需要按照在这个大的框架去填充自己,年薪40W一定不是终点,技术无止境
高级架构师的层次。
你只需要按照在这个大的框架去填充自己,年薪40W一定不是终点,技术无止境