后端技术栈

答完这10道题,我哭了

2020-02-18  本文已影响0人  武培轩

1. Apache Dubbo的默认集群容错方案是?(单选)

A. Failover Cluster

B. Failfast Cluster

C. Failsafe Cluster

D. Failback Cluster

2. 下面关于Kafka说法错误的是?(多选)

A. 消息是按照topic进行划分的,一个topic就是一个queue,一个topic可以有多个消费方,当生产方在某个topic发出一条消息后,所有订阅了这个topic的消费方都可以收到这条消息

B. kafka为每个topic维护了多个partition分区,能保证一个topic的消息消费有序

C. 所有的消息读写都是在主patition中进行,其他副本分区只会从主分区复制数据

D. 消息的发送有三种方式:同步、异步以及oneway,异步为默认方式

3. 下面关于排序算法的描述正确的是:(多选)

A. 冒泡排序和插入排序都是稳定的排序算法

B. 如果数组已经按照顺序排好序,使用插入排序,时间复杂度是 O(n)

C. 快速排序每次选择最大值作为基准值能够加速排序过程

D. 快速排序最好情况的时间复杂度是O(nlogn)

4. 以下有关JVM的说法正确的是?(多选)

A. 程序计数器是一个比较小的内存区域,用于指示当前线程所执行的字节码 执行到了第几行,是线程隔离的

B. 虚拟机栈描述的是Java方法执行的内存模型,用于存储局部变量,操作数 栈,动态链接,方法出口等信息,是线程隔离的

C. 方法区用于存储JVM加载的类信息、常量、静态变量、以及编译器编译后 的代码等数据,是线程共享的

D. 堆被所有线程共享,目的是为了存放对象实例,几乎所有的对象实例都在这里分配。当堆内存没有可用的空间时,会抛出OOM异常

5. 关于TCP的关闭过程,说法正确的是?(多选)

A. 处于TIME_WAIT状态的连接等待2MSL后真正关闭连接

B. 对一个established状态的TCP连接,在调用shutdown函数之前调用close接口,可以让主动调用的一方进入半关闭状态

C. 主动发送FIN消息的连接端,收到对方回应ack之前不能发只能收,在收到对方回复ack之后不能发也不能收,进入CLOSING状态

D. 虽然TCP是可靠传输,但在已经成功建立连接的TCP连接上,也可能存在报文丢失

6. 关于B+树比B树更适合做索引,以下说法正确的是?(多选)

A. 叶节点之间有指针相连,b+树更适合范围检索;

B. 非叶节点只保存关键字和指针,同样大小非叶节点,b+树可以容纳更多的关键字,可以降低树高,查询时磁盘读写代价更低;

C. B+树的查询效率比较稳定。任何关键字的查找必须走一条从根结点到叶子结点的路。所有关键字查询的路径长度相同,效率相当。

D. 非叶节点上,增加了指向同一层下一个非叶节点的指针,将节点的最低利用率从1/2提高到2/3

7. 以下关于Netty说法,正确的是?(多选)

A. netty线程模型采用“服务端监听线程”和“IO线程”分离的方式

B. 通常情况下在NIO非阻塞模式下,Netty为每个Channel分配一个EventLoop,并且它的整个生命周期中的事件都由这个EventLoop来处理

C. 一个eventLoop可以绑定多个Channel

D. 一般接收消息时,由pipeline处理完成会把消息提交到业务线程池进行处理

8. MyBatis在执行SQL时,正确的调用顺序是?(单选)

① SqlSessionFactory

② SqlSession

③ StatementHandler

④ ParameterHandler

⑤ ResultSetHandler

⑥ Executor

⑦TypeHandler

A. ①②③④⑤⑥⑦

B. ①②⑥③④⑦⑤

C. ①②④③⑦⑥⑤

D. ①②③⑦④⑥⑤

9. 以下关于向线程池提交任务,正确的步骤是?(单选)

① 判断是否达到了线程池设置的最大线程数,如果没有达到,就创建新线程来执行任务

② 判断线程池中的线程数是否大于设置的核心线程数,创建核心线程执行任务

③ 判断缓冲队列是否满了,如果没满,放入队列等待执行

④ 执行拒绝策略

A. ②①③④

B. ②③①④

C. ①②③④

D. ①③②④

10. 以下关于类的加载机制错误的是(单选)

A. 类的加载指的是将编译好的class类文件中的字节码读入到内存中,将其放在堆内并创建对应的Class对象

B. 加载是文件到内存的过程。通过类的完全限定名查找此类字节码文件,并利用字节码文件创建一个Class对象

C. 准备阶段是进行内存分配。为类变量也就是类中由static修饰的变量分配内存,并且设置初始值,初始值是0或者null,而不是代码中设置的具体值

D.解析主要是解析字段、接口、方法。主要是将常量池中的符号引用替换为直接引用的过程。直接引用就是直接指向目标的指针、相对偏移量等

点击此处查看答案解析

上一篇下一篇

猜你喜欢

热点阅读