百济神州后端开发工程师 - 部分笔试题 - 解析

选择题

1.下面关于Java中异常相关的说法错误的是(A)

A.编译时异常是在编译时期间发生的异常,不需要强制处理,但可以选择性地处理

B.Java中,所有异常类的顶层父类为Throwable类

C.在 try-catch 块中,多个catch块按照它们声明的顺序进行匹配,只有第一个匹配到的catch块会被执行,其他的会被忽略

D.应该将特定异常类型的catch块放在前面,将更通用的异常类型的catch块放在后面

2.下面 Java 代码的运行结果为( D )

public class Test {
    public static void main(String[] args){
        System.out.println(5 && 4);
    }
}

A.运行错误

B. 4

C.5

D.编译错误

3.下面关于 Java 中的内部类说法错误的是( C )

A.匿名内部类没有名字,常用于实现接口或继承父类的匿名子类

B.内部类可以访问外部类的私有成员

C.局部内部类可以直接访问所在方法的局部变量

D.静态内部类不需要依赖于外部类实例,可以直接创建

解析

在Java 8之前, 局部内部类只能访问所在方法的 final 修饰的局部变量。 Java 8 开始可以访问 effectively final (即一旦初始化就不可改变)的局部变量。

4.下面 Java 代码的运行结果为(编译错误)

interface Frob{
    float v= 2.0f;
}
class Super{
    int v=3;
}
public class Test extends Super implements Frob{
    public static void main(String[] args){
        new Test().printV();
    }
    void printV(){
        System.out.println(v);
    }
}

解析

Test 类同时继承 Super 类并实现 Frob 接口,并且两者都有名为 v 的成员变量,导致编译器无法自动确定应该使用哪个 v,产生歧义。

5.下列关于数据字典说法错误的是?(AD)

A.数据字典可以将包含每个关系的记录的块存储在链表中

B.数据字典中存储有关系模式和关于关系的其他元数据

C.数据字典可能记录关系的存储组织及关系的存储位置

D.系统必须存储的信息类型不包括属性的域和长度

解析

数据字典主要存储元数据信息,而不是将包含每个关系的记录的块存储在链表中。数据字典必须存储属性(列)的域(数据类型)和长度信息。

6.以下关于 DNS(Domain Name System)的说法中,错误的是(A)。

A.DNS 只能使用 UDP 协议进行通信,因为 UDP 协议的传输速度快,适合用于域名解析这种对实时性要求高的场景。

B.DNS 可以将域名解析为 IP 地址,使得用户可以通过易于记忆的域名来访问网络资源。

C.DNS 采用分布式的数据库结构,由多个 DNS 服务器协同工作,提高了系统的可靠性和可扩展性。

D.DNS 缓存可以加快域名解析的速度,但也可能导致解析结果不准确,因为缓存中的数据可能过期。

解析

DNS 不仅可以使用 UDP 协议,还可以使用 TCP 协议,尤其是在需要传输较大 DNS 数据时。

7.现有一硬盘,其中磁盘转速是10000转/分,平均寻道时间是6ms,每个磁道包含800个扇区,则访问一个扇区的平均存取时间为( C )(结果保留两位小数)

A.11.21 ms

B.8.16 ms

C.9.01 ms

D.10.09 ms

解析

平均存取时间 = 平均寻道时间 + 平均旋转延迟 + 数据传输时间

平均旋转延迟是磁头等待目标扇区旋转到其下方的平均时间。

硬盘转速为 10000 转/分,意味着每转耗时 60 秒 / 10000 转 = 0.006 秒/转 = 6 ms/转。

平均旋转延迟是旋转半圈的时间,所以平均旋转延迟为 6 ms/转 / 2 = 3 ms。

数据传输时间是磁头读取或写入一个扇区数据的时间。

每个磁道有 800 个扇区,所以转一圈可以读取 800 个扇区。

每个扇区的传输时间为: 6 ms/转 / 800 扇区/转 = 0.0075 ms/扇区。

因此,访问一个扇区的平均存取时间约为 9.0075 ms,保留两位小数后为9.01ms。

8.以下关于 RESTfuI API 的特性描述中,错误的是( A )。

A.强耦合性,客户端与服务器端紧密耦合。

B.无状态性,服务器不保存客户端的状态信息。

C.统一接口,使用标准的 HTTP 方法进行资源操作。

D.可缓存性,响应结果可以被缓存以提高性能。

