一面:
- hashmap,怎么擴容,怎么處理數據沖突?怎么高效率的實現數據遷移?
- Linux的共享內存如何實現,大概說了一下。
- Linux 中的用戶模式和內核模式是什么含意?
- 在 Java 中 Lock 接口比 synchronized 塊的優勢是什么?你需要實現一個高效的緩存,它允 許多個用戶讀,但只允許一個用戶寫,以此來保持它的完整性,你會怎樣去實現它?
- socket網絡編程,說一下TCP的三次握手和四次揮手
- 同步IO和異步IO的區別?
- Java GC機制?GC Roots有哪些?
- 如和判斷一個對象是否存活?(或者 GC 對象的判定方法)
- 紅黑樹講一下,五個特性,插入刪除操作,時間復雜度?
- 快排的時間復雜度,最壞情況呢,最好情況呢,堆排序的時間復雜度呢,建堆的復雜度是多少
第一輪非常重要,第一面能通過,后續被錄用的可能性就比較高
二面
- 自我介紹,主要講講做了什么和擅長什么
- 設計模式了解哪些?
- Java 中什么叫單例設計模式?請用 Java 寫出線程安全的單例模式
- 什么是元數據?元數據分為哪些類型?包括哪些內容?與 cluster 相關的元數據
- AtomicInteger怎么實現原子修改的?
- RabbitMQ 上的一個 queue 中存放的 message 是否有數量限制?
- ConcurrentHashMap 在Java7和Java8中的區別?為什么Java8并發效率更好?什么情況下用HashMap,什么情況用ConcurrentHashMap?
- redis數據結構?
- redis數據淘汰機制?
- Redis 集群方案應該怎么做?都有哪些方案?
三面(約五十分鐘)
- mysql實現事務的原理(MVCC)
- MySQL 中控制內存分配的全局參數,有哪些?
- Redis 有哪些適合的場景?
- 有哪些數據庫優化方面的經驗?MySQL數據主從同步是如何實現的?
- MySQL索引的實現,innodb的索引,b+樹索引是怎么實現的,為什么用b+樹做索引節點,一個節點存了多少數據,怎么規定大小,與磁盤頁對應。
- 如果Redis有1億個key,使用keys命令是否會影響線上服務?
- Redis的持久化方式,aod和rdb,具體怎么實現,追加日志和備份文件,底層實現原理的話知道么?
- 遇到最大困難是什么?怎么克服?
- 未來的規劃是什么?
- 你想問我什么?
最后
面試題文檔來啦,內容很多,485頁!
由于筆記的內容太多,沒辦法全部展示出來,下面只截取部分內容展示。有想獲取完整版筆記的朋友,點贊后點擊這里免費領取哦
1111道Java工程師必問面試題
MyBatis 27題 + ZooKeeper 25題 + Dubbo 30題:
Elasticsearch 24 題 +Memcached +?Redis 40題:
Spring 26 題+ 微服務 27題+ Linux 45題:
Java面試題合集:
**
[外鏈圖片轉存中…(img-a3tCav0h-1625205257859)]
Java面試題合集: