2020年BAT面試題必問彙總:JVM+微服務+多線程+鎖+高併發性能

1.jpg

一、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 哈希槽的概念?

(文末附面試答案)

11223715-cb68facbc5fd6243.png

二、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、當一個服務接口有多種實現時怎麼做?

(文末附面試答案)

三、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 微服務?

四、Spring Cloud 面試題

1、什麼是Spring Cloud?
2、使用Spring Cloud有什麼優勢?
3、服務註冊和發現是什麼意思?Spring Cloud如何實現?
4、負載平衡的意義什麼?
5、什麼是Hystrix?它如何實現容錯?
6、什麼是Hystrix斷路器?我們需要它嗎?
7、什麼是Netflix Feign?它的優點是什麼?
8、什麼是Spring Cloud Bus?我們需要它嗎?

五、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 中都有哪些引用類型?

(文末附面試答案)

六、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()方法?

面試題答案彙總

image

上圖中的資料都是我精心錄製視頻,感興趣的可以到我的Java學習圈子: 免費獲取。希望能夠在你接下來即將應對的的面試過程中能夠盡到一份綿薄之力。

發佈了113 篇原創文章 · 獲贊 68 · 訪問量 7萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章