解析

RESTful API 的一个重要目标是实现松耦合,而不是强耦合。

9.在 Linux 中,以下哪个命令可以用于查看文件的前20行内容( C )

A.grep -20 filename

B.tail -20 filename

C.head -20 filename

D.cat -20 filename

10.在Linux系统中,有一个目录/projects,该目录下有多个子目录和文件。需要将/projects目录设置为:所有者可以读写执行,组用户可以读和执行,其他用户没有权限,同时确保子目录和文件继承该权限。假设当前权限未知,正确的命令是( B )

A. chmod -R u+rwx,g+rx /projects

B. chmod -R u=rwx,g=rx,o= /projects

C. chmod -R 740 /projects

D. chmod -R u+rwx,g+rx,o=/projects

解析

C选项将 组用户的权限设置为 r-- (只读),而不是题目要求的 rx (读和执行)。AD选项使用了 + 添加权限,而非设置指定权限。

11.在一个医院管理系统中,已知分区的主存容量为180MB,初始阶段没有主存被占用(即为空),主存分配和释放的顺序(单位都为MB)为分配60,分配40,分配70,释放60,分配20,在采用最佳适应算法时,主存中最大空闲分区的大小是( C )

A.60MB

B.30MB

C.40MB

D.50MB

解析

主存状态:[20MB (已用)], [40MB (空闲)], [40MB (已用)], [70MB (已用)], [10MB (空闲)]。

当前主存中的空闲分区大小分别为:40MB和10MB。因此,最大的空闲分区大小是 40MB。

12.下列属于文件扫描及索引选择方法的是( C )

I、线性搜索

II、聚集索引,码上等值比较

III、聚集索引,非码上的等值比较

IV、辅助索引,等值比较

A. II、III、IV

B.I、II、III

C.I、II、III、IV

D.I、III、IV

13.在一个游乐园过山车系统中,有6个进程共享一个互斥代码段,如果最多允许4个进程同时进入互斥段,那么信号量的初值为( D )

A.6

B.0

C.1

D.4

14.存在一组关键字序列{19,28,7,92,83,45,26,71},对该关键字序列进行直接插入排序,当把关键字26插入到对应的有序表中时,需要查找( A )次才能找到插入的位置。

A.5

B.2

C.3

D.4

解析

插入 26:

比较 26 和 92 (1次)

比较 26 和 83 (2次)

比较 26 和 45 (3次)

比较 26 和 28 (4次)

比较 26 和 19 (5次)

最终插入位置在 19 和 28 之间: {7, 19, 26, 28, 45, 83, 92}

因此,正确查找次数为 5 次。

编程题

现在小明有一个长度为n的数组a,编号为0到n-1,其中初始条件下a[i]=i,
现在可以进行若干次操作,每一次操作对所有元素进行一次修改:对于编号为i的元素,若i是偶数,则a[i]= a[i/2],若i是奇数,则a[i]= a[n/2+(i-1)/2],现在小明想知道最少操作多少次(不可以不操作),能使得操作后的数组变成原数组。

输入描述

每个测试文件均包含多组测试数据。

第一行输入一个整数T(1≤T≤10^3)代表数据组数,每组测试数据描述如下:

第一行输入一个整数n(2≤n≤10^5)(且保证是一个偶数),代表数组的长度。

输出描述

对于每一组测试数据,输出一个答案代表最少的操作次数。

题解

import java.util.Arrays;
import java.util.Scanner;

public class Main {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        // 读取测试用例的数量
        int T = scanner.nextInt();
        while (T-- > 0) {
            // 读取数组的长度
            int n = scanner.nextInt();
            // 初始化原始数组
            int[] original = new int[n];
            for (int i = 0; i < n; i++) {
                // 初始化原始数组的值
                original[i] = i;
            }
            // 复制原始数组到当前数组
            int[] current = Arrays.copyOf(original, n);
            int operations = 0;
            while (true) {
                // 操作次数加1
                operations++;
                int[] next = new int[n];
                for (int i = 0; i < n; i++) {
                    // 根据索引的奇偶性更新下一个数组的值
                    if (i % 2 == 0) {
                        next[i] = current[i / 2];
                    } else {
                        next[i] = current[n / 2 + (i - 1) / 2];
                    }
                }
                // 更新当前数组为下一个数组
                current = next;
                // 如果当前数组与原始数组相等,则跳出循环
                if (Arrays.equals(current, original)) {
                    break;
                }
            }
            // 输出操作次数
            System.out.println(operations);
        }
        scanner.close();
    }
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/950809.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

