1.计算机基础:

1.1数据机构基础:

主要学习:

1.向量,链表,栈,队列和堆,词典。熟悉

2.树,二叉搜索树。熟悉

3.图,有向图,无向图,基本概念

4.二叉搜索A,B,C类熟练,9大排序熟悉。

5.树的前中后,层次,之字,最短路。

6.KMP等字符串算法。

1.2操作系统:

主要学习:

1.进程,线程,进程线程区别。进程间通信

2.进程调度算法理解

3.存储,虚拟内存,分页分段,内存调度算法

4.文件系统,链式,索引

5.死锁:原因,避免,解除k

6.Linux基本操作命令,会一门脚本编程:shell,Python

1.3计算机网络:

主要学习:

1.网络分层:五层,七层,四层等

2.网络层:IP分类,子网划分,超网。ARP协议,ICMP协议。理解内部网关和外部网关,vpn等

3.运输层:端口,UDP协议理解,TCP协议理解,三次握手,四次断开。

4.应用层:了解常用协议使用的端口和底层协议。

5.更加深入理解:TCP/IP 对拥塞控制,滑动窗口,如何实现可靠等。

1.4基础算法:

主要学习:

1.理解大O等记号

2.动态规划如:几类背包问题最好有现成的代码用于笔试。最长公共子序列

3.贪心算法:理解赫夫曼编码(笔试常考概念)

4.B树B+树用于理解数据库索引

5.常用的图算法:广度优先,深度优先,最短路径算法(最好有现成的代码),最小生成树。

2.JAVA知识基础:

2.1JAVA基础

推荐书籍:编程思想

1.掌握java常用技术,io、多线程、反射、常用集合框架

2.对处理输入输出的IO进行熟悉,用于笔试

3.对Iterator,Iterable和Comparable,Comparator了解,以及常用集合的遍历和排序。

4.对NIO一定要熟悉,以及了解JMS和RPC

5.对JAVA基础概念要熟悉,比如抽象类和接口区别等,这些熟记。

2.2JAVA源码

1.hashmap,hashtable,concurrentHashMap源码以及区别

2.其他集合框架:linkedHashMap,LinkedHashSet,Copy-On-Write等

3.对Lock,Object,String等类的源码了解。

2.3JAVA并发API

推荐书籍:应付笔试面试:JAVA多线程编程与核心技术。真正神书:JAVA并发编程实战。

Synchronize 和 Lock 的区别与用法

2.wait()和await() notify()和signal(),wait()和sleep()区别与用法

3.其他的API用法:yield,join等

4.voliate深入理解,以及CAS理解

5.JAVA锁底层实现:自旋锁,阻塞锁,可重入锁,偏向锁,等。

6.线程池和阻塞队列

7.以及一些常用的并发实现案例如生产者和消费者

2.4理解JVM

推荐书籍:深入理解JAVA虚拟机

1.JAVA内存模型,哪个区域存放哪些内容

2.引用技术法和可达性分析法

3.对象的强、软、弱和虚引用区别与作用

4.jvm垃圾回收机制,以及回收算法

5.常见的OOM和SOF的原因和解决方案,以及通过什么工具进行分析。

6.常见的JVM输入参数熟悉

7.了解GC停顿,逃逸分析,TLAB区,堆外内存等

8.常用垃圾收集器:G1,CMS等

9.了解常用性能监控工具:如visualvm jconsole等

10.必须熟悉虚拟机类加载机制,包括原理步骤,以及双亲委派方式的原理。

3.常规储备知识学习

3.1数据库:

推荐书籍:sql入门:Mysql必知必会。深入理解:高性能Mysql

1.常用关联查询语法,自己所动手写几个

2.数据库索引深入认识和理解

3.JDBC学习

4.常用数据库调优手段:比如通过索引调优

5.InnoDB和MyISAM 区别

6.了解主键,外键,索引,唯一索引

7.了解索引、视图、触发器、游标和存储过程

8.常用关系型数据库和非关系型数据库:关系型了解:Mysql,Oracle 非关系型了解:redis,Hbase,monogodb等

3.2设计模式:

推荐书籍:设计模式之禅

1.单例模式的几种写法一定要会

2.JDK中对应的设计模式:如IO中的装饰模式和设配器模式等

3.框架中常用的设计模式:如Struts中的责任链模式,Spring中的工厂模式,动态代理模式等

4.了解6大设计原则

3.3HTTP协议:

推荐书籍:HTTP权威指南

1.什么是HTTP,协议版本等

2.学会使用浏览器查看HTTP请求与响应

3.熟悉HTTP请求头和请求体

4.熟悉HTTP响应头和响应体

5.了解Rest风格

3.4神一般的Spring:

推荐书籍:Spring实战和Spring技术内幕

1.了解IOC原理和作用

2.了解AOP原理和作用

3.常用的XML配置

4.Spring事务原理和使用

5.SpringMVC

6.了解Spring的webflow,远程服务,rest,消息,安全等

7.新功能:Spring boot和cloud

4.后端学习之路

4.1WEB后端学习之路

推荐书籍:可以选择一些SSH整合开发之类的

1.JSP和Servlet学习

2.XML和JSON解析学习

3.前端知识:HTML、css,js

4.JDBC学习,文件上传\下载,JAVAMail等

5.可以利用jsp和Servlet开发简单项目

6.接着框架学习:Struts2,Hibernate,Spring以及相互整合开发

7.接着可以了解:SpringMvc,Mybatis,Lucene,shiro等

8.利用框架实现简单项目比如CMS。

4.2服务架构学习之路(此部分笔试面试不一定学习)

推荐书籍:分布式服务框架原理与实践和微服务设计

1.了解SOA和微服务

