1.Redis 面試題
1、什么是 Redis?.
2、Redis 的數據類型?
3、使用 Redis 有哪些好處?
4、Redis 相比 Memcached 有哪些優勢?
5、Memcache 與 Redis 的區別都有哪些?
6、Redis 是單進程單線程的?
7、一個字符串類型的值能存儲最大容量是多少?
8、Redis 的持久化機制是什么?各自的優缺點?
9、Redis 常見性能問題和解決方案:
10、redis 過期鍵的刪除策略?
11、Redis 的回收策略(淘汰策略)?
12、為什么 edis 需要把所有數據放到內存中?
13、Redis 的同步機制了解么?
14、Pipeline 有什么好處,為什么要用 pipeline?
15、是否使用過 Redis 集群,集群的原理是什么?
16、Redis 集群方案什么情況下會導致整個集群不可用?
17、Redis 支持的 Java 客戶端都有哪些?官方推薦用哪個?
18、Jedis 與 Redisson 對比有什么優缺點?
19、Redis 如何設置密碼及驗證密碼?
20、說說 Redis 哈希槽的概念?
2.Dubbo 面試題
1、Dubbo是什么?
2、為什么要用Dubbo?
3、Dubbo 和 Spring Cloud 有什么區別?
4、dubbo都支持什么協議,推薦用哪種?
5、Dubbo需要 Web 容器嗎?
6、Dubbo內置了哪幾種服務容器?
7、Dubbo里面有哪幾種節點角色?
8、畫一畫服務注冊與發現的流程圖
9、Dubbo默認使用什么注冊中心,還有別的選擇嗎?
10、Dubbo有哪幾種配置方式?
11、Dubbo 核心的配置有哪些?
12、在 Provider 上可以配置的 Consumer 端的屬性有哪些?
13、Dubbo啟動時如果依賴的服務不可用會怎樣?
14、Dubbo推薦使用什么序列化框架,你知道的還有哪些?
15、Dubbo默認使用的是什么通信框架,還有別的選擇嗎?
16、Dubbo有哪幾種集群容錯方案,默認是哪種?
17、Dubbo有哪幾種負載均衡策略,默認是哪種?
18、注冊了多個同一樣的服務,如果測試指定的某一個服務呢?
19、Dubbo支持服務多協議嗎?
20、當一個服務接口有多種實現時怎么做?
3.Spring Boot 面試題
1、什么是 Spring Boot?
2、Spring Boot 有哪些優點?
3、什么是 JavaConfig?
4、如何重新加載 Spring Boot 上的更改,而無需重新啟動服務器?
5、Spring Boot 中的監視器是什么?
6、如何在 Spring Boot 中禁用 Actuator 端點安全性?
7、如何在自定義端口上運行 Spring Boot 應用程序?
8、什么是 YAML?
9、如何實現 Spring Boot 應用程序的安全性?
10、如何集成 Spring Boot 和 ActiveMQ?
11、如何使用 Spring Boot 實現分頁和排序?
12、什么是 Swagger?你用 Spring Boot 實現了它嗎?
13、什么是 Spring Profiles?
14、什么是 Spring Batch?
15、什么是 FreeMarker 模板?
16、如何使用 Spring Boot 實現異常處理?
17、您使用了哪些 starter maven 依賴項?
18、什么是 CSRF 攻擊?
19、什么是 WebSockets?
20、什么是 AOP?
21、什么是 Apache Kafka?
22、我們如何監視所有 Spring Boot 微服務?
4.Spring Cloud 面試題
1、什么是Spring Cloud?
2、使用Spring Cloud有什么優勢?
3、服務注冊和發現是什么意思?Spring Cloud如何實現?
4、負載平衡的意義什么?
5、什么是Hystrix?它如何實現容錯?
6、什么是Hystrix斷路器?我們需要它嗎?
7、什么是Netflix Feign?它的優點是什么?
8、什么是Spring Cloud Bus?我們需要它嗎?
5.JVM面試題
1、JVM三大性能調優參數,JVM 幾個重要的參數
2、JVM調優
3、JVM內存管理,JVM的常見的垃圾收集器,G1垃圾收集器。GC調優,Minor GC ,Full GC 觸發條件
4、java內存模型
5、Java垃圾回收機制
6、jvm怎樣 判斷一個對象是否可回收,怎樣的對象才能作為GC root
7、OOM說一下?怎么排查?哪些會導致OOM? OOM出現在什么時候
8、什么是Full GC?GC? major GC? stop the world
9、描述JVM中一次full gc過程。
10、JVM中類加載機制,類加載過程,什么是雙親委派模型?,類加載器有哪些
11、如何判斷是否有內存泄露?定位 Full GC 發生的原因,有哪些方式?
12、Java 中都有哪些引用類型?
6.Java 並發編程
1、在 java 中守護線程和本地線程區別?
2、線程與進程的區別?
3、什么是多線程中的上下文切換?
4、死鎖與活鎖的區別,死鎖與飢餓的區別?
5、Java 中用到的線程調度算法是什么?
6、什么是線程組,為什么在 Java 中不推薦使用?
7、為什么使用 Executor 框架?
8、在 Java 中 Executor 和 Executors 的區別?
9、如何在 Windows 和 Linux 上查找哪個線程使用的 CPU 時間最長?
10、什么是原子操作?在 Java Concurrency API 中有哪些原子類(atomic classes)?
11、Java Concurrency API 中的 Lock 接口(Lock interface)是什么?對比同步它有什么優勢?
12、什么是 Executors 框架?
13、什么是阻塞隊列?阻塞隊列的實現原理是什么?如何使用阻塞隊列來實現生產者-消費者模型?
14、什么是 Callable 和 Future?
15、什么是 FutureTask?使用 ExecutorService 啟動任務。
16、什么是並發容器的實現?
17、多線程同步和互斥有幾種實現方法,都是什么?
18、什么是競爭條件?你怎樣發現和解決競爭?
19、你將如何使用 thread dump?你將如何分析 Thread dump?165
20、為什么我們調用 start()方法時會執行 run()方法,為什么我們不能直接調用 run()方法?