arcgisPro加载CGCS2000天地图后,如何转成米单位

1、导入加载的天地图影像服务&#xff0c;一开始是经纬度显示的。 2、右键地图&#xff0c;选择需要调整的投影坐标&#xff0c;这里选择坐标如下&#xff1a; 3、点击确定后&#xff0c;就可以调整成米单位的了。 4、切换后结果如下&#xff1a; 如有需要&#xff0c;可调整成…

新时期下k8s 网络插件calico 安装

1、k8s master节点初始化完毕以后一直处于notreadey状态&#xff0c;一直怀疑是安装有问题或者是初始化有问题&#xff08;当然&#xff0c;如果真有问题要先解决这些问题&#xff09;&#xff0c;经过不断探索才发现是网络插件没有安装导致的&#xff0c;根据建议安装calico插…

《分布式光纤测温:解锁楼宇安全的 “高精度密码”》

在楼宇建筑中&#xff0c;因其内部空间庞大&#xff0c;各类电器设施众多&#xff0c;如何以一种既高效又稳定&#xff0c;兼具低成本与高覆盖特性的方式&#xff0c;为那些关键线路节点开展温度监测&#xff0c;是目前在安全监测领域一项重点研究项目&#xff0c;而无锡布里渊…

基于vue框架的的校园社团管理平台9ck4e(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面。

系统程序文件列表 项目功能&#xff1a;社团,社团加入,学生,社团活动,活动报名,社团成员,物资信息,物资申请 开题报告内容 基于Vue框架的校园社团管理平台开题报告 一、研究背景与意义 随着信息化技术的快速发展&#xff0c;校园管理正逐步向数字化、智能化转型。校园社团作…

网络安全 基础入门-概念名词

域名相关 域名 域名和IP地址相互映射&#xff0c;这样不用去记住能够被机器直接读取的IP地址数串 域名系统(DNS) 它作为将域名和IP地址相互映射的一个分布式数据库&#xff0c;能够使人更方便地访问互联网。DNS使用UDP端口53。 1. 如果是自动获取dns,就向上查询&#xff…

CSS Grid 布局全攻略:从基础到进阶

文章目录 一.Grid 是什么二.示例代码1. 基础使用 - 固定宽高2.百分百宽高3.重复设置-repeat4.单位-fr5.自适应6.间距定义其他 一.Grid 是什么 CSS 中 Grid 是一种强大的布局方式&#xff0c;它可以同时处理行和列 Grid 和Flex有一些类似&#xff0c;都是由父元素包裹子元素使用…

自动驾驶控制算法-油门刹车标定

本文是学习自动驾驶控制算法第十讲 油门刹车标定表的制作以及后续一节的学习笔记。 车辆油门刹车标定的目的是获取不同车速下不同的油门踏板或刹车踏板行程下车辆的加速度&#xff0c;标定的结果作为纵向控制模型的输入&#xff0c;用于计算输出合理的油门或刹车。 1 Apollo中…

2024年1月4日蜻蜓hr人才招聘系统v1.1.7更新-正式版发布-客户端源代码开源发布供学习-本产品完成上线正式版-修复多个bug-优雅草果果|小无

2024年1月4日蜻蜓hr人才招聘系统v1.1.7更新-正式版发布-客户端源代码开源发布供学习-本产品完成上线正式版-修复多个bug-优雅草果果|小无 前端代码开源库 关于开源说明&#xff1a;企业服务-招聘信息管理系统-前端uniapp-系统前端开放源代码仅供学习-优雅草科技-目前优雅草科…

Java-JVM详解

Java-JVM ①JVM概述 ❶基本介绍 JVM&#xff1a;全称 Java Virtual Machine&#xff0c;一个虚拟计算机&#xff0c;Java 程序的运行环境&#xff08;Java二进制字节码的运行环境&#xff09; 特点&#xff1a; Java 虚拟机基于二进制字节码执行&#xff0c;由一套字节码指…

PyTorch 框架实现线性回归:从数据预处理到模型训练全流程

系列文章目录 01-PyTorch新手必看&#xff1a;张量是什么&#xff1f;5 分钟教你快速创建张量&#xff01; 02-张量运算真简单&#xff01;PyTorch 数值计算操作完全指南 03-Numpy 还是 PyTorch&#xff1f;张量与 Numpy 的神奇转换技巧 04-揭秘数据处理神器&#xff1a;PyTor…

升级 Spring Boot 3 配置讲解 —— 支持断点传输的文件上传和下载功能

学会这款 &#x1f525;全新设计的 Java 脚手架 &#xff0c;从此面试不再怕&#xff01; 在现代 Web 应用中&#xff0c;文件上传和下载是非常常见的需求。然而&#xff0c;当文件较大时&#xff0c;传统的上传下载方式可能会遇到网络不稳定或传输中断的问题。为了解决这些问题…

R语言安装教程与常见问题

生物信息基础入门笔记 R语言安装教程与常见问题 今天和大家聊一个非常基础但是很重要的技术问题——如何在不同操作系统上安装R语言&#xff1f;作为生物信息学数据分析的神兵利器&#xff0c;R语言的安装可谓是入门第一步&#xff0c;学术打工人的必备技能。今天分享在Windows…

UI自动化测试保姆级教程--pytest详解(精简易懂)

欢迎来到啊妮莫的学习小屋 别让过去的悲伤&#xff0c;毁掉当下的快乐一《借东西的小人阿莉埃蒂》 简介 pytest是一个用于Python的测试框架, 支持简单的单元测试和复杂的功能测试. 和Python自带的UnitTest框架类似, 但是相比于UnitTest更加简洁, 效率更高. 特点 非常容易上手…

基类指针指向派生类对象,基类指针的首地址永远指向子类从基类继承的基类首地址

文章目录 基类指针指向派生类对象&#xff0c;基类指针的首地址永远指向子类从基类继承的基类起始地址。代码代码2 基类指针指向派生类对象&#xff0c;基类指针的首地址永远指向子类从基类继承的基类起始地址。 代码 #include <iostream> using namespace std;class b…

分布式Id方案选择

分布式 ID 方案选择 在当今分布式系统日益盛行的背景下&#xff0c;分布式 ID 生成方案的选择成为了众多开发者关注的焦点。一个优秀的分布式 ID 方案&#xff0c;不仅能够确保生成的 ID 全局唯一&#xff0c;避免数据冲突&#xff0c;还能在高并发、大规模的分布式环境中保持…

花生好坏缺陷识别数据集,7262张图片,支持yolo,coco json,pasical voc xml格式的标注,识别准确率在95.7%

花生好坏缺陷识别数据集,7262张图片&#xff0c;支持yolo&#xff0c;coco json&#xff0c;pasical voc xml格式的标注&#xff0c;识别准确率在95.7% 数据集分割 训练组87&#xff05; 6353图片 有效集8% 606图片 测试集4% 303图片 预处理 自动定…

springboot 集成 etcd

springboot 集成 etcd 往期内容 ETCD 简介docker部署ETCD 前言 好久不见各位小伙伴们&#xff0c;上两期内容中&#xff0c;我们对于分布式kv存储中间件有了简单的认识&#xff0c;完成了docker-compose 部署etcd集群以及可视化工具 etcd Keeper&#xff0c;既然有了认识&a…

【递归与分治】Leetcode23:合并K个升序链表

一、题目描述 给你一个链表数组&#xff0c;每个链表都已经按升序排列。 请你将所有链表合并到一个升序链表中&#xff0c;返回合并后的链表。 示例 1&#xff1a; 输入&#xff1a;lists [[1,4,5],[1,3,4],[2,6]] 输出&#xff1a;[1,1,2,3,4,4,5,6] 解释&#xff1a;链表数…

将分支A某一个commit合并到分支B

1.寻找A分支的commit 在分支B下&#xff0c;点击git找到分支A的历史提交记录,如图所示&#xff1a; 2.点击分支A的某个commit&#xff0c;进行合并到分支B 将这个commit&#xff0c;进行cherry-Pick&#xff0c;就可以把分支A的合并到分支B上的本地仓库中&#xff0c;然后就可…

如何快速上手一个鸿蒙工程

作为一名鸿蒙程序猿&#xff0c;当你换了一家公司&#xff0c;或者被交接了一个已有的业务。前辈在找你之前十分钟写了一个他都看不懂的交接文档&#xff0c;然后把一个鸿蒙工程交接给你了&#xff0c;说以后就是你负责了。之后几天你的状态大概就是下边这样的&#xff0c;一堆…