-
int 范圍?float 范圍?
-
hashCode 與 equals,什么關系?
-
String StringBuffer 和 StringBuilder 的區別是什么?String 為什么是不可變的?
-
Java 序列化中如果有些欄位不想進行序列化 怎么辦?
-
構造器 Constructor 是否可被 override?
-
java 例外體系?RuntimeException Exception Error 的區別,舉常見的例子
-
字符型常量和字串常量的區別?
-
在呼叫子類構造方法之前會先呼叫父類沒有引數的構造方法,其目的是?
2 集合
集合這塊關注一下 1.8 的實作吧,和 1.7 相比變化了很多
-
ArrayList和linkedList的區別?
-
堆是怎么存盤的,插入是在哪里?
-
HashMap和HashTable的區別?講一下 hashMap 原理,hashMap 可以并發讀么?并發寫會有什么問題?
-
集合類存放于 Java.util 包中, 主要有幾種介面?
-
Array與ArrayList有什么不一樣?簡單介紹下 ArrayList 怎么實作,加操作、取值操作,什么時候擴容?
-
說說ConcurrentHashMap?頭插法還是尾插法?擴容怎么做?
-
集合在迭代的程序中,插入或洗掉資料會怎樣?
3 并發
-
notify()和notifyAll()有什么區別?
-
volatile 是什么?可以保證有序性嗎?
-
為什么wait, notify 和 notifyAll這些方法不在thread類里面?
-
SynchronizedMap和ConcurrentHashMap有什么區別?
-
什么是執行緒安全?Vector是一個執行緒安全類嗎?
-
執行緒行程和執行緒的區別?并行和并發的區別?了解協程么?行程間如何通信:行程 A 想讀取行程 B 的主存怎么辦?執行緒間通信?執行緒的生命周期有哪些狀態?怎么轉換?wait 和 sleep 有什么區別?什么情況下會用到 sleep?怎么停止執行緒?怎么控制多個執行緒按序執行?
-
說說自己是怎么使用 synchronized 關鍵字,在專案中用到了嗎?synchronized關鍵字最主要的三種使用方式
-
為什么要用 join()方法?
-
什么是多執行緒中的背景關系切換?
-
死鎖與活鎖的區別,死鎖與饑餓的區別?
-
Java 中用到的執行緒調度演算法是什么?
-
什么是原子操作?在 Java Concurrency API 中有哪些原子類(atomic classes)?
-
什么是阻塞佇列?阻塞佇列的實作原理是什么?如何使用阻塞佇列來實作生產者-消費者
-
模型?
-
AQS了解 AQS 么?講講底層實作原理AQS 有那些實作?講講 AtomicInteger 的底層實作
-
為什么我們呼叫 start()方法時會執行 run()方法,為什么我們不能直接呼叫 run()方
-
法?
-
Java 中你怎樣喚醒一個阻塞的執行緒?
-
什么是執行緒組,為什么在 Java 中不推薦使用?
4 IO
IO 這塊我不熟,沒有多講
-
了解 NIO 么?講講
-
NIO 與 BIO 有什么區別?
-
了解 Netty 原理么
JVM
1 記憶體與 GC
-
GC 是什么?為什么要有 GC?
-
jvm 記憶體區域分布?gc 發生在哪些部分?
-
你能保證 GC 執行嗎?
-
怎么獲取 Java 程式使用的記憶體?堆使用的百分比?
-
介紹一下垃圾回收程序,
-
垃圾回收演算法的了解,現在用的什么回收演算法?
-
什么時候會觸發FullGC
-
現在使用的什么垃圾回收器?知道哪些?講講 G1
-
容器的記憶體和 jvm 的記憶體有什么關系?引數怎么配置?
2 例外與調優
-
線上有什么 jvm 引數調整?
-
oom 問題排查思路
-
線上問題排查,突然長時間未回應,怎么排查,oom
-
cpu 使用率特別高,怎么排查?通用方法?定位代碼?cpu高的原因?
-
頻繁 GC 原因?什么時候觸發 FGC?
-
怎么獲取 dump 檔案?怎么分析?
3 類加載器
-
怎么實作自己的類加載器?
-
類加載程序?
-
初始化順序?
Spring
-
不同版本的 Spring Framework 有哪些主要功能?
-
講一下 ioc、aop
-
ioc 怎么防止回圈依賴
-
aop 的實作原理、動態代理程序
-
區分 BeanFactory 和 ApplicationContext?
-
spring bean 容器的生命周期是什么樣的?
-
@Autowired 注解有什么用?
-
使用 Spring 訪問 Hibernate 的方法有哪些?
-
Spring 處理請求的程序?
Redis
-
為什么要用 redis /為什么要用快取(高性能、高并發)
-
redis 常見資料結構以及使用場景分析(String、Hash、List、Set、Sorted Set)
-
Redis 常見例外及解決方案(快取穿透、快取雪崩、快取預熱、快取降級)
-
分布式環境下常見的應用場景(分布式鎖、分布式自增 ID)
-
Redis集群方案應該怎么做?都有哪些方案?
-
Redis 集群的主從復制模型是怎樣的?
-
redis 持久化機制(怎么保證 redis 掛掉之后再重啟資料可以進行恢復)
-
如何解決 Redis 的并發競爭 Key 問題?
-
如何保證快取與資料庫雙寫時的資料一致性?
-
redis 的 zset 的使用場景?底層實作?為什么要用跳表?
MySQL
-
事務的并發?事務隔離級別,每個級別會引發什么問題,MySQL默認是哪個級別?
-
MySQL的MyISAM與InnoDB兩種存盤引擎在,事務、鎖級別,各自的適用場景?
-
有哪些鎖(樂觀鎖悲觀鎖),select 時怎么加排它鎖?
-
sql查詢陳述句確定創建哪種型別的索引?如何優化查詢?
-
什么是臨時表,臨時表什么時候洗掉?
-
mysql 臟頁?
-
分庫分表有哪些策略?怎么保證 id 唯一?
-
非關系型資料庫和關系型資料庫區別,優勢比較?
-
資料庫的讀寫分離、主從復制,主從復制分析的 7 個問題?
-
MySQL都有什么鎖,死鎖判定原理和具體場景,死鎖怎么解決?
-
資料庫崩潰時事務的恢復機制(REDO日志和UNDO日志)?
-
對 uuid 的理解?知道哪些 GUID、Random 演算法?
-
主鍵選隨機 id、uuid 還是自增 id?為什么?主鍵有序無序對資料庫的影響?
-
主從復制的程序?復制原理?怎么保證強一致性?
Kafka
-
生產者和消費者的命令列是什么?
-
Kafka 怎么保證資料可靠性?
-
講講 kafka 維護消費狀態跟蹤的方法
-
為什么需要訊息系統,mysql 不能滿足需求嗎?
-
Kafka 判斷一個節點是否還活著有那兩個條件?
-
Kafka 與傳統 MQ 訊息系統之間有三個關鍵區別?
-
kafka 分布式(不是單機)的情況下,如何保證訊息的順序消費?
文末java面試題,進階技術大綱,架構資料分享
我將這三次阿里面試的題目全部分專題整理出來,并附帶上詳細的答案決議,生成了一份PDF檔案,有興趣的朋友們可以點擊這里即可免費領取
- 第一個要分享給大家的就是演算法和資料結構

- 第二個就是資料庫的高頻知識點與性能優化

- 第三個則是并發編程(72個知識點學習)

- 最后一個是各大JAVA架構專題的面試點+決議+我的一些學習的書籍資料

第二個就是資料庫的高頻知識點與性能優化
[外鏈圖片轉存中…(img-Kap1VpXJ-1628066634163)]
- 第三個則是并發編程(72個知識點學習)
[外鏈圖片轉存中…(img-eX4x9ECI-1628066634165)]
- 最后一個是各大JAVA架構專題的面試點+決議+我的一些學習的書籍資料
[外鏈圖片轉存中…(img-sPqc2TGf-1628066634168)]
還有更多的Redis、MySQL、JVM、Kafka、微服務、Spring全家桶等學習筆記這里就不一一列舉出來
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/292173.html
標籤:其他
上一篇:5.【kafka運維】生產者消費組壓力測驗運維(5)
下一篇:串口服務器單芯片 物聯網網關芯片
