時間:2020/4/25
前言:基礎、架構、網絡、JDBC程式設計、XML程式設計、計算機基礎、資料結構與算法、設計模式、
一、基礎
1Java基礎
Java和PHP的差別
Java如何支援正規表達式操作、正規表達式及其用途
Java與JavaScript的比較
&和&&的差別
String和stringBuffer的差別、stringBuffer與stringBuilder的差別
基本的資料類型
JDK和JRE的差別、JVM概念與作用
反射的實作過程和作用
2面向對象
構造函數、方法覆寫于方法重載、重載和重寫的差別
面向對象的特征:抽象、繼承、封裝、多态
接口和抽象類的差別、類和對象的差別
Static關鍵字的意思、private
3線程
線程的基本狀态以及狀态之間的關系
線程池的概念以及優勢、有幾種、如何實作
同步和異步
線程同步和線程排程
建立線程的方式:
生産者消費者模式
4鎖:Java如何確定多個線程通路多個資源,同時不導緻死鎖;死鎖的概念
5垃圾收集GC:GC概念、原因、算法;記憶體洩漏
6IO:Java有幾種類型的流、異常、日志
二、架構
1spring
自動配置設定方式
Bean的作用域、生命周期
IOC和DI、DI如何實作;IOC和AOP概念、事務管理
beanFactory和ApplicationContext的差別
2mybatis
鎖機制的作用、悲觀鎖和樂觀鎖機制
3springMVC
工作原理、運作機制、優點
springMVC與springboot的差別
三、網絡
JSP的内置對象和其作用
JSP與servlet的相同點與不同點
Web.xml檔案的配置内容
監聽器listener(application、session、request)、過濾器filter
DAO模式
轉發和重定向的差別、get與post的差別、cookie與session
XML概念
四、JDBC
1SQL基礎
2JDBC基礎
基礎映射、資料庫優化方法、三種範式;資料庫樂觀鎖和悲觀鎖;資料庫的隔離級别
五、計算機基礎
1計算機網絡
TCP的4次握手
TCP為什麼建立連接配接、為什麼可靠、連接配接和釋放的過程(三次握手、四次揮手)
DNS的尋址過程、負載均衡和反向代理模式的優缺點
2作業系統
線程和程序的概念與差別
Socket程式設計的三種通信模型:BIO、NIO、AIO
記憶體碎片的處理、頁式存儲;如何提高并發性、死鎖的産生和解決
六、資料結構與算法
1二叉樹、哈希表
Java中hashmap
treeMap和treeSet在排序時如何比較元素
如何列印二叉樹每層的節點,深度,層序周遊
二叉樹任意兩個節點之間路徑的最大長度
B+樹和B-樹;二叉樹Z字型周遊
2連結清單、數組、堆和棧、隊
3算法:LRU算法、壓縮URL
七、設計模式
Java中的23種設計模式:大體分為三類