【2】兴业数金 Java 部分笔试题解析

多选题

1.下面哪些语句能够正确地生成5个空字符串?(AD)

A.String a[]={"","","","",""};

B.String a[5];

C.String[5] a;

D.String a[]=new String[5]; for(int i=0;i<5; a[i++]="");

E.String []a=new String[5]; for(int i=0;i<5; a[i++]=null);

解析

BC语法错误,E创建了5个null对象。

2.在Java中,关于JVM(Java虚拟机)的描述,以下哪些是正确的(ACD)

A JVM负责将Java字节码转换为机器码

B.JVM平台是独立的,与操作系统无关

C.JVM是Java跨平台特性的关键

D.JVM是Java程序的运行环境

解析

虽然 Java 代码可以在不同的 JVM 上运行,但 JVM 本身是依赖于操作系统的。

3.关于递归法的说法不正确的是( C )

A.占用CPU的处理时间更多

B.要消耗大量的内存空间,程序执行慢,甚至无法执行

C.递归法比递推法的执行效率更高

D.程序结构更简洁

4.以下哪些属于JVM判定对象是否需要回收的方法(BD)

A.进程死亡

B.对象引用遍历

C.对象长时间没有使用

D.引用计数

5.

java 复制代码
String s=new String("hello");
String t =new String("hello");
char c[]={'h','e','l','l','o'};

下列哪些表达式返回true?( CD )

A.t.equals( c )

B.s==t

C.t.equals (new String("hello"))

D.s.equals(t)

6.在Java应用中实现安全的会话管理时,以下哪些做法是有益的( BC )

A.将会话令牌存储在客户端的本地存储中

B.使用HTTPS保护会话令牌的传输

C.定期更换会话令牌

D.使用长期有效的会话令牌(session token)

解析

将会话令牌存储在客户端的本地存储中容易被跨站脚本(XSS)攻击获取。使用长期有效的会话令牌增加了会话被劫持和滥用的风险。

7.关系数据模型的三个组成部分包括( BCD )

A.恢复

B.数据结构

C.完整性约束

D.数据操作

E.值域定义

8.在编写单元测试时,以下哪些做法是值得推荐的(ABD)

A.尽量避免使用硬编码的数据和预期结果

B.使用Mock对象来模拟依赖项的行为

C.连接真实的数据库进行测试,提升数据有效性

D.每个测试方法应该只测试一个功能点

解析

单元测试应该尽可能地避免外部依赖,以提高测试速度和可靠性。连接真实数据库会引入外部依赖增加测试的复杂性,降低测试速度,并且可能会对数据库产生副作用。

9.以下哪些try语句块是合法的( BC )

A.try { // do something } catch (Exception e) { //handle exception } finally { // do something } finally { // do something }

B.try { // do something } catch (Error e){ //handle error }

C.try { // do something } finally { // do something }

D.try { // do something } finally { // do something } catch (Exception e) { //handle exception }

解析

合法的 try 语句块必须包含 try 块,并且至少包含一个 catch 块或一个 finally 块。 catch 块必须在 finally 块之前,且 finally 块只能有一个。

10.常见的几种约束有(ABCDE)

A.检查约束

B.唯一约束

C.非空约束

D.外键约束

E.主键约束

F.完整性约束

11.以下哪些Java设计模式属于创建型模式( ABD )

A.工厂模式

B.原型模式

C.观察者模式

D.单例模式

解析

观察者模式属于行为型模式。

12.MVC模式适用于以下哪些情况( BC )

A.几个页面拥有大量公共的处理过程

B.要为同样的数据提供多个视图的应用程序

C.实现了数据层与表示层的分离,特别适用于开发与用户图形界面有关的应用程序

D.单次提交会产生多个基本外观

13.在软件设计过程中,以下哪些活动或工具通常用于需求分析阶段( CD )

A.E-R图

B.类图(Class Diagram)

C.用例图(Use Case Diagram)

D.用户访谈与调查

解析

E-R 图和类图则属于后续的设计阶段,用于对数据和系统结构进行更详细的描述。

14.下列哪些情况可以终止当前线程的运行?( D )

A.当该线程调用sleep()方法时

B.当创建一个新线程时

C.当一个优先级高的线程进入就绪状态时

D.抛出一个异常

解析

调用 sleep() 方法、创建新线程、高优先级线程进入就绪状态只会暂停或抢占线程的执行,而不会终止线程的运行。

15.JDK1.8中,下面有关java抽象类和接口的区别,说法错误的是?( C )

A.抽象类中可以包含非抽象的普通方法,接口中的方法必须是抽象的,不能有非抽象的普通方法

B.一个类可以实现多个接口,但只能继承一个抽象类

C.接口中可以有普通成员变量,抽象类中没有普通成员变量

D.抽象类可以有构造方法,接口中不能有构造方法

解析

接口中的成员变量必须是常量(static final),而抽象类可以有普通成员变量。

16.下面哪些是对称加密算法( AD )

A.AES

B.DSA

C.RSA

D.DES

17.下面关键字中,哪几项是用于异常处理语句( BCD )

A.break

B.catch

C.finally

D.try

编程题

给定一个长度为n的数组,数组中的每个元素,表示一根水管的长度,水管可以在任意位置锯开。如果要从这些水管中切割出至少k个长度都为m的水管,请问m最大是多少?

示例1

输入

[1,2,3,4,5],3

输出

3

示例2

输入

[1,2,3,4,5],5

输出

2

示例3

输入

[1,2,3,4,5],7

输出

1

题解

java 复制代码
class Solution {
    public int maxLength(int[] nums, int k) {
        // 1. 边界条件检查
        if (nums == null || nums.length == 0 || k <= 0) {
            return 0;
        }

        // 2. 初始化二分查找的左右边界
        int left = 1;
        int right = 0;
        // 3. 确定右边界
        for (int num : nums) {
            right = Math.max(right, num);
        }

        // 4. 二分查找循环
        while (left <= right) {
            // 5. 计算中间值
            int mid = left + (right - left) / 2;

            // 6. 统计切割数量
            int count = 0;
            for (int num : nums) {
                count += num / mid;
            }

            // 7. 判断切割数量是否满足要求
            if (count >= k) {
                left = mid + 1;
            } else {
                right = mid - 1;
            }
        }

        // 8. right 存储的是满足条件的最大长度
        return right;
    }
}
相关推荐
橘猫云计算机设计22 分钟前
基于微信小程序的疫情互助平台(源码+lw+部署文档+讲解),源码可白嫖!
java·大数据·开发语言·spring boot·微信小程序·小程序·汽车
小妖66627 分钟前
css3的transform:tanslateZ没有效果
前端·css·css3
m0_6724496029 分钟前
使用Java操作Excel
java·python·excel
张琪杭38 分钟前
PyTorch大白话解释算子二
人工智能·pytorch·python
customer0840 分钟前
【开源免费】基于SpringBoot+Vue.JS医院药品管理系统(JAVA毕业设计)
java·vue.js·spring boot·后端·开源
weixin_3077791343 分钟前
PySpark实现获取Cloud Storage上Parquet文件的数据结构,并自动在Google BigQuery里建表和生成对应的建表和导入数据的SQL
数据仓库·python·spark·云计算·googlecloud
დ旧言~1 小时前
【Python】基础知识四
python
见青..1 小时前
[BUUCTF]web--wp(持续更新中)
前端·web安全·网络安全
无世世1 小时前
【Java从入门到起飞】面向对象编程(基础)
java·开发语言
二川bro1 小时前
前端模块化管理深度解析:从混沌到秩序的全链路实践指南
前端