這是最近一次面試過程中談到的相關話題,對其進行記錄。
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通信?