后端开发刷题 | 笔试
Linux 中,下面哪个选项不是 inode 中记录的数据()
A
最后一次读取时间
B
最近修改的时间
C
该文件的实际内容
D
该文件的容量
正确答案:C
解析:储存文件的元信息,比如文件的创建者、文件的创建日期、文件的大小等等。这种储存文件元信息的区域就叫做inode,中文译名为"索引节点”。
Java 中,下面代码会出现编译错误的是()
A
int[] arr = new int[]{1, 2, 3};
B
int[] arr = {1, 2, 3};
C
int arr[] = new int[3];
D
int arr[3] = {1, 2, 3};
正确答案:D
下面 Java 代码的运行结果为()
1
2
3
4
5
6
public
static
void
main(String[] args) {
List<Integer> list1 = Arrays.asList(
1
,
2
,
3
);
List<Integer> list2 = Arrays.asList(
1
,
2
,
3
);
System.out.println(list1 == list2);
System.out.println(list1.equals(list2));
}
A
false true
B
true false
C
true true
D
false false
正确答案:A
一个具有23个顶点的连通无向图,最少有()条边。
A
0
B
1
C
22
D
23
正确答案:C
解析:
在一个无向图中,从每一个顶点到每一个其它顶点都存在一条路径,则此无向图是连通的。
有n个顶点的连通图最多有n(n-1)/2 条边,最少有n-1条边
考虑以下递归函数:
1
2
3
4
5
function calculateI(i):
if
i <=
0
:
return
0
else
:
return
2
* calculateI(i -
1
) +
1
对于给定的初始i值为4,计算最终的i值是多少?
A
14
B
15
C
16
D
17
正确答案:B
对数组a=[25, 10, 30, 15, 20, 5]采用快速排序的方法,以第一个元素为基准,从小到大排序,则第一次得到的划分结果是( )
A
[5, 10, 20, 15, 25, 30]
B
[25, 10, 30, 15, 20, 5]
C
[10, 5, 25, 30, 15, 20]
D
[15, 10, 20, 25, 30, 5]
正确答案:A
解析:快速排序的划分过程是通过选择一个基准元素,将数组分为两个部分,小于基准的放在左边,大于基准的放在右边。以第一个元素25为基准,第一次划分后,小于25的元素为[10, 15, 20, 5],大于25的元素为[30],所以划分结果为[5, 10, 20, 15, 25, 30],对应选项A。
假设操作系统中有5个作业,它们的到达时刻分别是0,3,5,7,9,运行时间分别是4,2,3,1,5,系统在t=2时开始作业调度,如果采用时间片轮转调度算法,每个时间片为3个时间单位,那么在t=2时,选中的作业是()。
A
J1
B
J2
C
J3
D
J4
E
J5
正确答案:A
解析:
- 第一个作业在t=0时到达,因此在t=2时它已经在系统中等待调度。
- 第二个作业在t=3时到达,所以在t=2时它还未到达系统,不能被调度。
- 第三个、第四个和第五个作业分别在t=5, 7, 9时到达,因此在t=2时它们也都不能被调度。
由于只有第一个作业在t=2时已经在系统中,所以系统会选择这个作业进行调度。
接下来,我们应用时间片轮转调度算法。每个时间片是3个时间单位,而第一个作业的运行时间是4个时间单位。因此,在第一个时间片(t=2到t=5)内,这个作业会运行3个时间单位,然后在下一个时间片开始时(即t=5时),如果它还未完成,则根据轮转调度算法,它可能会被暂停,让其他已到达的作业(如果有的话)获得执行机会。但在这个特定情况下,直到t=5时,只有第一个作业是已到达并可调度的。
关于HTTP协议,以下描述错误的是()。
A
HTTP协议是一种无状态的协议。
B
HTTP协议使用TCP作为传输协议。
C
HTTP协议的默认端口号是80。
D
HTTP协议可以加密传输数据,提高安全性。
正确答案:D
解析:HTTP协议是一种无状态的协议,因为每个请求都是独立的,服务器不会保存客户端的状态信息,因此选项A描述正确。HTTP协议使用TCP作为传输协议,因此选项B描述正确。HTTP协议的默认端口号是80,因此选项C描述正确。但是HTTP协议本身不提供数据加密功能,因此选项D描述错误。为了提高传输数据的安全性,可以使用HTTPS协议,它是HTTP协议的安全版本,使用SSL/TLS协议加密传输数据。因此,正确答案是D。
编程题:
小欧喝水
小欧拿了𝑛n个杯子排成了一排,其中有𝑘k个杯子装满了水,剩余的𝑛−𝑘n−k个杯子为空的。小欧每回合的操作如下:
1. 随机选择一个杯子。
2. 杯子是空的。回合直接结束。
3. 杯子是满的。如果小欧上一回合喝过了水,则回合结束;否则将喝完这杯水,回合结束。
小欧想知道,她喝完所有水的回合数期望是多少?输入描述:
输出描述:
一个浮点数,代表期望的回合数。示例1
输入
1 1输出
1.000000000说明
只有一杯水,第一回合就可以喝完。示例2
输入
2 2输出
4.000000000说明
第一回合有100%的概率喝一杯水。第二回合无论是否选到有水的杯子都不会喝水。0.5*3+0.25*4+0.125*5+...=4解题思路:
用动态规划(DP)来计算小欧喝完所有水的期望回合数
定义
dp[i]
为小欧还需要喝i
杯水时,期望的回合数。
- 如果
i = 0
,即没有水需要喝了,那么期望的回合数是 0。- 如果
i > 0
,我们考虑两种情况:
- 选择一个空杯子的概率是
(n-k)/n
,这会导致回合直接结束,不增加任何回合数(但这种情况在计算期望时,会贡献为 1 次尝试,因为选择了一个空杯子后,下一轮会继续)。- 选择一个满杯子的概率是
k/n
,如果小欧上一回合没有喝水(即这是一个新的回合,或者上回合选择了空杯子),她需要再喝一次水,并且之后还需要喝i-1
杯水。如果小欧上一回合已经喝过水(这在连续两次选择满杯子时出现),她只需继续计算i-1
杯水的期望。我们可以写出如下的状态转移方程:
这里,
(1 + dp[i-1])/2
表示小欧上一回合喝过水的期望(即连续两次选到满杯子的概率,并喝掉第二杯),(1 + dp[i])/2
表示小欧上一回合没喝过水的期望(即当前回合选到满杯子并喝掉)。但由于两种情况在连续选到满杯子时是互斥的,并且它们的概率都是k/n
,所以我们将它们加在一起然后除以 2 来平均。然而,上述方程可以简化为:
进一步整理得:
现在,我们可以从
dp[1]
开始递推到dp[k]
。代码(使用C语言实现):
#include <stdio.h> double dp[100005]; // 假设 k 不会太大,可以调整数组大小 int main() { int n, k; scanf("%d %d", &n, &k); dp[0] = 0; // 基准情况 for (int i = 1; i <= k; i++) { dp[i] = (double)n / k + (double)k / n * dp[i - 1]; } printf("%.6f\n", dp[k]); // 输出结果,保留6位小数 return 0; }
相关文章:

后端开发刷题 | 笔试
Linux 中,下面哪个选项不是 inode 中记录的数据() A 最后一次读取时间 B 最近修改的时间 C 该文件的实际内容 D 该文件的容量 正确答案:C 解析:储存文件的元信息,比如文件的创建者、文件的创建日期、文件的…...

ROS2入门到精通—— 2-8 ROS2实战:机器人安全通过狭窄区域的方案
0 前言 室内机器人需要具备适应性和灵活性,以便在狭窄的空间中进行安全、高效的导航。本文提供一些让机器人在狭窄区域安全通过的思路,希望帮助读者根据实际开发适当调整和扩展 1 Voronoi图 Voronoi图:根据给定的一组“种子点”࿰…...

STM32自己从零开始实操10:PCB全过程
一、PCB总体分布 分布主要参考有: 方便供电布线。方便布信号线。方便接口。人体工学。 以下只能让大家看到各个模块大致分布在板子的哪一块,只能说每个人画都有自己的理由,我的理由如下。 还有很多没有表达出来的东西,我也不知…...
折线图时间统计
1、查询本月的数据 2、查询最近一个月数据 1、查询本月数据 Date startTime DateUtil.getStartDayOfMonth();Date endTime DateUtil.getEndDayOfMonth();//获取日期//[2024-07-01, 2024-07-02, 2024-07-03, 2024-07-04, 2024-07-05, 2024-07-06, 2024-07-07, 2024-07-08, 20…...
Prompt工程:与AI聊天机器人更好地交流
Prompt工程:与AI聊天机器人更好地交流 1. 清楚地说明你想要什么2. 告诉AI它现在是谁3. 一步一步来4. 给AI一些例子5. 让AI检查自己的回答6. 把AI当作你的小助手7. 让AI帮你想主意8. 让AI告诉你它需要知道什么9. 教AI一步一步思考结语 大家好!今天我们来聊聊如何跟AI聊天机器人更…...

