新華三Java開發(fā)面經(jīng)/成都base
新華三 Java開發(fā) 秋招 一面面經(jīng)
base成都,時間比較短,就只有20分鐘左右。
1.講一下Kafka?
2.Kafka是分布式的,那么它如何保證它消息持久化后的可靠性呢?
副本機制和應(yīng)答機制
3.Kafka的高吞吐量如何實現(xiàn)的?
Kafka 的高吞吐量得益于以下設(shè)計和特性:
- 簡化的存儲機制: Kafka 使用簡單的存儲機制,即將消息追加到日志文件的尾部,這種順序 IO 操作通常比隨機 IO 更高效。
- 分區(qū): 主題被分為多個分區(qū),分區(qū)可以分布在多臺機器上,允許并發(fā)的讀寫操作。
- 分布式: Kafka 集群由多個服務(wù)器組成,每個服務(wù)器可以處理數(shù)據(jù)和請求,增加了系統(tǒng)的吞吐量。
- 高效的頁面緩存利用: 由于 Kafka 主要進行順序讀寫操作,它能高效地利用操作系統(tǒng)的頁面緩存。
- 消費者拉取: Kafka 使用消費者拉取模型,這意味著它可以有效地服務(wù)許多消費者,而無需為每個消費者保持連接。
- 批處理: Kafka 的生產(chǎn)者和消費者都支持批處理,這減少了網(wǎng)絡(luò)調(diào)用的數(shù)量,從而提高了吞吐量。
- 數(shù)據(jù)壓縮: Kafka 支持消息的壓縮,這可以減少網(wǎng)絡(luò)和存儲的使用,從而提高效率。
總結(jié):Kafka 的高吞吐量得益于它的分布式、分區(qū)、簡化的存儲、高效的緩存利用,以及其他優(yōu)化設(shè)計和特性。
4.講一下JVM
5.JVM堆內(nèi)存溢出,如何排查?
6.某些對象比較多,導(dǎo)致溢出了,如何優(yōu)化呢?
7.volatile和sychronize的區(qū)別?
8.Java中加鎖的操作是否需要原子操作來實現(xiàn)?
9.講一下AQS?
10.TCP為什么要三次握手?四次揮手?這么設(shè)計的目的是什么?
11.MySQL的事務(wù)有什么特點?
感覺似乎沒有多少HC,面完當(dāng)天下午狀態(tài)就變更為“二面進行中”,直到三周后,都沒有約二面,感覺是無了。。
#新華三#