既然是新的一年开工了,那总得对自己的这一年做一个规划咯。
所以,这里和大家聊聊两个非常有意思的话题:
- 想原地沉淀技术,如何沉淀技术?
- 想换平台、涨工资,如何准备面试?
如何规划?
其实,还是要看自己想要从哪方面发展,如果想从管理方向发展,那就重点在业务和项目管理。
话又说回来,管理人员始终只是少部分,大部分还是要继续coding。
所以,今天我们就不聊管理方向了,后面有时间了再聊。
我们继续;
古话说:万丈高楼平地起
所以,千年不变的是打好基础,那作为后端开发需要哪些基础呢?
逃不掉的知识点:
- 网络
JVM
MySQL
- 并发编程
- 数据结构与算法
剩下的就是自己的技术栈,结合自身经历和身边朋友的反馈总结出下面三套常规技术栈:
第1套:
Spring
、Spring Boot
、Spring Cloud
、Redis
、MyBatis
、MySQL
、消息队列、Elastic Search
第2套:
Spring
、Spring Boot
、Spring Cloud Alibaba
、Redis
、MyBatis
、MySQL
、消息队列第3套:
Spring
、Spring Boot
、Spring MVC
、Redis
、MyBatis
、MySQL
、消息队列
还有部分项目连Spring Boot都没有用过....,可能还有很多人是全栈,更有部分人还兼职运维相关开发。
总之,只要你写到你简历上了,那就可以算是你的技术栈。
自己坑自己:有部分人喜欢装逼,瞎写,一些自己就是用了点点,然后就写上去了,最后面试官问你都是一问三不知。
知识总结
如果一本书一本书的看(如果时间充足,还是建议一个一个来),确实需要大量的时间,所以我给大家整理了快速复习的方案:
大家可以针对自己的技术栈,然后用这些小册子,逐个攻破。
复习完了,还不够,还得需要把技术落到具体的项目中。
项目实战
我最近在搞一个项目:模仿天猫项目
,该项目主要技术栈:
Spring
、Spring Boot
、MyBatis
、Redis
、RabbitMQ
、MySQL
。
重点技术:
Redis
缓存用户登录信息、分布式锁、库存扣减、订单重复提交等。RabbitMQ
业务解耦和异步处理。
下个版本技术栈:
Spring
、Spring Boot
、Spring Cloud Alibaba
、Zookeeper
、MyBatis
、Redis
、RabbitMQ
、MySQL
、XXL-JOB
、ShardingSphere
、Elastic Search
重点技术:
- 分布式配置中心
- 分布式事务
- 分布式锁
- 分库分表
- 分布式任务处理
- 分布式搜索引擎
争取把所学技术和当下火热的技术用上去!
不过,以上只是停留在应用层面,只能说你会用了。
还得需要深入了解实现原理,有没有更好的解决方案....
源码三板斧
JDK
源码分析(重点):升级版基本功
Spring
源码分析(重点):谈薪神器
Dubbo
源码分析(可选):如果技术栈中有,那就必学
以上三个如果掌握了,那恭喜你已经超越了90%的同年程序员了,甚至还能借此吊打一些面试官。
Spring Boot
源码深入分析
MyBatis
源码分析
Dubbo
源码分析手写
RPC
框架
Spring
源码分析:入门必读
Spring
源码分析:启动流程
Spring
源码分析:循环依赖
Spring
源码分析:深入分析DI
Spring
源码分析:深入分析IOC
Spring
源码分析:Spring MVC
Spring
源码分析:事务管理
Spring
源码分析:Bean
生命周期
Spring
源码分析:Spring MVC
参数解析绑定原理
Spring
源码分析:手写Spring
框架之事务管理
Spring
源码分析:手写Spring
框架之AOP
Spring
源码分析:手写Spring
框架之IOC
String
源码分析
LinkedList
源码分析
HashMap
源码分析
ArrayList
源码分析
ConcurrentHashMap
源码分析(JDK7、JDK8)
有了深度,有了广度,万事俱备只欠东风:面试。
面试绝招
完成上面这些准备后,剩下的就是背面试题了,同时,把自己参与的业务系统结合技术栈,形成一个合理的闭环。
就像面试官问:为什么项目中使用Redis来实现分布式锁,而不用其他方案呢?这就得结合项目实际情况来解释说明了。
背面试题+项目业务梳理+项目技术栈总结
好了,今天就分享这么多。
还有最后一个大招:模拟面试
;
模拟面试,面试->总结问题->再面试->在总结...