BGP之选路MED
原理概述 当一台BGP路由器中存在多条去往同一目标网络的BGP路由时,BGP协议会对这些BGP路由的属性进行比较,以确定去往该目标网络的最优BGP路由。BGP路由属性的比较顺序为Preferred Value属性、Local Preference属性、路由生成方式、AS_Path属性、Origin属…...
KunDB4.0:安全能力与Oracle兼容性提升,支持跨系统多租户部署
KunDB是星环科技自主研发的分布式交易型数据库,高度兼容Oracle和MySQL,提供数据强一致、高可用、高性能、高扩展、应用透明等能力,可在云上和物理机上容器化部署运行,一站式解决企业数据存储、管理、计算与安全性问题。 过去半年…...
JVM的 6 种垃圾回收算法
JVM的垃圾回收(Garbage Collection, GC)算法,在面试八股文时偶尔会被问到,了解一些常见的垃圾回收算法有利于面试时吊打面试官。 以下是JVM常见的几种垃圾回收算法的介绍: 1. 标记-清除算法(Mark-Sweep&a…...

【SOC 芯片设计 DFT 学习专栏 -- DFT OCC 与 ATPG的介绍】
请阅读【嵌入式及芯片开发学必备专栏】 请阅读【芯片设计 DFT 学习系列 】 如有侵权,请联系删除 转自: 简矽芯学堂 简矽芯学堂 2024年01月18日 09:00 陕西 文章目录 OCC 介绍Fast ScanFull chip ATPGPartition ATPGHierarchical ATPG OCC 介绍 OCC&am…...
自动驾驶-机器人-slam-定位面经和面试知识系列03之C++STL面试题(01)
这两天有点忙耽搁了,抱歉!!! 这个博客系列会分为C STL-面经、常考公式推导和SLAM面经面试题等三个系列进行更新,基本涵盖了自己秋招历程被问过的面试内容(除了实习和学校项目相关的具体细节)。…...
红狮金业解读:分析高价位黄金的后续投资吸引力
在全球经济格局不断变化的背景下,黄金作为传统的避险资产一直备受投资者关注。近期,金价持续走高,引发了市场对黄金是否仍然是优质资产配置的讨论。本文红狮启富将从长期需求、价格驱动因素的变化以及汇率影响三个角度,深入分析黄…...

LDR6020双盲插便携显示器应用
随着USB Type-C接口的普及,越来越多的手机和笔记本电脑都支持通过C接口输出视频。这个小巧而精密的接口,大有把传统的HDMI和DisplayPort接口取而代之的架势。特别是usb4的推出,更是为USB TYPE-C接口一统有线接口形态奠定了基础。 单USB-C接口…...
【HashMap源码学习】
HashMap的底层结构 HashMap是基于分离链表法解决散列冲突的动态散列表。 1、在jdk7中,使用的是“数组 链表”,发生散列冲突的时候键值对会用头插法添加到单链表中; 2、在jdk8中,使用的是“数组 链表 红黑树”,发…...
Git关联本地仓库和远程仓库
Step 1 添加远程仓库: git remote add <远程仓库别名><远程仓库地址> Step 2 git push -u <远程仓库名><分支名> 查看远程仓库: git remote -v 拉取远程仓库内容: 拉取服务器仓库过程中,如果本地和服务器有文件冲突,则会拉取失…...

【Django】在vscode中新建Django应用并新增路由
文章目录 打开一个终端输入新建app命令在app下的views.py内写一个视图app路由引入该视图项目路由引入app路由项目(settings.py)引入app(AntappConfig配置类)运行项目 打开一个终端 输入新建app命令 python manage.py startapp antapp在app下的views.py内…...

DT浏览器首页征集收录海内外网址
DT浏览器首页征集收录海内外网址,要求页面整洁,内容丰富,知识性和可读性强,符合大众价值观,不含恶意代码...
便携解码耳放
想象一下,你正在拥挤的地铁上,耳机里传来的音乐却仿佛带你置身于音乐厅,每一个音符都清晰、动人。这不是科幻小说,而是便携解码耳放(DAC/AMP)带给你的真实体验。无论你是在旅行、通勤还是在咖啡馆里工作&am…...
响应式编程框架Reactor之 Flux 和 Mono 的介绍和区别
Flux和Mono在Reactor框架中都是响应式编程模型的重要概念,它们在处理异步数据流时发挥着重要作用,两者之间也存在一些差异。 Mono的介绍 基本概念: Mono是Reactor中的一个类,它表示一个异步的单个值或零个值的结果。Mono可以看作是一个特殊的Publisher,用于产生数据流,…...
2.3 openCv 对矩阵执行掩码操作
在矩阵上进行掩模操作相当简单。其基本思想是根据一个掩模矩阵(也称为核)来重新计算图像中每个像素的值。这个掩模矩阵包含的值决定了邻近像素(以及当前像素本身)对新的像素值产生多少影响。从数学角度来看,我们使用指定的值来做一个加权平均。 具体而言,掩模操作通常涉…...

贪心算法(三) ---cmp_to_key, 力扣452,力扣179
目录 cmp_to_key 比较函数 键函数 cmp_to_key 的作用 使用 cmp_to_key 代码解释 力扣452 ---射气球 题目 分析 代码 力扣179 ---最大数 题目 分析 代码 cmp_to_key 在Python中,cmp_to_key 是一个函数,它将一个比较函数转换成一个键函数…...
c++ 面试题(1)-----深度优先搜索(DFS)实现
操作系统:ubuntu22.04 IDE:Visual Studio Code 编程语言:C11 题目描述 地上有一个 m 行 n 列的方格,从坐标 [0,0] 起始。一个机器人可以从某一格移动到上下左右四个格子,但不能进入行坐标和列坐标的数位之和大于 k 的格子。 例…...
vue3 字体颜色设置的多种方式
在Vue 3中设置字体颜色可以通过多种方式实现,这取决于你是想在组件内部直接设置,还是在CSS/SCSS/LESS等样式文件中定义。以下是几种常见的方法: 1. 内联样式 你可以直接在模板中使用style绑定来设置字体颜色。 <template><div :s…...

SpringBoot+uniapp 的 Champion 俱乐部微信小程序设计与实现,论文初版实现
摘要 本论文旨在设计并实现基于 SpringBoot 和 uniapp 的 Champion 俱乐部微信小程序,以满足俱乐部线上活动推广、会员管理、社交互动等需求。通过 SpringBoot 搭建后端服务,提供稳定高效的数据处理与业务逻辑支持;利用 uniapp 实现跨平台前…...
数据库分批入库
今天在工作中,遇到一个问题,就是分批查询的时候,由于批次过大导致出现了一些问题,一下是问题描述和解决方案: 示例: // 假设已有数据列表 dataList 和 PreparedStatement pstmt int batchSize 1000; // …...

Maven 概述、安装、配置、仓库、私服详解
目录 1、Maven 概述 1.1 Maven 的定义 1.2 Maven 解决的问题 1.3 Maven 的核心特性与优势 2、Maven 安装 2.1 下载 Maven 2.2 安装配置 Maven 2.3 测试安装 2.4 修改 Maven 本地仓库的默认路径 3、Maven 配置 3.1 配置本地仓库 3.2 配置 JDK 3.3 IDEA 配置本地 Ma…...
蓝桥杯 冶炼金属
原题目链接 🔧 冶炼金属转换率推测题解 📜 原题描述 小蓝有一个神奇的炉子用于将普通金属 O O O 冶炼成为一种特殊金属 X X X。这个炉子有一个属性叫转换率 V V V,是一个正整数,表示每 V V V 个普通金属 O O O 可以冶炼出 …...

C++使用 new 来创建动态数组
问题: 不能使用变量定义数组大小 原因: 这是因为数组在内存中是连续存储的,编译器需要在编译阶段就确定数组的大小,以便正确地分配内存空间。如果允许使用变量来定义数组的大小,那么编译器就无法在编译时确定数组的大…...

网站指纹识别
网站指纹识别 网站的最基本组成:服务器(操作系统)、中间件(web容器)、脚本语言、数据厍 为什么要了解这些?举个例子:发现了一个文件读取漏洞,我们需要读/etc/passwd,如…...

【从零开始学习JVM | 第四篇】类加载器和双亲委派机制(高频面试题)
前言: 双亲委派机制对于面试这块来说非常重要,在实际开发中也是经常遇见需要打破双亲委派的需求,今天我们一起来探索一下什么是双亲委派机制,在此之前我们先介绍一下类的加载器。 目录 编辑 前言: 类加载器 1. …...
在 Spring Boot 项目里,MYSQL中json类型字段使用
前言: 因为程序特殊需求导致,需要mysql数据库存储json类型数据,因此记录一下使用流程 1.java实体中新增字段 private List<User> users 2.增加mybatis-plus注解 TableField(typeHandler FastjsonTypeHandler.class) private Lis…...