2.负载均衡:LVS,NGINX等

3.RPC框架学习:RMI,Thrift等

4.消息框架学习:ActiveMq等

5.Netty通信框架学习

6.服务框架:dubbo

4.3Hadoop学习之路(此部分笔试面试不一定学习)

推荐书籍:Hadoop权威指南

1.熟悉mapReduce和HDfS

2.Hadoop集群搭建

3.了解:zk,hive,hbase,pig,mahout等

4.zk几个常用作用如做注册中心,放配置信息等。

JAVA试练塔之试炼技能图的更多相关文章

  1. Myeclipse中把java代码导成UML类图

    Myeclipse中把java代码导成UML类图 1.右键点击项目名称,选择New-------àUML2 Model 2.给类图命名 3.导成类图 1)如果要把整个项目导成类图,则把整个项目拖到类图 ...

  2. 从 Java 代码逆向工程生成 UML 类图和序列图

    from:http://blog.itpub.net/14780914/viewspace-588975/ 本文面向于那些软件架构师,设计师和开发人员,他们想使用 IBM® Rational® Sof ...

  3. 纯Java实现微信朋友圈分享图

    纯Java实现微信朋友圈分享图 1.实现分享图的效果 2.开发环境 2.1 JDK * oracle's jdk 1.8以上 2.2 字体 * 若选择了微软雅黑字体又是代码部署到Linux,则需要安装 ...

  4. java.io包的总体框架图(转)

    原文链接:java.io包的总体框架图, 便于记忆!

  5. Java程序性能定位工具-火焰图

    Java程序性能定位工具-火焰图 前言 Java火焰图是一种新的查看CPU利用率方式.今天就带大家一起使用来自Google大神的工具来生成火焰图.火焰图非常的直观,问题一目了然,希望有一天它能成为JA ...

  6. java虚拟机的基本结构如图

    1 java虚拟机的基本结构如图: 1)类加载子系统负责从文件系统或者网络中加载Class信息,加载的类信息存放于一块称为方法区的内存空间.除了类的信息外,方法区中可能还会存放运行时常量池信息,包括字 ...

  7. 用MyEclipse将java文件转换成UML类图

    用MyEclipse将java文件转换成UML类图 参考: 用MyEclipse将java文件转换成UML类图 - 君临天下的博客 - CSDN博客  http://blog.csdn.net/dan ...

  8. 从程序员到CTO的Java技术路线图 JAVA职业规划 JAVA职业发展路线图 系统后台框架图、前端工程师技能图 B2C电子商务基础系统架构解析

    http://zz563143188.iteye.com/blog/1877266在技术方面无论我们怎么学习,总感觉需要提升自已不知道自己处于什么水平了.但如果有清晰的指示图供参考还是非常不错的,这样 ...

  9. 现代Java进阶之路必备技能——2019 版

    Java技术的学习阶段有三 第1个是java基础,比如对集合类,并发,IO,JVM,内存模型,泛型,异常,反射,等有深入了解. 第2个是全面的互联网技术相关知识,比如redis,mogodb,ngin ...

随机推荐

  1. BZOJ 1101 [POI2007]Zap ——Dirichlet积

    [题目分析] Dirichlet积+莫比乌斯函数. 对于莫比乌斯函数直接筛出处理前缀和. 对于后面向下取整的部分,可以分成sqrt(n)+sqrt(m)部分分别计算 学习了一下线性筛法. 积性函数可以 ...

  2. git 常用命令--Linus Torvalds

    1.git log 显示仓库的历史记录,默认显示所有记录, 1)git log -m,显示最近的几次提交,, 2)git log --pretty=oneline  显示提交hash和注释 -p 按补 ...

  3. module_param()函数

    1.定义模块参数的方法: module_param(name, type, perm); 其中,name:表示参数的名字;     type:表示参数的类型;     perm:表示参数的访问权限; ...

  4. My first essay

    今天是我开通博客第一天,从此开始了我的博客之路.为了实现成为程序猿的我,现在开始努力啦~今年大三,就读杭州电子科技大学,通信工程专业.现在在自学web前端,虽然与我就读专业并无多大相关,但是这是根据自 ...

  5. osx c++连接mysql

    最近想尝试一下使用c++连接mysql数据库.使用封装过后的mysql库mysql++访问mysql数据库更加简单,下述讲述的是如何在osx上搭建连接mysql的环境. 首先需要安装mysql++,感 ...

  6. HTML5学习笔记四:html5结构

    一.大纲:大纲即文档中各内容区块的结构编排 1. 显示编排内容区块:使用section等元素创建文档结构,每个内容区块使用标题(h1~h6,hgroup); 2. 隐式编排内容区块:根据页面所书写的各 ...

  7. ipyparallel 中的 pi的求法

    1.PI的求法的数学依据 如图,可以看见在边长为1的正方形里面,有一个1/4圆,我们随机在正方形中取点,点在圆内的概率和点在正方形内的概率之比正好为两者的面积之比.这样就有在圆内的点的数目比所有点的数 ...

  8. Angular - - $location 和 $window

    $location $location服务解析浏览器地址中的url(基于window.location)并且使url在应用程序中可用.将地址栏中的网址的变化反映到$location服务和$locati ...

  9. 关于P,NP,NPC和NP-hard的通俗解释

    这些概念以前老是犯糊涂,今天整清楚.摘要:P: Polynomial SolvableNP: Non-determinstic Polynomial Solvable 0)词语解释:Polynomia ...

  10. 【转载】doxygen+graphviz生成代码文档

    一.工具 doxygen:http://www.stack.nl/~dimitri/doxygen/download.html graphviz:http://www.graphviz.org/ 二. ...