这是最近一次面试过程中谈到的相关话题,对其进行记录。
Spring
- 为什么要用Spring?
- IoC究竟能带来什么好处?详细解释在扩展性上带来的好处?
- 如何实例化一个Bean?
- ApplicationContext和BeanFactory有什么区别?
- 如何通过Spring读取外部文件?
- Spring配置文件中,Bean的id是否可以重复?
- 解释Spring中的自动装配和类型检查?
- 当系统中存在多个Spring配置文件,ApplicationContext可否一次全部加载?如果其中的id有重复应该如何处理?
- 什么是AOP?AOP中涉及到哪些术语并进行解释?
-
Spring是如何实现AOP的?详细描述动态代理?
Java Collection
- TreeSet和HashSet的区别?
- TreeSet是如何实现排序的?
-
Comparable和Comparator有什么区别?
Java IO
- Stream和Reader/Writer有什么区别?
- 如何读取一个文本文件?
- 如何重定向System.out,使其输出到一个外部文件?
-
System.out是什么类型?
Java Serialization
- 如何进行序列化?
- Serializable接口中定义的变量有什么作用?
- 如何通过Serialization实现深拷贝?
-
Serializable属于标示性接口,这种类型的接口有什么作用?
Java Synchronization
- 为什么要做同步管理?
- 线程同步的含义是什么?
- Java有哪些方式实现同步管理(针对线程对象中的公有成员)?
- 如果一个类中有两组方法,组内方法互斥,组间方法并发,应该如何做?
-
实现线程池的思路?
Java Exception
- checked exception 和 unchecked exception的区别?
- 如何创建一个unchecked exception?
- 什么是异常转译?它的作用是什么?
-
在多层结构中,如何处理异常?
Java JDBC
- JDBC和事务相关的API(启动、提交、回滚)?
- JDBC和数据库连接池相关的API?
Other
- String、StringBuffer和StringBuilder的区别?
- Tomcat配置文件的结构?如何配置数据库连接池?
- Apache和Tomcat集成时,Apache如何向Tomcat通信?