后端经验分享

语言:
  1. 入门书籍:《Thinking in Java》,《Effective Java》,《Java Concurrency in Practice》,《深入理解Java虚拟机》
  2. Java相关知识点:集合,多线程,并发,GC,Classloader,范型,面向对象,Stream,数学库,函数式编程,socket编程,NIO,反射,正则表达式,类初始化,HashMap和CurrentHashMap
  3. shell编程,文本处理(awk, grep, regex, sort),vi编辑器,管道,系统命令(curl, wget, openssl, gdb, gcc, scp, crontab, top, iostat, tcpdump, vmstat, strace, netstat, dstat)
  4. Python,协程,函数式编程
  5. Lua协程
  6. C/C++,STL,面向对象,socket编程,进程通信,范型

其他基础:

  1. 设计模型
  2. 网络,TCP/IP
  3. 操作系统,linux
  4. 编译原理
  5. 数据结构
  6. 架构设计
  7. 数据库,原理,mysql
  8. AI
  9. 区块链
  10. 安全,金融行业秘钥体系,SSL
  11. 容器,docker
  12. 分布式,原理
  13. 大数据,Hadoop,Spark,Hive,Sqoop

工具:

  1. 开发,IDEA,Eclipse,StarUML,MAT,Wireshark,Gradle,Maven,DE工具
  2. 代码管理,Git,Maven仓库,SourceTree
  3. 持续集成,Jenkins,JaCoCo,PMD,CheckStyle,FindBug
  4. 安全,证书工具,Fortity
  5. 测试,JMeter,Mockito,Junit,TestNG
  6. 知识分享,Xmind,MarkDown
  7. 项目basecamp

项目:

  1. 上线检查
  2. 敏捷
  3. 极限编程

架构设计原则:

  1. 功能性,读写分离,交易与管理分离
  2. 性能(数据库,分布式,并发),可用性,安全性,可伸缩性(容量评估),可扩展性
  3. 技术方案,分页查询,海量数据导出,文件传输,流水号,证书管理,分布式锁,业务重试,防重,流控,Websocket,负载均衡,拨测,前置服务,灰度发布,平滑重启,数据采集,ETL工具,批处理,文件热加载,定时调度
  4. 安全,csrf,token,签名
  5. 异常处理,超时处理,连接池

软件:

  1. 开发框架,Spring,SpringBoot,SpringCloud
  2. 中间件Openresty/Nginx,Squid,Tomcat
  3. 日志,Log4j2,sl4j
  4. 缓存guava
  5. 数据访问druid,jedis
  6. ORM为mybatis
  7. 网络httpclient,netty
  8. 搜索elacsearch

你可能感兴趣的:(架构)