小天才 & 步步高 - Web 后台工程师部分笔试题 - 解析

单选题

1.下面哪个关键字不属于DML?(B)

A.Insert

B.drop

C.update

D.select

2.下列关于锁的相关说法,错误的是?(A)

A.{synchronized (this.getClass())}这种写法是错误的,因为子类继承此方法时不能做到同步.

B.synchronized会自动释放锁,而Lock一定要求程序员手工释放,并且必须在finally从句中释放.

C.synchronized既可以加在方法上,也可以加载特定代码块上,而lock需要显示地指定起始位置和终止位置.

D.synchronized是托管给JVM执行的,lock的锁定是通过代码实现的,它有比synchronized更精确的线程语义.

3.下列关于序列化与反序列化的说法,错误的是?(D)

A.serialVersionUID作用:序列化时为了保持版本的兼容性,即在版本升级时反序列化仍保持对象的唯一性。

B.Java的序列化机制是通过在运行时判断类的serialVersionUID来验证版本一致性的。

C.如果类的源代码进行了修改,再重新编译,新生成的类文件的默认的seriaIVersionUID的值会发生变化。

D.一个子类实现了Serializable接口,它的父类都没有实现Serializable接口,序列化该子类对象,然后反序列化后输出父类定义的某变量的数值,该变量数值与序列化时的数值也一定相同。

4.下面这段代码输出的结果为?(B)

public static void main(String[] args) {
Integer i1 = 128;
Integer i2 = 128;
System.out.println(i1 == i2);
}

A.true

B.false

5.下面这段代码输出的结果为?(B)

public static void main(String[] args) {
StringBuffer sb1 = new StringBuffer("abc");
StringBuffer sb2 = new StringBuffer("abc");
System.err.println(sb1.equals(sb2));
}

A.true

B.false

多选题

6.下列关于反射的说法,正确的是?(ABCD)

A.任何继承AccessibleObject的类的对象都可以使用该方法取消Java语言访问权限检査。

B.通过field可以访问给定对象的类变量,包括获取变量的类型、修饰符、注解、变量名、变量的值或者重新设置变量值,即使变量是private的。

C.因为反射是在运行时而不是在编译时,所以不会利用到编译优化,同时因为是动态生成,因此,反射操作的效率要比那些非反射操作低得多。

D.每个class(注意class是小写,代表普通类)类,无论创建多少个实例对象,在JVM中都对应同一个Class对象。

7.下面哪些是消息队列MQ的使用场景?(ABD)

A.异步调用

B.系统解耦

C.降低系统复杂度

D.错峰限流

8.下面哪些情况会导致MySQL索引失效?(ABCDE)

A.索引列参与了运算

B.索引列使用了函数

C.索引列使用了is not null查询

D.索引列存在类型转换

E.模糊查询前面为不确定的匹配字符

9.下列关于MyBatis框架说法,正确的是?(ABCD)

A.${}:仅仅为一个纯碎的String替换,在动态SQL解析阶段将会进行变量替换。

B.使用#可以很大程度上防止sql注入。

C.如果使用在order by中就需要使用$。

D.Mybatis中的CDATA标签指的是不应由XML解析器进行解析的文本数据,所以SQL语句中存在“<”、“&”一般都需要用CDATA标签包住

10.Spring支持的事务功能包括(ABC)

A.事务的传播行为

B.事务回滚

C.事务的隔离级别

D.事务的传播级别

11.下列关于Spring说法,正确的是?(ABD)

A.Spring IOC主要是基于Java的反射机制去实现的

B.@Transactional只能被应用到public方法上

C.AOP增强的方法A,被同一个类中的另一个方法B调用,如果外部调用B,A也会被增强

D.静态属性以及线程类中的属性不能使用@Autowired直接注入

解析

当方法B在同一个类中调用方法A时,Spring AOP不会生效,因为这是内部调用,不会经过AOP代理。

12.下列关于对象克隆说法,正确的是?(ACD)

A.深克隆:既克隆基本类型变量,也克隆引用类型变量

B.深克隆的方法需要被public修饰

C.Object的clone()方法是在java平台层实现的native方法,且被protected修饰

D.使用序列化能完成深克隆的功能

13.下列哪些操作会使线程释放锁资源?(BC)

A.sleep()

B.wait()

C.join()

D.yield()

14.下列关于IO的相关说法,正确的是?(BCD)

A.NIO和IO有相同的作用和目的,但实现方式不同,NIO主要用到的是块,所以NIO的效率要比IO高很多.

B.NIO通讯是将整个任务切换成许多小任务,由一个线程负责处理所有IO事件,并负责分发.

C.JAVA处理大文件,更快的方式是采用MappedByteBuffer.

D.如果你有少量的连接使用非常高的带宽,一次发送大量的数据,用NIO服务器来处理比IO服务器来处理更有优势.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值