真实面试总结

1:熟悉常见垃圾回收算法、垃圾回收器及JVM调优

gc要做的三件事:

哪些内存需要回收

什么时候回收

怎么回收

垃圾收集算法:

标记清除:效率低,内存碎片多

复制:eden--survivor

标记整理

分代算法

垃圾收集器:

新生代:

serial(单线程)

parNew(多线程)

parallel scavenge(吞吐量收集器,适用批量处理,订单处理,工资支付,科学计算)

老年代

serial old

parallel old

cms

整堆收集器

g1

并行(多线程一起处理,用户线程仍需要等待,STW):

parNew

parallel scavenge

parallel old

并发(用户现场和垃圾回收线程并发执行,交替执行)

CMS(低延迟)

G1

minor gc

新生代的垃圾回收,比较频繁,速度很快

full gc

老年代回收,会伴随minor gc,执行很慢

jvm调优

目的,减少内存使用,减少full gc次数,减少stw时间

2:熟悉多进程,多线程并发解决方案和编程思想

项目里用到了哪些设计模式

消息队列的选型,怎么保证消息有序性,不丢失数据,不重复消费

kafka版本各个版本特点

0.7,上古”版本,只提供了基础的消息队列功能,还没有提供副本机制

0.8,增加了副本机制,消费偏移位置 offset 由原来的保存在 zookeeper 改为保存在 kafka 本身,旧版本的生产者及消费者API连接的是Zookeeper,而新版本则连接的是Broker,采用异步批量方式发送消息

0.9,Consumer API,使用方式也是从连接Zookeeper切到了连接Broker,安全认证、授权管理、数据加密等方面都得到了支持,引入了新的组件 Kafka Connect ,用于实现Kafka与其他外部系统之间的数据抽取

1.0:引入了 Kafka Streams

1.1:主要是实现了Producer端的消息幂等性,以及事务特性

2.1

<dependency>

<groupId>org.apache.kafka</groupId>

<artifactId>kafka_2.11</artifactId>

<version>0.10.2.0</version>

</dependency>

dubbo

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值