1.jdk jre是什麼
jdk基礎開發包 jre java運行環境,Java程序通過javac編譯生成字符行(.class)文件,給jvm編譯成機器能看懂的機器語言,意義在於將java的編譯與系統解耦開,實現在不同系統環境下的運行
2.內部類配合接口多繼承
3.多態及向下轉型
4.hashmap底層
hashmap底層可以理解爲就是一個數組,map對象通過hash取模以鏈表的形式儲存在對應的數組位置中
5.fast-failed機制
當集合發生非線程安全時拋出異常
6.BIO NIO AIO
同步與異步:用戶盯着消息的完成情況(同步)系統盯着消息的完成情況(異步)
阻塞與非阻塞:用戶等着消息完成就不幹其他事(阻塞)用戶不等消息完成就開始做其他事情(非阻塞)
7.零拷貝
數據直接在堆外內存拷貝
8.netty
nio底層通信框架(適用場景是底層)
9.消息隊列和棧
消息隊列先進先出,棧先進後出
10.AES和RSA
AES對稱加密,通信雙方用同樣的祕鑰加密解密
RSA非對稱加密,通信雙方用各自的私鑰加密,公鑰驗籤
11.jvm內存模型
年輕代,年老代,持久代
12.tcp三次握手四次分手
tcp三次握手四次分手整個過程具有原子性不可切分
13.http和tcp
http是tcp的封裝,http是應用層協議
14.悲觀鎖,樂觀鎖,無鎖算法
悲觀鎖:先鎖,認爲一定有寫的爭搶,適合頻繁寫的情況
樂觀鎖:先不鎖,認爲沒有寫的爭搶,適合寫比較少的情況
無鎖:樂觀鎖的一種實現,判斷加鎖對象的版本號判斷是否與期望版本號相同來實現數據的排他性
15.線程池
爲線程提供緩衝區,限制同時運行線程的數量,同時有維持線程降低創建銷燬性能消耗的作用
16.消息隊列
什麼時候取消息由消費者決定(客戶端也可以作爲消息的訂閱者),避免消費能力小於生產能力,並解耦了服務請求者和服務提供者
17.linux
一切皆文件,根目錄(即“/”目錄)下文件目錄的解耦思想,熟悉常用命令
18.三大範式
原子性,部分函數依賴,傳遞依賴
19.常用sql關鍵字
group by,order by,limit,distinct,explain,case when then else
20.join
內連接:不保留驅動表的空匹配
外鏈接:保留驅動表的空匹配
左外連接:左邊爲驅動表
21.mysql分表分庫,主從複製,分佈式的思考
22.redis
儲存“熱”數據,內存數據庫,避免磁盤io(實際上默認會持久化)
23.紅黑樹
消除二叉樹偏向一邊的問題的解決方案
24.nginx和lvs
負載均衡方案
25.面向服務框架
dubbo,spring boot,spring cloud
26.瞭解分佈式各領域的主流技術優勢,適用場景
java面試手記
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章
Java面試 | 002
Java貓說
2019-02-24 21:05:12
Java项目面试实操 提升大厂面试成功率
wy53780
2020-04-23 14:14:04
玩转算法系列--图论精讲 面试升职必备(Java版)
wy53780
2020-04-23 14:03:23
玩转Java并发工具,精通JUC,成为并发多面手
wy53780
2020-04-23 13:56:08
线程八大核心+Java并发底层原理精讲(Java并发核心知识体系精讲)
wy53780
2020-04-23 13:55:55
Java通用型支付+电商平台双系统实战
wy53780
2020-04-23 13:54:42
【躍遷之路】【734天】程序員高效學習方法論探索系列(實驗階段491-2019.2.24)
Wall_Breaker
2019-02-24 23:25:10
Java是怎麼運行的?
勤思
2019-02-24 22:52:36
sql語法、關係建模
死瘦宅
2019-02-24 22:35:22
MySQL 事務、函數、觸發器、數據庫備份、權限管理
死瘦宅
2019-02-24 22:35:12
Python與家國天下
豌豆花下貓
2019-02-24 22:22:40
《從0到1學習Flink》—— Flink 讀取 Kafka 數據批量寫入到 MySQL
zhisheng
2019-02-24 21:04:11
Redis | 001能做什麼?
Java貓說
2019-02-24 21:03:51
java中具有繼承關係的類及其對象初始化順序
Linus脫襪子
2019-02-24 19:55:05
《劍指offer》分解讓複雜問題更簡單
ConardLi
2019-02-24 22:55:07