一、基础能力
语言能力
java:生态最好的互联网语言,框架丰富,成熟,实现度高
php:最容易上手的简单互联网语言
nodejs:异步机制理解语言
go:后来居上的最流行的互联网语言
.net:不建议学习
数据结构和算法
数据结构:存储数据的方法
算法:操作数据的方法
常用数据结构:数组,链表,map,队列,堆,栈等
算法:查找算法,排序算法
操作系统能力
linux:centos,ubuntu(docker原生),redhat等
windows/mac
网络知识能力
osi 七层/四层模型:了解每层的作用和存在的意义
tcp/ip协议:理解拥塞窗口协商发送能力
http协议:理解文本头的各字段意义
二、框架能力(java方向)
类库
fastjson,httpclient,google guava等
框架
spring全家桶,重点:
spring core(依赖注入DI,控制反转IOC,面向切换编程AOP)
spring mvc (controller,service,dao/repository, model,web编程必备)
spring cloud(微服务)
dubbo框架(rpc入门)
三、中间件能力
关系型数据库
mysql,oracle:了解基本的sql语句,复杂的sql语句(业务系统不常用,统计系统常用),索引查询等能力。想学习交流HashMap,nginx、dubbo、Spring MVC,分布式、高性能高可用、MySQL,redis、jvm、多线程、netty、kafka、的加尉xin(同英):cgmx9880 扩列获取java进阶资料学习,无工作经验不要加哦!
主键查询 千万条记录 1-10ms
唯一索引 千万条记录 10-100ms
非唯一索引 千万条记录 100-1000ms
无索引 百万条记录 1000ms+
非关系型数据库
mongodb,hbase
缓存
memcache(不建议学习),redis,guava cache,nginx proxy cache
异步消息
rocketmq,rabbitmq,kafka
解决异步事务的处理问题
web服务器
nginx,tomcat,apache,iis
调度中心
quartz:内存定时器,文件定时器,数据库定时器(可做分布式使用)
elastic-job:分布式调度中心
配置中心
zookeeper:配置集中式管理,变更通知
二进制存储
基于posix语义:NAS,NFS等
基于kv语义:hadoop hdfs,外部存储云(阿里云oss等)
限流器
基于令牌桶算法的实现
guava ratelimiter(单机限流)
阿里sentinel(单机or集群限流)
熔断器
failover快速失败,hystrix
队列器
支付宝zqueue
搜索引擎
ElasticSearch solr
数据同步
canal:基于mysql binlog的同步
datax:阿里自研的可以配置多种src和target数据源
想学习交流HashMap,nginx、dubbo、Spring MVC,分布式、高性能高可用、MySQL,redis、jvm、多线程、netty、kafka、的加尉xin(同英):cgmx9880 扩列获取java进阶资料学习,无工作经验不要加哦!
四、设计模式
系统设计模式:服务治理,同步or异步
业务设计模式:工厂,单例,责任链等
五、全栈技术
1.前端初级
html,css,js,jquery
2.前端高级
webpack,vue,angular,react js
3.移动端
ios,android,react native, flutter
4.大数据
hadoop,hdfs,hive,spark,hbase
六、进阶方式
what-这个技术是什么:官方定义,对比同类型技术优劣点,此技术架构组成
why-为什么要有这个技术:此技术解决什么问题,如果自己要解决这个问题会怎么做
how-如何学习这个技术:官网文档,技术文档,源码学习,项目实践,分享
···································