总结:绘上一张Kakfa架构思维大纲脑图(xmind)
其实关于Kafka,能问的问题实在是太多了,扒了几天,最终筛选出44问:基础篇17问、进阶篇15问、高级篇12问,个个直戳痛点,不知道如果你不着急看答案,又能答出几个呢?
若是对Kafka的知识还回忆不起来,不妨先看我手绘的知识总结脑图(xmind不能上传,文章里用的是图片版)进行整体架构的梳理
梳理了知识,刷完了面试,如若你还想进一步的深入学习解读kafka以及源码,那么接下来的这份《手写“kafka”》将会是个不错的选择。
-
Kafka入门
-
为什么选择Kafka
-
Kafka的安装、管理和配置
-
Kafka的集群
-
第一个Kafka程序
-
Kafka的生产者
-
Kafka的消费者
-
深入理解Kafka
-
可靠的数据传递
-
Spring和Kafka的整合
-
SpringBoot和Kafka的整合
-
Kafka实战之削峰填谷
-
数据管道和流式处理(了解即可)
C、request.getParameter()
D、request.getWriter()
解析
request.getAttribute()
方法返回 request
范围内存在的对象;
而 request.getParameter()
方法是获取 http
提交过来的数据;
getAttribute
是返回对象;
getParameter
返回字符串。
参考答案
B
A、正确
B、错误
解析
对于子类的构造函数,要调用父类构造函数时,需要使用 super
。
子类重写父类方法后,如果要调用父类中被重写的方法,此时也需要使用 super
。
而子类要调用父类中未被重写的方法时,直接使用 super
关键字调用即可。
参考答案
B
public class A2{
public static void main(String[] args){
int[] a={2,4,6,8,3,6,9,12};
doSomething(a,0,a.length-1);
for(int i=0;i<=a.length-1;i++)
System.out.print(a[i]+" ");
}
private static void doSomething(int[] a,int start,int end){
if(start<end){
int p=core(a,start,end);
doSomething(a,start,p-1);
doSomething(a,p+1,end);
}
}
private static int core(int[] a,int start,int end)
{
int x=a[end];
int i=start;
for(int j=start;j<=end-1;j++){
if(a[j]>=x){
swap(a,i,j);
i++;//交换了几次
}
}//把最大的放到最后
swap(a,i,end);//把最大的放到i的位置
return i;
}
private static void swap(int[] a,int i,int j)
{
int tmp=a[i];
a[i]=a[j];
a[j]=tmp;
}
}
A、找到最大值
B、找到最小值
C、从大到小的排序
D、从小到大的排序
解析
思想类似于快速排序,总是以最后一个数作为分界岭,比它大的放前面,比它小的放后面,然后递归分界岭左右两个区间。
参考答案
C
下面哪个不属于 HttpServletResponse 接口完成的功能?
A、设置 HTTP 头标
B、设置 cookie
C、读取路径信息
D、输出返回数据
解析
设置 HTTP 头标:setHeader()
;
设置 cookie
:addCookie()
;
读取路径信息是 request
的功能。
输出返回数据 getOutputStream().write()
;
参考答案
C
A、Servlet
B、GenericServlet
C、HttpServlet
D、用户自定义 servlet
解析
参考答案
B
A、byte i = 128
B、boolean i = null
C、long i = 0xfffL
D、double i = 0.9239d
解析
对于 A,byte
其范围是 -128 ~ 127
,所以 A 越界。
对于 B,boolean
的值只有 true
和 false
。
对于 C,使用十六进制表示,未越界,所以是可以的。
对于 D,为了区分 float
和 double
的区别,我们一般推荐在 double
类型的数值之后加上 d
字母。
参考答案
C、D
A、面向对象的最重要的特性是支持继承、封装和多态
B、系统设计应该遵循开闭原则,系统应该稳定不不可修改,但应支持通过继承、组合等方式进行扩展
C、函数式的语言必然是面向对象的语言
D、面向对象设计时,每个类的职责应该单一,不要再一个类中引入过多的接口
最后
由于篇幅限制,小编在此截出几张知识讲解的图解
…(img-FmJvYuxv-1715074198010)]
[外链图片转存中…(img-Hb0xXpbb-1715074198010)]
[外链图片转存中…(img-gRQK2oSz-1715074198010)]
[外链图片转存中…(img-YNOgsfQW-1715074198011)]