一线大厂面试精选:JVM+RabbitMQ+Mybatis+Redis+分布式+微服务

Source

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大厂精选高频面试题,我将这些面试题搜集之后整理出了相应的答案吗