安读书才能够起同叫做Java初级程序员成长也平叫作合格的架构师,或者说一样叫合格的架构师应该发生怎样的艺知识系统,这是不单一个刚好踏入职场的低级程序员也是工作三五年以后开始迷茫的老程序员经常会咨询到的题材。希望马上首稿子会是公看来了的无限圆最高贵的回应。
如出一辙: 编程基础
无论是C还是C++,不管是Java还是PHP,想成同名合格的程序员,基本的数据结构和算法基础还是如有的。下面几乎篇稿子于想及落实,为你梳理出常用之数据结构和藏算法。
1-1 常用数据结构
勤组、链表、堆、栈、队列、Hash表、二叉树等
1-2 算法思想
算法时间复杂度和空中复杂度的分析计算
算法思想:递推、递归、穷举、贪心、分治、动态规划、迭代、分枝界限
1-3 经典算法
经典排序:插入排序、冒泡排序、快排(分划交换排序)、直接选择排序、堆排序、合并排序
经文查找:顺序查找、二细分查找、二叉排序树查找
1-4 高级数据结构
B+/B-数、红黑树、图等
1-5 高级算法
希冀的深度优先找、图的广度优先找、拓扑排序、Dijkstra算法(单源最缺路径)、霍夫曼编码、辗转相除法、最小生成树等
其次:Java语言功底
生只是二十余年之Java语言凭借其超平台、面向对象、适合吃分布式计算的特色,广泛应用于Web网站、移动装备、桌面应用中,并且已连续多年稳居TOBIE编程语言排行榜前列,最近更上上冠军宝座。Java有怎样精彩而又非常之地方首先肯定要明白。
2-1 基础语法
Java语法格式,常量和变量,变量的作用域,方法和章程的重载,运算符,程序流程控制,各种基本数据列和包装类
2-2 重要:集合类
Collection以及各种List、Set、Queue、Map的实现和集成关系,实现原理
Collections和Arrays
2-3 其他JavaAPI
String和StringBuffer,System和Runtime类,Date和DateFomat类
java.lang包
java.util包(集合类体系、规则表达式、zip,以及日、随机数、属性、资源及Timer等)
java.math包
java.NET包
java.text包(各种格式化类等)
java.security包
2-4 面向对象、面向接口
靶的老三非常特色:封装、继承与多态,优缺点
哪些统筹类,类的计划原则
this关键字,final关键字,static关键字
对象的实例化过程
艺术的重写和重载;方法及方的参数传递过程
构造函数
内部类,抽象类,接口
目标的多态性(子类和父类之间的更换、父类纸箱子类的援),抽象类和接口在多态中之应用
2-5 JVM内存模型、垃圾回收
2-6 关于充分
Throwable/Error/Exception,Checked Exception vs. Unchecked
Exception,异常的捕捉与抛出,异常捕捉的基准,finally的行使
2-7 多线程
线程和进程的定义
怎在程序中创造多线程,线程安全题材,线程之间的通讯
线程的一起
死锁问题的剖析
线程池
2-8 IO
java.io包,理解IO体系的根据管道模型的筹划思路与常用IO类的特点与行使场所。
File及相关类,字节约流InputStream和OutputStream,字符流Reader和Writer,以及对应缓冲流和管道流,字节和字符的转折流,包装流,以及常用包装类使用
分析IO性能
2-9XML
熟识SAX、DOM以及JDOM的利害并且能够用其中的平种植就XML的解析及内容处理;这几乎栽分析方法的规律
2-10 一些高级特性
照、代理、泛型、枚举、Java正则表达式
2-11 网络编程
网络通信协议原理同适用场景,Socket编程,WEB服务器的行事规律
2-11
JDK1.5、JDK1.6、JDK1.7、JDK1.8每个版本都比较前一个本子添加了何等新特性,进行了什么提升
其三:数据库相关
前说到了数据结构,数据库简单的话就是像是电子化的档案柜,是按部就班一定的数据结构来组织、存储和管理数据的库。
3-1驳基础
数据库设计基准以及范式
事情(ACID、工作规律、事务之隔断级别、锁、事务之流传机制)
3-2 各种数据库优缺点、使用状况分析
MySQL/SQLServer/Oracle以及各种NoSQL(Redis、MongoDB、Memcached、Hbase、CouchDB等)
3-2 SQL语句
数据库创建,权限分配,表底创立,增删改查,连接,子查询
触发器、存储过程、事务控制
3-3 优化
目原理及适用,大表查询优化,多表连接查询优化,子查询优化等
3-4 分库、分表、备份、迁移
导入、导出,分库、分表,冷备热备,主从备份、双机热备、纵向扩展、横向扩张
3-5 JDBC
JDBC
Connection、Statement、PreparedStatement、CallableStatement、ResultSet等非同类的用
连接池(配置使用、实现原理)
ORM,DAO
季:JavaWeb核心技术(包括部分前端)
HTML5/Css/js原生/jQuery
Ajax(跨域等)
JSP/JavaBean/Servlet/EL/JSTL/TabLib
JSF
JSON
EJB
序列化和倒序列化
平整引擎
检索引擎
模板引擎
缓存
位证明
测试
集群
持久化
变迁静态页技术
高性能
安全
事务JTA
外急需了解之,如:管理JMX、安全JCCA/JAAS、集成JCA、通信JNDI/JMS/JavaMain/JAF、SSI技术
五、主流框架和工具
Struts1/Struts2
spring(IoC、AOP等),SpringMVC
持久化:hibernate/MyBatis
日志:Log4j
单元测试:JUnit
信队列:ActiveMQ、RabbitMQ等
负载均衡:Nginx/HaProxy
Web服务器:Tomcat、JBoss、Jetty、Resin、WebLogic、WebSphere等
通信:WebService(cxf的soap、restful协议)
缓存:redis、Memcached
工作流:Activity、JBPM
找引擎:lucene,基于lucene封装的solr
模板引擎:Velocity、FreeMaker
大数据:Hadoop(HDFS和MapReduce)
构建工具:Ant/Maven
六、JavaWeb系统规划与架构
Java设计模式
JAVA与UML建模
面向服务架构:SOA/SCA/ESB/OSGI/EAI,微服务
面向资源架构:ROA/REST
面向云架构:COA/Saas/云计算
巨型网站负载均衡、系统调优等
七、More
排错能力:
应当好依据异常信息较迅速的定位问题的故和大体位置
优化能力
代码规范、代码管理:
有和好之代码规范体系,代码可读性好
知识面广:
晓各种网络产品及特色,懂各种中间件,能够明白坑在何处,深谙各种技能方案的得失,懂整合各种资源并上至极优….了解各种技能以及以场景,有足够的办事经历解决集成中遇到的各种奇葩问题
技能管理/技术总监:
活管理、项目管理、团队建设、团队升级
CTO:
提高战略性