JAVA 集合
1.ArrayList 和 Vector 的區別。
2.說說 ArrayList,Vector, LinkedList 的存儲性能和特性。
3.快速失敗 (fail-fast) 和安全失敗 (fail-safe) 的區別是什么?
4.hashmap 的數據結構。
5.HashMap 的工作原理是什么?
6.Hashmap 什么時候進行擴容呢?
7.List、Map、Set 三個接口,存取元素時,各有什么特點?
8.Set 里的元素是不能重復的,那么用什么方法來區分重復與否呢? 是用 == 還是 equals()? 它們 有何區別?
9.兩個對象值相同 (x.equals(y) == true),但卻可有不同的 hash code,這句話對不對?
10.heap 和 stack 有什么區別。
JVM
1.GC 是什么? 為什么要有 GC?
2.簡述 Java 垃圾回收機制。
3.如何判斷一個對象是否存活?(或者 GC 對象的判定方法)
4.垃圾回收的優點和原理。并考慮 2 種回收機制。
5.垃圾回收器的基本原理是什么?垃圾回收器可以馬上回收內存嗎?有什么辦法主動通知虛擬機行垃圾回收?
6.Java 中會存在內存泄漏嗎,請簡單描述。
7.System.gc() 和 Runtime.gc() 會做什么事情?
8.如果對象的引用被置為 null,垃圾收集器是否會立即釋放對象占用的內存?
9.什么是分布式垃圾回收(DGC)?它是如何工作的?
10.串行(serial)收集器和吞吐量(throughput)收集器的區別是什么?
MyBatis
1.什么是 Mybatis?
2.Mybaits 的優點
3.MyBatis 框架的缺點
4.MyBatis 框架適用場合
5.MyBatis 與 Hibernate 有哪些不同?
6.#{}和${}的區別是什么?
7.當實體類中的屬性名和表中的字段名不一樣 ,怎么辦 ?
8.模糊查詢 like 語句該怎么寫?
9.通常一個 Xml 映射文件,都會寫一個 Dao 接口與之對應,請問,這個 Dao 接口的工作原理是么?Dao 接口里的方法,參數不同時,方法能重載嗎?
10.Mybatis 是如何進行分頁的?分頁插件的原理是什么?
redis
1.什么是 redis?
2.Reids 的特點
3.Redis 支持的數據類型
4.Redis 是單進程單線程的
5.Memcache 與 Redis 的區別都有哪些
6.redis 相比 memcached 有哪些優勢?
7.讀寫分離模型
8.數據分片模型
9.Redis 的回收策略
10.使用 Redis 有哪些好處?
RabbitMQ
1.什么是 rabbitmq
2.為什么要使用 rabbitmq
3.使用 rabbitmq 的場景
4.如何確保消息正確地發送至 RabbitMQ? 如何確保消息接收方消費了消息?
5.如何避免消息重復投遞或重復消費?
6.消息基于什么傳輸?
7.消息如何分發?
8.消息怎么路由?
9.如何確保消息不丟失?
10.使用 RabbitMQ 有什么好處?
微服務
1.什么是 Spring Cloud?
2.使用 Spring Cloud 有什么優勢?
3.服務注冊和發現是什么意思?Spring Cloud 如何實現?
4.負載平衡的意義什么?
5.什么是 Hystrix?它如何實現容錯?
6.什么是 Hystrix 斷路器?我們需要它嗎?
7.什么是 Netflix Feign?它的優點是什么?
8.什么是 Spring Cloud Bus?我們需要它嗎?
分布式
1.ZooKeeper 是什么?
2.ZooKeeper 提供了什么?
3.Zookeeper 文件系統
4.四種類型的znode
5.Zookeeper 通知機制
6.Zookeeper 做了什么?
7.zk 的命名服務(文件系統)
8.zk 的配置管理(文件系統、通知機制)
9.Zookeeper 集群管理(文件系統、通知機制)
10.Zookeeper 分布式鎖(文件系統、通知機制)
以上是小編總結的部分2019大廠精選高頻面試題