1、1、 自我介绍,你在项目中处于什么样的角色,主要做哪些工作?针对你的工作会问问涉及到的技术,如 SSH 三大框架环境的搭建(Spring 到 Hibernate 到 Struts,各部分功能)2、 Struts 中,页面是怎么跳转到相应的 action 的。 (每个小步骤都要追问,比如*.do 是在哪配置的)3、 Struts 中,你自定义错误怎么写?4、 Hibernate 中 session.flush()方法有什么用?假如有很多张表的数据,被 flush 了是不是按照什么顺序?5、 Hibernate 中的 saveOrUpdate()方法是干什么的?怎么判断它是要 save 还是upd
2、ate 呢?6、 Java 中所有类的基类是什么?它有些什么方法呢?7、 知道有哪些流吗?字节流与字符流有什么不一样?它们间是怎么转换的呢? IO8、 你知道 java 中有哪些集合类吗?为什么要有那么多种?9、 Java 中有哪些异常?这些异常怎么避免呢?假如是空指针,怎么避免它呢?10、你是怎么处理线程安全问题的?假如一个线程中新建了一个线程在 Theadlocal 中,那又是怎么处理的呢?11、了解 Java 的垃圾回收机制吗?会追问 xxx 扫描方式是怎样的?(那个扫描方式没听说过,不想被他追问了,就把垃圾回收的机制完整地说了一遍)12、 你了解的设计模式有哪些呢?说说你在项目中用过的
3、工厂模式13、 你在抽象类和接口的设计上是怎么应用的?14、 你对面向接口编程这句话是怎么理解的?15、 你在项目中哪些是最让你感到困难的呢?如果答了与技术无关的,要追问技术方面的16、 乱码问题你碰到过吗?为什么会产生乱码?如何避免乱码?17、 Get()和 post()方法有什么不一样?18、 你在页面上用什么方法防止重复提交的?19、你用过哪些数据库?(说用过 Oracle 的,追问 Oracle 的分页语句?要最佳的方式,不然要追问有没考虑到它的执行效率呢?)20、hashcode 和 equals 的区别?21、String 和 StringBuffer 的区别22、gc 的概念,如
4、果 A 和 B 对象循环引用,是否可以被 GC?23、Java 中的内存溢出是如何造成的24、String s = “123”;这个语句有几个对象产生25、Error、Exception 和 RuntimeException 的区别,作用又是什么?26、列举 3 个以上的 RuntimeException27、reader 和 inputstream 区别28、hashCode 的作用29、Object 类中有哪些方法,列举 3 个以上(可以引导)30、char 型变量中能不能存贮一个中文汉字?为什么?31、列举几个 Java Collection 类库中的常用类32、List、Set、Map
5、 是否都继承自 Collection 接口?33、HashMap 和 Hashtable 的区别 34、HashMap 中是否任何对象都可以做为 key,用户自定义对象做为 key 有没有什么要求?35、interface 和 abstrat class 的区别 是否可以继承多个接口,是否可以继承多个抽象类36、 启动一个线程是用 run()还是 start()? 多线程有几种实现同步和并发是如何解决的 什么叫守护线程,用什么方法实现守护线程(Thread.setDeamon()的含义) 如何停止一个线程?解释是一下什么是线程安全?举例说明一个线程不安全的例子。解释 Synchronized关键字的作用。当一个线程进入一个对象的一个 synchronized 方法后,其它线程是否可进入此对象的其它方法?37、了解过哪些 JDK6 的新特性,举例描述下相应的特性?38、对 sql 进行优化的原则有哪些?39、servlet 生命周期是生命与 cgi 的区别?40、StringBuffer 有什么优势?为什么快?