新华三 Java开发 秋招 一面面经
base成都,时间比较短,就只有20分钟左右。
1.讲一下Kafka?
2.Kafka是分布式的,那么它如何保证它消息持久化后的可靠性呢?
副本机制和应答机制
3.Kafka的高吞吐量如何实现的?
Kafka 的高吞吐量得益于以下设计和特性:
- 简化的存储机制: Kafka 使用简单的存储机制,即将消息追加到日志文件的尾部,这种顺序 IO 操作通常比随机 IO 更高效。
- 分区: 主题被分为多个分区,分区可以分布在多台机器上,允许并发的读写操作。
- 分布式: Kafka 集群由多个服务器组成,每个服务器可以处理数据和请求,增加了系统的吞吐量。
- 高效的页面缓存利用: 由于 Kafka 主要进行顺序读写操作,它能高效地利用操作系统的页面缓存。
- 消费者拉取: Kafka 使用消费者拉取模型,这意味着它可以有效地服务许多消费者,而无需为每个消费者保持连接。
- 批处理: Kafka 的生产者和消费者都支持批处理,这减少了网络调用的数量,从而提高了吞吐量。
- 数据压缩: Kafka 支持消息的压缩,这可以减少网络和存储的使用,从而提高效率。
总结:Kafka 的高吞吐量得益于它的分布式、分区、简化的存储、高效的缓存利用,以及其他优化设计和特性。
4.讲一下JVM
5.JVM堆内存溢出,如何排查?
6.某些对象比较多,导致溢出了,如何优化呢?
7.volatile和sychronize的区别?
8.Java中加锁的操作是否需要原子操作来实现?
9.讲一下AQS?
10.TCP为什么要三次握手?四次挥手?这么设计的目的是什么?
11.MySQL的事务有什么特点?
感觉似乎没有多少HC,面完当天下午状态就变更为“二面进行中”,直到三周后,都没有约二面,感觉是无了。。
#新华三#