java 後端面試題
一、List 和 Set 的區別java
二、HashSet 是如何保證不重複的面試
三、HashMap 是線程安全的嗎,爲何不是線程安全的(最好畫圖說明多線程環境下不安全)?redis
四、HashMap 的擴容過程算法
五、HashMap 1.7 與 1.8 的 區別,說明 1.8 作了哪些優化,如何優化的?數據庫
六、對象的四種引用後端
七、Java獲取反射的三種方法數組
八、Java反射機制緩存
九、Arrays.sort 和 Collections.sort 實現原理 和區別安全
十、LinkedHashMap 的應用數據結構
十一、Cloneable 接口實現原理
十二、異常分類以及處理機制
1三、wait 和 sleep 的區別
1四、數組在內存中如何分配
Kafka面試專題及答案
一、Kafka 的設計時什麼樣的呢?
二、數據傳輸的事物定義有哪三種?
三、Kafka 判斷一個節點是否還活着有那兩個條件?
四、producer 是否直接將數據發送到 broker 的 leader(主節點)?
五、Kafa consumer 是否能夠消費指定分區消息?
六、Kafka 消息是採用 Pull 模式,仍是 Push 模式?
七、Kafka 存儲在硬盤上的消息格式是什麼?
八、Kafka 高效文件存儲設計特色:
九、Kafka 與傳統消息系統之間有三個關鍵區別
十、Kafka 建立 Topic 時如何將分區放置到不一樣的 Broker 中
十一、Kafka 新建的分區會在哪一個目錄下建立
十二、partition 的數據如何保存到硬盤
1三、kafka 的 ack 機制
1四、Kafka 的消費者如何消費數據
1五、消費者負載均衡策略
1六、數據有序
1七、kafaka 生產數據時數據的分組策略
Redis面試專題
一、什麼是 Redis?簡述它的優缺點?
二、Redis 與 memcached 相比有哪些優點?
三、Redis 支持哪幾種數據類型?
四、Redis 主要消耗什麼物理資源?
五、Redis 有哪幾種數據淘汰策略?
六、Redis 官方爲何不提供 Windows 版本?
七、一個字符串類型的值能存儲最大容量是多少?
八、爲何 Redis 須要把全部數據放到內存中?
九、Redis 集羣方案應該怎麼作?都有哪些方案?
十、Redis 集羣方案什麼狀況下會致使整個集羣不可用?
十一、MySQL 裏有 2000w 數據,redis 中只存 20w 的數據,如何保證 redis 中的數據都是熱點數據?
十二、Redis 有哪些適合的場景?
1三、Redis 支持的 Java 客戶端都有哪些?官方推薦用哪一個?
1四、Redis 和 Redisson 有什麼關係?
1五、Jedis 與 Redisson 對比有什麼優缺點?
1六、說說 Redis 哈希槽的概念?
1七、Redis 集羣的主從複製模型是怎樣的?
1八、Redis 集羣會有寫操做丟失嗎?爲何?
1九、Redis 集羣之間是如何複製的?
20、Redis 集羣最大節點個數是多少?
2一、Redis 集羣如何選擇數據庫?
2二、Redis 中的管道有什麼用?
2三、怎麼理解 Redis 事務?
2四、Redis 事務相關的命令有哪幾個?
2五、Redis key 的過時時間和永久有效分別怎麼設置?
2六、Redis 如何作內存優化?
2七、Redis 回收進程如何工做的?
2八、加鎖機制
2九、鎖互斥機制
30、watch dog 自動延期機制
3一、可重入加鎖機制
3二、釋放鎖機制
3三、上述 Redis 分佈式鎖的缺點
3四、使用過 Redis 分佈式鎖麼,它是怎麼實現的?
3五、使用過 Redis 作異步隊列麼,你是怎麼用的?有什麼缺點?
3六、什麼是緩存穿透?如何避免?什麼是緩存雪崩?何如避免?
3七、redis 和 memcached 什麼區別?爲何高併發下有時單線程的 redis 比多線程的memcached 效率要高?
3八、redis 主從複製如何實現的?redis 的集羣模式如何實現?redis 的 key 是如何尋址的?
3九、使用 redis 如何設計分佈式鎖?說一下實現思路?使用 zk 能夠嗎?如何實現?這兩種有什麼區別?
40、知道 redis 的持久化嗎?底層如何實現的?有什麼優勢缺點?
4一、redis 過時策略都有哪些?LRU 算法知道嗎?寫一下 java 代碼實現?
4二、緩存穿透、緩存擊穿、緩存雪崩解決方案?
4三、在選擇緩存時,何時選擇 redis,何時選擇 memcached?
4四、緩存與數據庫不一致怎麼辦?
4五、主從數據庫不一致如何解決?
4六、Redis 常見的性能問題和解決方案
4七、Redis 的數據淘汰策略有哪些?
4八、Redis 當中有哪些數據結構?
4九、假如 Redis 裏面有 1 億個 key,其中有 10w 個 key 是以某個固定的已知的前綴開頭的,如何將它們所有找出來?
50、使用 Redis 作過異步隊列嗎,是如何實現的?
5一、Redis 如何實現延時隊列?
微服務面試專題及答案
一、先後端分離是如何作的
二、微服務哪些框架
三、說說 RPC 的實現原理
四、說說 Dubbo 的實現原理
五、怎麼理解 RESTful
最全JVM面試專題
內存模型以及分區,須要詳細到每一個區放什麼。
堆裏面的分區:Eden,survival (from+ to),老年代,各自的特色。
對象建立方法,對象的內存分配,對象的訪問定位。
GC 的兩種斷定方法:
SafePoint 是什麼
在什麼地方,若是讓你優化收集方法,有什麼思路?
GC 收集器有哪些?CMS 收集器與 G1 收集器的特色。
Minor GC 與 Full GC 分別在何時發生?
幾種經常使用的內存調試工具:jmap、jstack、jconsole、jhat
11.JVM 內存分哪幾個區,每一個區的做用是什麼?
12.如和判斷一個對象是否存活?(或者 GC 對象的斷定方法)
13.簡述 java 垃圾回收機制?
14.java 中垃圾收集的方法有哪些?
15.java 內存模型
16.java 類加載過程?
簡述 java 類加載機制?
19.什麼是類加載器,類加載器有哪些?
20.簡述 java 內存分配與回收策率以及 Minor GC 和Major GC
因爲篇幅有限,須要答案的小夥伴能夠加vx:13272413561 來獲取面試答案哦~