Java基礎:java
面向對象和麪向過程的區別linux
Java的四個基本特性(抽象、封裝、繼承,多態)面試
Overload和Override的區別算法
構造器Constructor是否可被override數據庫
訪問控制符public,protected,private,以及默認的區別設計模式
是否能夠繼承String類數組
String和StringBuffer、StringBuilder的區別安全
hashCode和equals方法的關係性能優化
抽象類和接口的區別cookie
自動裝箱與拆箱
什麼是泛型、爲何要使用以及泛型擦除
Java中的集合類及關係圖
HashMap實現原理(看源代碼)
HashTable實現原理(看源代碼)
HashMap和HashTable區別
HashTable如何實現線程安全(看源代碼)
ArrayList和vector區別(看源代碼)
ArrayList和LinkedList區別及使用場景
Collection和Collections的區別
Concurrenthashmap實現原理(看源代碼)
Error、Exception區別
Unchecked Exception和Checked Exception,各列舉幾個
Java中如何實現代理機制(JDK、CGLIB)
多線程的實現方式
線程的狀態轉換
如何中止一個線程
什麼是線程安全
如何保證線程安全
Synchronized如何使用
synchronized和Lock的區別
多線程如何進行信息交互
sleep和wait的區別(考察的方向是是否會釋放鎖)
多線程與死鎖
如何才能產生死鎖
什麼叫守護線程,用什麼方法實現守護線程
Java線程池技術及原理
java併發包concurrent及經常使用的類
volatile關鍵字
Java中的NIO,BIO,AIO分別是什麼
IO和NIO區別
序列化與反序列化
常見的序列化協議有哪些
內存溢出和內存泄漏的區別
Java內存模型及各個區域的OOM,如何重現OOM
出現OOM如何解決
用什麼工具能夠查出內存泄漏
Java內存管理及回收算法
Java類加載器及如何加載類(雙親委派)
xml解析方式
Statement和PreparedStatement之間的區別
設計模式:
設計模式的六大原則
經常使用的設計模式
用一個設計模式寫一段代碼或畫出一個設計模式的UML
如何理解MVC
高內聚,低耦合方面的理解
算法:
深度優先、廣度優先算法
排序算法及對應的時間複雜度和空間複雜度
寫一個排序算法
查找算法
B+樹和二叉樹查找時間複雜度
KMP算法、hash算法
經常使用的hash算法有哪些
如何判斷一個單鏈表是否有環?
給你一萬個數,如何找出裏面全部重複的數?用全部你能想到的方法,時間複雜度和空間複雜度分別是多少?
給你一個數組,如何裏面找到和爲K的兩個數?
100000個數找出最小或最大的10個?
一堆數字裏面繼續去重,要怎麼處理?
數據結構:
隊列、棧、鏈表、樹、堆、圖
編碼實現隊列、棧
Linux:
linux經常使用命令
如何查看內存使用狀況
Linux下如何進行進程調度
操做系統:
操做系統什麼狀況下會死鎖
產生死鎖的必要條件
死鎖預防
數據庫:
範式
數據庫事務隔離級別
數據庫鏈接池的原理
樂觀鎖和悲觀鎖
如何實現不一樣數據庫的數據查詢分頁
SQL注入的原理,如何預防
數據庫索引的實現(B+樹介紹、和B樹、R樹區別)
SQL性能優化
數據庫索引的優缺點以及何時數據庫索引失效
Redis的存儲結構
網絡:
OSI七層模型以及TCP/IP四層模型
HTTP和HTTPS區別
HTTP報文內容
get提交和post提交的區別
get提交是否有字節限制,若是有是在哪限制的
TCP的三次握手和四次揮手
session和cookie的區別
HTTP請求中Session實現原理
redirect與forward區別
DNS
TCP和UDP區別
安全:
若是客戶端不斷的發送請求鏈接會怎樣
DDos攻擊
DDos預防
那怎麼知道鏈接是惡意的呢?多是正常鏈接
歡迎工做一到十年的Java工程師朋友們加入Java進階高級架構裙:858327216
本羣提供免費的學習指導 架構資料 以及免費的解答
不懂得問題均可以在本羣提出來 以後還會有職業生涯規劃以及面試指導