转自:http://www.iteye.com/topic/1114458
这是我三年前创业,为IT部门招聘时写的一份面试提纲,其实也就是我的面试风格。
因为当时是做普通的电子商务网站(前台和后台),偏业务开发而不是系统软件,所以下面的面试题一般都比较基础和普通。
因为我们团队不大,公司资金也有限,所以基本上只找有工作经验的,关于薪水,至少是达到应聘者的期望值。
下面的技术题,针对应聘者的情况,会删减,比如工作一年的只需要Java基础即可。
我始终觉得,只要开发人员对技术感兴趣,我就有信心把他的潜力挖掘出来,让他把全部心思放在技术的乐趣上。
我在这儿把它贴出来,可能适合求职的朋友,因为对于应届生或一般开发人员,一般公司也是这么问。
我觉得,作为一位面试官,应该很清楚:面试就是去了解对方的能力、发现对方的潜力以及与公司的匹配度。
优秀的面试官,即使和面试者没有谈拢,还是受对方尊重。
最失败的面试官,就是打击对方的自信(总在暗示对方你不行)。
在IT行业,有很大一批技术人员,就是因为刚毕业时机会不够好,如遇到一位冷酷的上司、进入一个胡闹的项目...,如果给他一优秀的平台,也许他表现得像一位天才。
好了切入正题吧。
面试考察
1、基础知识掌握程度(必备,基础不过关就谈不经验和兴趣)
2、知识面 (可以不全面,但应该听说或了解过)
3、工作经验(具体项目介绍时,让他谈项目中的体会,然后顺着面试者的思路展开提问,只问简历的涉及点)
4、思维习惯 (风格和解决问题的能力,譬如验证码、用户密码提示、密码发送、页面间参数传递)
5、技术敏感性、兴趣、热情 (知识面、软件版本、网站、IT界名人、新技术动态)
技术敏感性/问题解决能力,而不是记忆能力
在面试过程中,针对对方的项目,问一些开放性问题:技术实现、设计、架构,开发过程
专业素养
国内、外知名Java网站、图书、项目等
常用Java软件的版本(切入项目中时)
Java基础(OO、Java core、Java util、Java IO、Exception Handling、Java Network)
自己Java基础知识定位?
overload和override的区别
String类是否可以继承?
String和StringBuffer区别
异常的两种类型,Error和Exception的区别
checked、runtime
ArrayList、Vector、LinkedList区别
List和Set的区别
什么是对象序列化?
Serializable、ObjectOutputStream.writeObject(Object obj)
Servlet和JSP基础
Servlet生命周期
Servlet启动过程
4过程,init两种情况
怎么让一个Servlet随容器启动而启动?
redirect和forward区别
setAttribute
http 301
Servlet继承关系
HttpServlet、protected
Servlet版本
2.4 2003.11 J2EE1.4
2.5 2005.9 JavaEE 5
3.0 2009.1 JavaEE 6
常用的Servlet容器
Tomcat,Resin,Jetty
doGet和doPost区别、场景
页面间传递对象的方法
request、session、application、cookie
<jsp:include page />、<%@ include file>区别
J2EE
什么是J2EE
Java EE 和J2EE的命名依据
J2EE常用术语
JNDI JMS JTA RMI/IIOP JDO JPA
J2EE是一种规范还是实现技术?
设计模式
Singleton template Command Observer facade
设计原则
高内聚低耦合 LSP OCP ISP
SSH
Struts的启动过程
ActionServlet
Action单例(实例变量声明,Webwork ThreadLocal)
Struts的标签
logic/JSTL iterator core
Bean/JSTL EL
Hibernate
id generator(native、assigned、increment、uuid)应用场景、原理及实现
lazy loading 原理、业务场景
load和get的区别
batch insert和update
domain的equals方法覆盖(Set属性)
Criteria查询
NativeSQL
乐观锁(optimistic-lock version)
Hibernate的两种实体模式:pojo和dynamic-map
领域模型
Spring
IoC
依赖注入的几种方式(构造子、setter、默认)
AOP
A的意思,具体是? 日志、安全、事务
OpenSessionInView
DAO,领域模型(架构设计)