【1】兴业数金 Java 部分笔试题解析
1.下列类定义中哪些是合法的抽象类的定义?(B)
A.class abstract Animal{abstract void growl();}
B.abstract class Animal{abstract void growl();}
C.abstract class Animal{abstract void growl(){System.out.println(“growl”);};}
D.abstract Animal{abstract void growl();}
解析:
A.abstract关键字应该放在class关键字之前;C.抽象方法不能有方法体;D.缺少了class关键字.
2.在Java中,为了防止跨站脚本攻击(XSS),以下哪种做法最为有效(A)
A.对用户输入进行HTML实体编码
B.使用HTTPS协议传输数据
C.对输出到页面的数据进行Base64编码
D.禁止用户输入任何内容
3.Java中的局部变量是保存在栈空间的。(A)
A.正确
B.错误
4.Java中用正则表达式截取字符串中第一个出现的英文左括号之前的字符串可以使用".*?(?=\()"。(A)
A.正确
B.错误
5.关于下面这个切面类的描述正确的是( C )
@Slf4j
@Aspect
@Component
public class DemoAspect {
@Pointcut("execution(public * com.cib.DemoService.*(..))")
public void demoPoint(){}
@Before(value = "demoPoint()")
public void logStart(JoinPoint joinpoint) {
log.info("log start");
}
}
A.表示匹配com.cib.DemoService类中包含两个参数的所有共有方法,在连接点执行后运行
B.表示匹配com.cib.DemoService类中所有方法,并且在连接点之前执行
C.表示匹配com.cib.DemoService类中所有的公有方法,并且在连接点之前执行
D.表示匹配com.cib.DemoService类中包含两个参数的所有方法,并且在连接点之前执行
6.在Spring事务的ISOLATION REPEATABLE READ隔离级别下,有可能出现以下哪种情况( A )
A.幻读
B.不可重复读
C.都有可能发生
D.脏读
7.在开发中使用泛型取代非泛型的数据类型(比如用ArrayList取代ArrayList),程序的运行时性能会变得更好。(B)
A.正确
B.错误
解析:
泛型的主要优势在于提高代码的类型安全性和可读性。通常不会直接提升程序的运行时性能,甚至可能在某些微小情况下略有下降。
8.在HTTP/1.0中,默认使用的是短连接。(A)
A.对
B.错
9.在Java中,以下哪个关于JVM内存模型的说法是正确的(B)
A.JVM的内存模型是线程安全的,无需同步机制
B.JVM的内存模型包括栈内存,用于存储局部变量和基本数据类型
C.JVM的内存模型与操作系统的内存模型一致
D.JVM内存模型包括方法区和堆,它们存储所有对象实例
10.不通过构造函数也能创建对象吗。(A)
A.对
B.错
11.对于Java的Object类,以下()不是Object类的方法.( C )
A.finalize()
B.toString()
C.hasNext()
D.clone()
12.Java中的双检查锁定(double-checked locking)主要用于解决什么问题(B)
A.内存泄漏问题
B.单例模式的线程安全问题
C.垃圾回收问题
D.多线程安全问题
13.Java Class中的的major.minor属性可以用以判断用于编译该类的Java版本( A )
A.对
B.错
14.下面这段程序的运行结果为(D)
public static void main(String[] args) {
int x= 0;
System.out.println(test(x));
}
private static int test(int x){
try {
++x;
return x;
} catch (Exception e) {
e.printStackTrace();
} finally {
++x;
}
return 0;
}
A.0
B.2
C.3
D.1
解析:
finally 中的修改不会影响 try 块中已经准备好要返回的值。return x在try中已经决定要返回1了,虽然finally中x变成了2,但不会影响返回值。
15.在Java Web应用中,以下哪种做法不能有效防止会话劫持(Session Hijacking)。(A)
A.将会话ID存储在URL的查询字符串中
B.定期更换会话ID
C.使用安全的会话ID生成算法
D.使用HTTPS协议进行会话管理
解析:
不能有效防止会话劫持,反而会增加风险。
16.jdb是java中的调试器,编译器返回程序代码的错误,可以用它对程序进行调试。(B)
A.正确
B.错误
解析:
虽然 jdb 是 Java 调试器,但你不能用它 直接修复 编译器返回的代码错误。
17.Java泛型在运行时是如何处理的(A)
A.泛型类型参数在编译时被擦除,运行时失去类型信息
B.泛型类型参数在运行时被转换为Object类型
C.泛型类型参数在运行时被转换为具体的类型参数
D.泛型类型参数在运行时保持其类型信息
18.在系统内存中设置磁盘缓冲区的主要目的是提高磁盘数据可靠性。(B)
A.正确
B.错误
解析:
在系统内存中设置磁盘缓冲区的主要目的是提高磁盘数据的访问速度。
19.在JSP页面中,保存数据的范围由小到大依次是pageContext, request, session, application。(A)
A.对
B.错
20.MD5用于确保信息传输完整一致,是计算机广泛使用的杂凑算法之一。(A)
A.对
B.错
21.设系统中有n个进程并发,共享竞争资源x;且每个进程都需要m个资源x,为使该系统不会发生死锁,资源x最少要多少个。(B)
A.n*m+n
B.n*(m-1)+1
C.无法预计
D.n*m+1
解析:
n 个进程,每个进程已经拥有 (m-1) 个资源,总共占用了 n * (m-1) 个资源。
为了避免死锁,还需要额外的一个资源,才能让至少一个进程可以完成。
因此,资源 x 的最少数量为 n * (m-1) + 1。
22.可以从static方法内部访问非static方法。(B)
A.正确
B.错误
解析:
静态方法在类加载时就存在,此时可能还没有创建任何类的实例。 如果允许静态方法访问非静态方法,那么就可能会出现访问不存在的实例的情况。
23.假设一棵完全二叉树含有456个结点,则度为0、1、2的结点个数分别为( C)
A.228,0,228
B.228,1,227
C.不确定
D.227,1,228
解析:
完全二叉树的特点是除最后一层外,其他层的结点数都达到最大值,而最后一层的结点从左到右依次排列,可能不满。因此,叶子结点(度为0的结点)的数量取决于树的具体结构,不是固定的。
24.下列语句执行后,k的值是(B)
int i=10,j=18, k=30;
switch(j-i){
case 8 :k++;
case 9 : k+=2;
case 10: k+=3;
default : k/=j;
}
A.32
B.2
C.33
D.31
25.下面Java代码的运行结果为( C )
class Animal{
public void move(){
System.out.println("动物可以移动");
}
}
class Dog extends Animal{
public void move(){
System.out.println("狗可以跑和走");
}
public void bark(){
System.out.println("狗可以吠叫");
}
}
public class TestDog{
public static void main(String args[]){
Animal a = new Animal();
Animal b = new Dog();
a.move();
b.move();
b.bark();
}
}
A.
动物可以移动
动物可以移动
狗可以吠叫
B.运行错误
C.编译错误
D.
动物可以移动
狗可以跑和走
狗可以吠叫
解析:
Animal 类中没有 bark() 方法。 尽管 b 实际指向 Dog 类型的对象,但编译器只知道 b 是 Animal 类型的引用,因此不允许调用 Animal 类中未定义的方法。
26.Java中,HashMap继承了Collection接囗.(B)
A.正确
B.错误
27.线程池的作用不包括?( C )
A.提高响应速度
B.提高线程可管理性
C.提高可靠性
D.降低资源消耗
28.JVM中不同线程使用的是不同的栈空间。(A)
A.正确
B.错误
29.栈底至栈顶依次存放元素A,B,C,D,在第五个元素E入栈前,栈中元素可以出栈,则出栈序列可能是(DCBEA)。(A)
A.正确
B.错误
30.在信息安全中,CVE是广泛认同的信息安全漏洞或者已经暴露出来的弱点给出一个公共的名称。(A)
A.正确
B.错误
31.关于Java中的国密算法SM4,以下哪个说法是正确的( C )
A.SM4是一种哈希算法,用于生成数据摘要
B.SM4是一种流加密算法,用于实时加密通信
C.SM4是一种对称加密算法,用于无线局域网的保密通信
D.SM4是一种非对称加密算法,用于公钥加密和数字签名
32.servlet处于服务器进程中,它通过多线程方式运行其service方法。(A)
A.正确
B.错误
33.每5分钟运行一次crond任务cib,下面哪个表达式是正确的(A)
A.*/5****cib
B.***/12**cib
C.5/*****exam
D.*/12****cib
解析:
crontab 表达式的格式:
minute hour day_of_month month day_of_week command
- minute: 分钟 (0 - 59)
- hour: 小时 (0 - 23)
- day_of_month: 一个月中的第几天 (1 - 31)
- month: 月份 (1 - 12 或者 Jan,Feb,Mar,Apr…)
- day_of_week: 一周中的第几天 (0 - 6 或者 Sun,Mon,Tue,Wed,Thu,Fri,Sat; 0 表示 Sunday)
- command: 要执行的命令
34.下列情况中,不能使用栈(stack)来解决问题的是哪个?( C )
A.实现递归算法
B.高级编程语言的过程调用
C.操作系统分配资源(如CPU)
D.将数学表达式转化为后缀形式
解析:
操作系统分配资源通常需要考虑公平性、效率等因素,不适合使用栈来解决。