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 来获取面试答案哦~