来源:左潇龙博客
一、面试角度
基本要求1.语言基础部分
2.java运行时环境
3.并发知识与concurrent包
4.设计模式和反射
5.文件IO、NIO、网络IO以及网络协议
可选要求(体现差异性)
1.Spring、Mybatis框架
透彻研究框架后,完全可以自己造轮子
2.Linux服务器
3.数据库优化
4.消息服务
常见的消息组件rabbitMQ、activeMq、rocketMq
5.缓存服务
memcached、redis
6.负载均衡器
软件负载nginx、Apache、lvs
硬件负载F5
加分要求
1.数据结构与算法
2.计算机操作系统
3.计算机网络
4.熟练使用一种脚本语言
python、shell
5.你的github和博客
二、学习的角度
扎实的java基础
JDK
1.java运行时环境JVM
有多深就研究多深
2.java基础类库
1)精读源码
java.io
java.lang
java.util
最常用,能增加阅读代码的能力,能学大神们的代码风格
2)深刻理解
java.lang.reflect
java.net
javax.net.*
java.nio.*
java.util.concurrent.*
进阶到高级必须了解的类
反射要了解清楚,要搞明白JVM的类加载机制
网络IO要高清楚,要学清楚TCP/IP和HTTP、HTTPS
通过代码学概念知识
3)会用即可
等1、2过完
参看 http://www.zuoxiaolong.com/html/article_232.html
4)其他可无视
3.java开发工具
javac、java
jmap、jconsole、jstack、jvisualvm
Google OR 官网
总结
玩好JDK后,学个一技之长,就可以去al面试了