Brand New Beginning

自己有句口头禅,最近也一直在说:最讨厌你们这帮语文好的

实际上在学生时代的最初,我并不是一个偏科的孩子,起码没有那么偏科。但是也不知怎么的,语文 历史成了自己的心病,对于一些要背诵的东西,总是有种不可描述的排斥(如果我告诉你,我愣是在“抵御”“抵抗”这些词中纠结该用哪个好,愣是想了一分多钟才想到"排斥"这个词,你信么)。因此任何“写作文”类似的行为,是更加得不可描述得排斥

马上要硕士毕业了,作为一个半路自学出生的准码农,最初是实习期间的导师给我提的“建议”,同时也是尤其在最近的学习过程中,愈发地感受到“自己整理,记录”这个看似耗时 吃力不讨好的行为的重要性。为了自己的长期发展,为了打好自己的基础然后能在技术的道路上越走越远,故有了这一篇《Brand New Beginning》。当然,在这里也希望自己确实能够长久地坚持下去。

作为一个开始,还是希望先给自己树立目标。尽管现在AI很火,但既然已经在Java后端的路上走了一年半有余,还是希望先做好当下。故整理了接下来三年五年内自己要深耕的Java后端技术路线,同时分享给看到这篇文章的各位。

Java基础

  1. 熟悉IO、多线程、网络、数据库操作、集合操作等基础技能;JVM原理(内存模型、类加载机制以及性能优化;)
  2. 常用设计模式;.面向对象的分析和设计技术,包括设计模式、UML建模
  3. java框架(理解核心思想、实现原理):Tomcat、Jboss、Nginx、Spring、MyBatis、springmvc、springboot、elasticsearch
  4. java8 、java9
  5. 协程、回调、future
  6. Velocity
  7. JSP/Servlet
  8. 对互联网企业里软件的研发、发布流程比较了解,熟悉Maven、Jenkins、Git等工具,了解DevOps和持续性交付等理念;
  9. 熟练使用前端技术:jeasyui/jquery/html5/angularjs/bootstrap

CS基础

  1. Linux、操作系统
  2. 掌握数据结构、常用算法;
  3. 熟悉Internet基本协议(如TCP/IP. HTTP HTTPS等)内容及相关应用;
  4. shell,python,javascript
  5. 异步同步 阻塞非阻塞

分布式

  1. 熟悉分布式架构、缓存、消息队列(JMS或AMQ,如activemq,rabbitmq等)等中间件技术;
  2. 熟悉常见的中间件、分布式解决方案及其原理:分布式缓存、SOA、消息中间件,负载均衡、连接池、RPC等;
  3. 分布式事务处理框架
  4. 熟悉常见的分布式计算平台Hadoop、MPI或Storm

数据库

  1. 熟悉mysql数据库的基本操作;数据库设计; sql调优;
  2. NOSQL数据库,缓存技术,流式计算,如Hbase、memcached、redis、mongodb等;

经验

  1. 编程能力、大型分布式系统研发设计经验
  2. 高并发、大数据建模、大数据存储、大数据分析处理
  3. 大型分布式、高并发、高负载、高可用性系统设计和稳定性经验优先;
  4. 识别业务关键需求、领域建模能力
  5. 至少参与开发过5个大型项目

你可能感兴趣的:(Brand New Beginning)