最新Java高級開發工程師面試考綱
1、Java基礎
1.1 Collection和Map
(1)掌握Collection和Map的繼承體系。
(3)掌握CopyOnWriteArrayList、CopyOnWriteArraySet、ConcurrentHashMap的實現原理和適用場景。
1.2 IO
(1)掌握InputStream、OutputStream、Reader、Writer的繼承體系。
(2)掌握字節流(FileInputStream、DataInputStream、BufferedInputStream、FileOutputSteam、DataOutputStream、BufferedOutputStream)和字符流(BufferedReader、InputStreamReader、FileReader、BufferedWriter、OutputStreamWriter、PrintWriter、FileWriter),並熟練運用。
1.3 異常
(1)掌握Throwable繼承體系。
(2)掌握異常工作原理。
(3)了解常見受檢異常(比如FileNotFoundException)、非受檢異常(比如NullPointerException)和錯誤(比如IOError)。
1.4 多線程
(1)掌握Executors可以創建的三種(JAVA8增加了一種,共四種)線程池的特點及適用範圍。
(2)掌握多線程同步機制,並熟練運用。
1.5 Socket
(1)掌握Socket通信原理。
(2)熟練使用多線程結合Socket進行編程。
2、Java虛擬機
2.1 JVM內存區域劃分
(1)掌握程序計數器、堆、虛擬機棧、本地方法棧、方法區(JAVA8已移除)、元空間(JAVA8新增)的作用及基本原理。
(3)掌握JVM內存參數設置及調優。
2.2 類加載
(1)掌握類的加載階段:加載、鏈接(驗證、準備、解析)、初始化、使用、卸載。
(2)掌握類加載器分類及其應用:啟動類加載器、擴展類加載器、應用程序類加載器、自定義加載器。
3、J2EE
(1) 掌握JSP內置對象、動作及相關特點和工作原理。
(2) 掌握Servlet的特點和工作原理。
(3) 掌握Spring框架的IOC和AOP實現原理(反射和動態代理)。
(4) 至少掌握一個MVC框架(Spring MVC,Struts等)的工作原理,並熟練運用。
(5) 至少掌握一個ORM框架(Hibernate,MyBatis等)的工作原理,並熟練運用。
4、數據結構與算法
(1)掌握線性表和樹的特點並熟練運用。
(2)掌握常用排序和查找算法:插入排序(直接插入排序、希爾排序)、選擇排序(直接選擇排序、堆排序)、交換排序(冒泡排序、快速排序)、歸並排序,順序查找、二分查找、哈希查找。
(3) 熟練運用常見排序和查找算法思想解決編程問題。
(4)了解幾大基本算法:貪心算法、分治策略、動態規劃。
5、計算機網絡
(1)掌握網絡的分層結構,及每層的功能特點。
(2)掌握TCP/IP的通信原理(三次握手、四次揮手)
6、數據庫
(1)掌握復雜的SQL語句編寫。
(2)掌握數據庫的優化(SQL層面和表設計層面)。
(3)至少掌握一款數據庫產品。
(4)熟悉高並發、大數據情況下的數據庫開發。
7、Web技術
(1)掌握AJAX的工作原理。
(2)至少熟悉一款JS框架(比如JQuery)。
8、設計模式
(1)熟悉常見的設計模式。
(2)會將設計模式理論應用到實際開發中。
9、Linux
(1)熟練運用Linux常見命令。
(2)熟悉Linux操作系統基本概念及特點。
(3)熟悉Shell腳本。
10、操作系統
(1)掌握操作系統的進程管理。
(2)了解操作系統的I/O。
11、正則表達式
(1)掌握常見正則表達式符號。
(2)熟練運用正則表達式解決實際問題(比如匹配電話號碼、郵箱、域名等)。
【文章彩蛋】
現在是跳槽招聘季,為了解決小夥伴們的燃眉之急
小編也準備了一些JAVA程序員面試題,小夥伴可以試試。
需要的可以加小編QQ群937053620,獲取!(內附答案詳解)
最新Java高級開發工程師面試考綱