技能考核,关键是知识框架
1. 初级知识
面向对象和面向过程的区别和联系。
对象和类的关系。
Java的内存布局是怎样的。
Java中的工作内存之间是怎样进行通信的。
堆和栈是什么关系,主要放什么东西。
Java中安全机制是什么。
在Java中的运行时的四级安全性保障机制什么。
Java中的异常机制框架图是怎样的。
String类的修饰符是什么,为什么是它。
重写和重载的区别和意义。
Final、Finally和Finalize的区别。
Static代码块、普通代码块和构造代码块之间的调用顺序,以及一些常用场景。
StringBudiler和StringBuffer的区别和联系。
文件的增删改查是否熟练。
绘制容器继承关系图。
Collections和Collection的区别和联系。
MySql数据库索引是怎么实现的。
ArrayList和Vector的区别和联系。
Set和Map有联系吗。
HashMap和HashTable的区别和联系。
类型擦除是什么意思。
HashSet和TreeSet的原理。
数组和字符串谁有Length方法,谁有Length属性。
JDK1.5新增了哪些常用的概念或功能。
能比较清楚地简述各个集合类的特点及适用场合。
IO操作(多媒体、对象、文件、文本)。
多线程和进程的概念。
线程的几个状态。
扩展知识:
POI、文档API、PDFAPI等。
TCP、UDP如何实现。
Java网络通信。
Socket编程。
Java加密和解密。
2. 中级知识
Http协议的基本原理。
Http的轮询是用什么办法解决的。
URL重定向如何实现。
请求头和响应头怎么添加。
Servlet容器的概念。
JSP和Servlet的区别和联系。
JSP的9个内置对象。
在JSP中的几个注释有和意义。
Servlet在哪里被解析,能否阅读解析器的源码。
JSP引擎在哪里,通过阅读源码了解其原理。
Web应用中的web.xml的常用配置有哪些,配置顺序大致是怎样的。
POST和GET的区别和联系,哪个有缓存,为什么。
前后台数据通信方式。
Ajax的原理。
JQuery和操作原生DOM元素之间的关系。
浏览器对象框架图。
常用设计模式有哪些。
常用的组件开发,例如:文件上传、文档解析都有哪些技术。
3. 高级知识
MVC思想是怎样的。
Struts框架图能否描述清楚。
Struts框架搭建是否熟练。
OGNL与Struts的关系。
Strus中的值栈是如何工作的。
Struts.xml中的一般配置有哪些。
Struts是如何实现线程安全的,能否真正意义上实现线程安全。
为什么Struts2逐渐没落。
如果让你对Struts2进行开源开发,让它重新走入市场,你会如何哪里入手。
ThreadLocal在Struts中的关键是什么。
Hibernate的二级缓存。
Hibernate一般和那些插件缓存组合
HIbernate的工作流程
HIbernate的配置过程
Hibernate与MyBatis的对比 Hibernate的特点
连接池
一对多和多对多关联关系
Hibernate的优化机制
Hibernate中的对象都有哪些状态,以及状态之间如何转
Hibernate与Spring,Struts整合原理
SSH究竟指的什么Hibernate中如何管理事务
Hibernate的五个核心类是什么
Hibernate的数据抓取策略
Hibernate中的数据操作方式有几种
快照机制是什么意思
Hibernate中的对象与表如何转化,用到的原理是什么
Hibernate用到了哪些设计模式
事务的特点
事务的并发性
事务的隔离级别
Hibernate中的主键策略有哪些
MyBatis与Hibernate、DButils的联系与区别。
Mybatis中用到一个很重要的思想是什么(面向接口编程)。
MyBatis中的逆向工程是什么概念。
MyBatis中的缓存方式有哪些。
MyBatis如何实现关联查询。
在MyBatis中一对一、一对多、多对多如何实现。
在MyBatis中是否存在延迟加载的概念,如何实现。
MyBatis中的Sql语句与对象参数、对象返回值如何绑定。
MyBatis如何实现事务管理。
MyBatis如何实现session的管理。
Spring的框架图。
Spring的实现原理。
Spring如何给bean赋值,有哪些方式。
Spring如何管理事物。
Spring注解存在的意义和原理。
Spring的AOP的概念是什么,如何实现。
向上委托机制是什么原理。
SpringMVC如何实现文件上传等。
过滤器、拦截器、监听器、连接池的原理分别是什么,如何实现。
SSH流程。
SSM整合原理。
爬虫:可以有Java爬虫,Python爬虫,自己可以简述爬虫的原理、背景和意义、爬虫的流程,做过的爬虫项目。
POI、word的API、PDF的API,这些工具类的使用,可以很方面我们在项目中扩展功能,若能熟悉其核心API,也可以让面试官觉得我们是一个喜欢探索的人,阅读源码,喜欢探究。
XML解析方法有哪些,DOM、SAX、JDOM、DOM4J几种方法的优点和缺点,以及适用的场景
若能清晰明了地讲清楚这几种方式中的核心方法,在面试过程中,流畅地回答可以提高我们的信心。
4. 高级研发
Log4j架构:
Log4j将写日志功能抽象成7个核心类或者接口:Logger、LoggerRepository、Level、LoggingEvent、Appendar、Layout、ObjectRender。这几个类或接口分别在什么时候用,怎么用,若能很明白地讲清楚,那么将能在面试中提高我们自身的技术价值。
Maven、Linux、Git或SVN等作为一些工具或管理方法,对它们的使用程度也将与面试官对你的阶级评判息息相关。
基于内存存储的数据库Redis、请求分发的Nginx、企业级搜索Solr、基于RESTful web接口的ElasticSearch等等,都是进军高级程序员的必备知识。
Zookeeper分布式系统和服务集群搭建、JFinal敏捷快速开发、shiro安全框架、RBAC权限管理技术、Linux系统、Nginx服务器、vsftp服务器、dubbo、HTTPClient原理等。
私我一下 1,面肥拿走干货框架项目等