非JAVA程序员如何转型为一名优秀的JAVA工程师

在公司内部做一个系列培训,希望转型JAVA工程师的同学可以参考一下。

初级:
(1)了解JAVA语言
(2)掌握基本的算法和数据结构
(3)掌握SQL语法
(4)了解三层架构和MVC、MVVP模式。
(5)了解设计模式
 
中级:
(1)精通JAVA语法,对泛型、继承、多态、代理有充分的理解和熟练使用。
(2)能够对主流的算法和数据结构的利弊进行分析
(3)了解数据库工作原理,掌握SQL性能分析
(4)掌握分布式系统框架的特点,了解RPC工作原理
(5)对JVM工作原理有所了解
(6)能够对系统资源占用进行分析
 
高级:
(1)能够对主流的语言编程进行分类,了解函数语言、逻辑语言的特点
(2)熟练掌握JVM,能够解释内存模型、线程模型、编译机制、类加载机制 
(3)掌握性能优化的方法,了解吞吐量优先、响应优先的系统优化方法。
(4)对系统群的治理有所了解,掌握分类分级分层的治理逻辑
(5)了解大促保障的方法、机制
(6)对主流的架构模式有所了解。
 
设计了六课,跨越很大,需要在课外学习很多内容,课程可以一个星期进行一次。 

第一课:JAVA社区的现状、发展,如何做好社区转换
目标:(1)了解目前主流社区的情况,JAVA社区的情况
   (2)了解JAVA语言未来发展
   (3)掌握如何跨语言学习的方法
   (4)掌握JAVA语言基本语法
作业(二选一):
         (1)谈一谈你对JAVA社区的理解,对照以前工作的语言或社区,分析一下优劣。
         (2)用JAVA语法写出一种可运行的二分查找算法程序。

 

第二课:JAVA编译器、面向对象特性、集合
目标:(1)了解JAVA编译和优化工具
    (2)了解继承、多态
    (3)了解静态代理和动态代理
    (4)了解JAVA常用的数据结构
作业(二选一):
   (1)写出一致性哈希算法,并完成与普通Hash算法的优劣比较
   (2)写出JAVA 内存模型,并谈一谈JAVA发展了近二十年,为什么还没有更智能的内存分配算法,仍需要人工内存优化。
 
第三课:SPRING框架、苏宁技术体系
目标:(1)了解SPRING框架组成
    (2)了解MVC架构、三层架构、多层架构、MVVP架构
    (3)了解苏宁技术体系,常用组件
    (4)了解苏宁研发流程,包括SVN使用规范、代码检查规范、注释规范
 作业(二选一):
   (1)谈谈你对RSF框架的理解,RPC、微服务框架
   (2)谈谈B/S框架与C/S的区别,优劣,浅谈MVC架构
 
第四课:数据架构、服务治理架构
目标:   (1)了解MYSQL数据库
(2)数据层组件DAL
       (3)了解分库分表原理,连续区间、散列的场景
(4)了解缓存架构,REDIS使用场景
(5)了解ESB组件、RSF框架
作业(二选一):
(1)使用SNF-DAL访问MYSQL数据库,完成增删改查
(2)使用SNF-RSF完成服务端、客户端程序,并完成客户端调用服务端
 
第五课:系统优化、压测
目标:(1)了解容器连接池优化
   (2)了解线程池优化
   (3)了解数据连接池优化
   (4)了解超时设置
   (5)了解压测
作业(二选一):
   (1)用代码自定义线程池,并谈一谈如何设置合理的线程数
  (2)用代码访问数据连接池,并谈一谈如何设置数据库连接数
 
第六课:高可用及大促保障,以及如何成为一名优秀的JAVA工程师
目标:(1)了解高可用思想,复制、分区、备份
   (2)了解大促保障的方法论,资源隔离、降级、流控的方法
   (3)了解成为一名高级工程师所需要具备的知识体系
作业(二选一):
  (1)结合成为一名优秀的JAVA工程师,谈一谈自已未来的计划
  (2)谈一谈搭建一个高可用的系统,所需要的能力

你可能感兴趣的:(编程语言)