作为一个工作了将近7-8年的后端工程师,深知后端知识领域的范围之广,深度之深,而经过了几年的打磨之后,我们仍然只是那浩瀚知识海洋中非常渺小,微不足道的一粒尘埃。总之一句支撑我们砥砺前行:路漫漫其修远兮,吾将上下而求索!愿你我共勉。
话不多说,关于我自身的修炼之路,后续我会通过一篇博文的形式自我总结!今天我们谈的重点是作为一个架构师、或者说一个准?架构师亦或想成为一位后端架构师的童鞋那么应该怎么做呢?应该具备怎样飞知识体系呢?接下来我将简单列举一下整个知识体系的大纲提要,针对每个具体技术的详解,后续我会抽空谈谈它们的使用场景和使用方法!
好了,说了这么多,我们直奔主题了,那么作为一名互联网工程师应该对那些只是进行扫盲呢?包括:高并发、分布式、高可用、微服务等知识领域。呃呃,说得有点大了,其实应该从基础开始毕竟谁都不可能一口气吃成大胖纸嘛。
。
开发必会之工具: maven、git、linux操作、jenkins+docker持续集成(CI/CD)
开发必学源码分析: spring源码、mybatis源码
并发编程基础知识:多线程(线程池ThreadPool)、锁机制、线程通信、并发框架系列、concurrent
网络编程基础只是:socket通信(tcp、udp)、nio、通信框架Netty等(最好自己手动实现一个通信聊天室,参考:javascript:void(0))
性能调优:jvm、gc、mysql、tomcat、nginx
分布式框架:zookeeper、redis、mq(kafka、rabbitmq、rocketmq)、elasticsearch(ELK)、sharding-jdbc
微服务技术: springboot、springcloud(feign、ribbon、eureka、zuul&gateway、hystrix)、springcloud alibaba(nacos、sentinel、seata),微服务是一个趋势,必学
系统设计:高并发下秒杀系统设计