【Java笔试强训 33】

news2024/11/15 8:40:45

🎉🎉🎉点进来你就是我的人了
博主主页:🙈🙈🙈戳一戳,欢迎大佬指点!

欢迎志同道合的朋友一起加油喔🤺🤺🤺


目录

一、选择题

二、编程题

  🔥剪花布条

  🔥客似云来



一、选择题

1、若一个用户进程通过read 系统调用读取一个磁盘文件中的数据,则下列关于此过程的叙述中,正确的是( )。
Ⅰ. 若该文件的数据不在内存中,则该进程进入睡眠等待状态
Ⅱ. 请求 read 系统调用会导致 CPU 从用户态切换到核心态
Ⅲ. read 系统调用的参数应包含文件的名称
A 仅Ⅰ、 Ⅱ
B 仅Ⅰ、 Ⅲ
C 仅Ⅱ、 Ⅲ
D Ⅰ、 Ⅱ和Ⅲ
正确答案:A
I,若文件的数据不在内存中,则进程进入睡眠模式的目的是等待内存对磁盘上文件的映射,因为磁盘的读取比较慢,所以事进入睡眠模式。
Ⅱ,read是系统调用,所以CPU从用户态切换到核心态。
Ⅲ.open系统调用应该包含文件的名称,read只是包含输入流。
2、Linux文件权限一共10位长度,分成四段,第三段表示的内容是()?
A 文件类型
B 文件所有者的权限
C 文件所有者所在组的权限
D 其他用户的权限
正确答案: C

 3、关于读写锁的描述,以下正确的是()
A 在任何时刻,获得锁权限的线程只有一个
B 读写锁可以同时存在读者和写者
C 读写锁在写加锁状态时,其他进行写操作线程不会阻塞,一直循环查询读写锁是否可用
D 读写锁在读加锁的状态下,可用进行读共享
正确答案: D
读写锁的特性为:
写锁加锁时,其他线程不能再进行读操作(申请加读锁),写操作(申请加写锁),也就是写写互斥,读写互斥。
读锁加锁时,其他线程还能进行读操作,也就是读读并发。
4、进程阻塞的原因不包括________。
A 时间片切换
B 等待I/O
C 进程sleep
D 等待解锁
正确答案: A
参考答案:
解析:进程有3个状态:就绪态。执行态、阻塞态。三种状态的转换包含有:
就绪->执行,执行->就绪,执行->阻塞,阻塞->就绪等待I/O、进程sleep、等待解锁等原因都会导致进程暂停。关于"时间片切换",当进程已经获得了除cpu外所有的资源,这时的状态就是就绪态,当分配到了时间片就成了执行态,当时间片用完之前一直未进入阻塞态的话,此后便继续进入就绪态。所以进程的就绪与阻塞是完全不同的。
答案:A
5、在缺页处理过程中,操作系统执行的操作可能是()。
Ⅰ.修改页表 Ⅱ.磁盘 I/O Ⅲ.分配页框
A 仅Ⅰ、 Ⅱ
B 仅Ⅱ
C 仅Ⅲ
D Ⅰ、 Ⅱ和Ⅲ
正确答案: D
缺页
是引入了虚拟内存后的一个概念。操作系统启动后,在内存中维护着一个虚拟地址表,进程需要的虚拟地址在虚拟地址表中记录。一个程序被加载运行时,只是加载了很少的一部分到内存,另外一部分在需要时再从磁盘载入。
加载到内存的部分标识为“驻留”,而未被加载到内存的部分标为“未驻留”。操作系统根据需要读取虚拟地址表。如果读到虚拟地址表中记录的地址被标为“未驻留”,表示这部分地址记录的程序代码未被加载到内存,需要从磁盘读入,则这种情况就表示"缺页"。
页框
CPU中添加了能自动把虚拟内存(即逻辑地址)地址转化为物理内存地址的电路,为了简化这种电路,就把 RAM划分为长度为4KB或8KB的块,这种块就叫页框。
内核以页框为基本单位管理物理内存,分页单元中,页指一组数据,而存放这组数据的物理内存就是页框,当这组数据被释放后,若有其他数据请求访问此内存,那么页框中的页将会改变。
6、下面选项中,满足短任务优先且不会发生饥饿现象的调度算法是()。
A 先来先服务
B 高响应比优先
C 时间片轮转
D 非抢占式短任务优先
正确答案: B
先来先服务(FCFSFirst Come First Serve)
最简单的调度算法,按先后顺序进行调度。

高响应比优先(HRRNHighest ResponseRatioNext)
综合考虑作业/讲程的等待时间和要求服务的时间,在每次调度时先计算各个作业/进程的响应出,选择响应以最高的作业/进程为其服务。
高响应比优先调度算法是介于FCFS(先来先服务算法)与SIF(短作业优先算法)之间的折中算法,既考虑作业等待时间又考虑作业运行时间,既照顾短作业又不使长作业等待时间过长,改进了调度性能。
响应比=(等待时间+要求服务时间)/要求服务时间

时间片轮转调度(Round-Robin,RR)
用于分时系统中的进程调度。每次调度时,总是选择就绪队列的队首进程,让其在CPU上运行一个系统预先设置好的时间片。一个时间片内没有完成运行的进程,返回到绪队列末尾重新排队,等待下一次调度。

短作业优先(S]F,shortest|ob First)
SIF是非抢占式的算法。最短的作业/进程优先得到服务(所谓“最短”,是指要求服务时间最短)
系统一旦把处理机分配给就绪队列中优先权最高的进程后,该进程便一直执行下去,直至完成。容易造成饥饿。
7、下列选项中,降低进程优先级的合理 时机 是()
A 进程的时间片用完
B 进程刚完成I/O,进入就绪列队
C 进程持久处于就绪列队
D 进程从就绪状态转为运行态
正确答案: A
8、在使用锁保证线程安全时,可能会出现活跃度失败的情况,活跃度失败主要包括
A 死锁
B 饥饿
C 活锁
D 以上全部
正确答案: D
活跃度问题是指线程或进程长时间得不到cpu占用。
A.死锁:线程间互相持有锁,并等待对方释放资源,结果谁也得不到执行。
B.饥饿:如每次都执行优先级高的线程,那么优先级低的可能永远执行不到。
C.活锁:活锁指的是任务或者执行者没有被阻塞,由于某些条件没有满足,导致一直重复尝试,失败,尝试,失败。
活锁和死锁的区别在于,处于活锁的实体是在不断的改变状态,所谓的“活”,而处于死锁的实体表现为等待;活锁有可能自行解开,死锁则不能。
9、选择排队作业中等待时间最长的作业优先调度,该调度算法是()
A 先来先服务调度算法
B 高响应比优先调度算法
C 优先权调度算法
D 短作业优先调度算法
正确答案: A
先来先服务(FCFSFirst Come FirstServe)
最简单的调度算法,按先后顺序进行调度。
高响应比优先(HRRNHighest ResponseRatio Next)
综合考虑作业/进程的等待时间和要求服务的时间,在每次调度时先计算各个作业/进程的响应比,选择响应比最高的作业/进程为其服务。
高优先权优先调度算法
指紧迫型作业(优先级高的任务)进入系统后能得到优先处理。
短作业优先(SJF,ShortestJob First)
SF是非抢占式的算法。最短的作业/进程优先得到服务(所谓“最短”,是指要求服务时间最短)
10、对进程和线程的描述,以下正确的是()
A 父进程里的所有线程共享相同的地址空间,父进程的所有子进程共享相同的地址空间
B 改变进程里面主线程的状态会影响到其他线程的行为,改变父进程的状态不会影响到其他子进程
C 多线程会引起死锁,而多进程不会
D 以上选项都不正确
正确答案: D
A.父进程和子进程都有自己独立的地址空间;
B.主线程和子线程是并行关系的时候,并没有依赖关系。改变父进程的状态,比如父进程退出的同时,通知子进程退出,那么就可以影响到子进程状态,如果没有任何通知,就不会影响到子进程。
C.如果多个进程同时占有对方需要的资源而同时请求对方的资源,而它们在得到请求之前不会释放所占有的资源,那么就会导致死锁的发生,也就是进程不能实现同步。


二、编程题

    🔥剪花布条

    剪花布条__牛客网

 【解题思路】:
C语言可以通过strstr函数找,用STL的string库可以通过find函数找,找到以后跳过一个T串的长度。例如:在abcacbcbcabscbc中找cbc,第一次找到了这个位置:abcacbcbcabscbc,找到这个下标后,会跳过整体cbc,也就是从这个位置继续找:abcacbcbcabscbc,否则如果你只跳一个字符,会导致cbcbc会被算成2次,而按照本题的题意,应该算一次。

import java.util.*;
public class Main {
     public static void main(String[] args){
         Scanner sc=new Scanner(System.in);
         while(sc.hasNext()){
             String s=sc.next();
             String t=sc.next();
             int count=cut(s,t);
             System.out.println(count);
         }
     }
    public static int cut(String s,String t){
        int i=s.indexOf(t);
        if(i==-1){
            return 0;
        }
        return 1+cut(s.substring(i+t.length()),t);
    }
}

🔥客似云来

客似云来__牛客网

 【解题思路】:
老样子,先准备好斐波那契的数组,然后遍历那一段数组,求出他们的和即可。而第80项斐波那契数列是一个17位数,所以需要用long long来解决问题。
然而这个题还有另一个更有意思的思路。斐波那契数列的的前n项和其实是有一个很有意思的公式,斐波那契数列的前n项和,就是第n+2项的值减1,例如前10项的和143,就是第12项的144 - 1的结果。所以,我们如果我们要第n项到第m项的和,那么只要求出前m项的和,减去前n - 1项的和,就能得到结果了。例如要求第3项到第5项的和,我们就只需要用前5项的和减去前2项的和,而公式中的减一在这个过程中抵消掉了,也就是结果直接就是第7项的值减去第4项的值,这样我们在操作的时候就更简单了。就数值而言,第7项是13,第4项是3,差值是10,而2+3+5也是10,结果是正确的。

import java.util.*;
public class Main {
     public static void main(String[] args){
         long[] fib=new long[80];
         fib[0]=1;
         fib[1]=1;
         for(int i=2;i<80;i++){
             fib[i]=fib[i-1]+fib[i-2];
         }
         Scanner sc=new Scanner(System.in);
         while(sc.hasNextInt()){
             int from=sc.nextInt();
             int to=sc.nextInt();
             long count=0;
             for(int i=from-1;i<to;i++){
                count+=fib[i];  
             }
             System.out.println(count);
         }
     }       
}

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

虹科新闻 | HKATTO推出FastFrame™ 第四代智能以太网适配器系列

ATTO Technology, Inc. 是 35 多年来为数据密集型计算环境提供网络、存储连接和基础设施解决方案的全球领导者&#xff0c;今天宣布推出其新的FastFrame™ 第四代以太网产品系列智能网卡。 第四代FastFrame SmartNICs 产品线具有四种独特的型号&#xff0c;产品线涵盖 10/25/40…

OmniVerse + ChatGPT = 智能3D建模

全球各行各业对 3D 世界和虚拟环境的需求呈指数级增长。 3D 工作流是工业数字化的核心&#xff0c;开发实时模拟以测试和验证自动驾驶汽车和机器人&#xff0c;运行数字孪生以优化工业制造&#xff0c;并为科学发现铺平新道路。 今天&#xff0c;3D 设计和世界构建仍然是高度手…

IS200TPROH1BCB用于工业应用和电力分配等。高压型隔离开关用于变电站

​ IS200TPROH1BCB用于工业应用和电力分配等。高压型隔离开关用于变电站 什么是隔离器&#xff0c;它与断路器有何不同 什么是隔离器&#xff0c;为什么要使用隔离器 隔离器是一种开关装置&#xff0c;它可以手动或自动操作&#xff0c;隔离一部分电能。隔离器可用于在无负载情…

Python 实验四 常用数据结构(2)

6.某企业为职工发放奖金&#xff1a;如果入职超过5年&#xff0c;且销售业绩超过15000元的员工&#xff0c;奖金比例为0.2&#xff1b;销售业绩超过10000元的员工&#xff0c;奖金比例为0.15&#xff1b;销售业绩超过5000元的员工&#xff0c;奖金比例为0.1&#xff1b;其他奖金…

【25】核心易中期刊推荐——智能控制机器人

🚀🚀🚀NEW!!!核心易中期刊推荐栏目来啦 ~ 📚🍀 核心期刊在国内的应用范围非常广,核心期刊发表论文是国内很多作者晋升的硬性要求,并且在国内属于顶尖论文发表,具有很高的学术价值。在中文核心目录体系中,权威代表有CSSCI、CSCD和北大核心。其中,中文期刊的数…

【PWN · ret2libc】ret2libc2

ret2libc1的略微进阶——存在systemplt但是不存在“/bin/sh”怎么办&#xff1f; 目录 前言 python3 ELF 查看文件信息 strings 查看寻找"/bin/sh" IDA反汇编分析 思路及实现 老规矩&#xff0c;偏移量 offset EXP编写 总结 前言 经过ret2libc1的洗礼&a…

MyBatis介绍和MyBatis的增删改查xml配置--日志输出-查看 SQL

目录 MyBatis(简化数据库操作的持久层 框架) 官方文档 Maven 仓库 传统的 Java 程序操作 DB 分析 工作示意图 传统方式问题分析(如上) 引出 MyBatis MyBatis 工作原理示意图 MyBatis 快速入门 快速入门需求说明 创建 mybatis 数据库 - monster 表 MyBatis 快速入门 …

【需求响应】基于进化算法的住宅光伏电池系统需求响应研究(Matlab代码实现)

&#x1f4a5;&#x1f4a5;&#x1f49e;&#x1f49e;欢迎来到本博客❤️❤️&#x1f4a5;&#x1f4a5; &#x1f3c6;博主优势&#xff1a;&#x1f31e;&#x1f31e;&#x1f31e;博客内容尽量做到思维缜密&#xff0c;逻辑清晰&#xff0c;为了方便读者。 ⛳️座右铭&a…

VirtualBox 安装ubuntu22.04-live-server版本

文章目录 一、安装过程二、启动过程三、测试网络连通四、设置共享文件夹 一、安装过程 1、新建一个虚拟机 2、设置名称和位置 3、设置内存大小 4、设置虚拟硬盘&#xff0c;选择现在创建虚拟硬盘 5、选择虚拟硬盘文件类型&#xff0c;这里选择VDI 6、选择存储方式&#x…

甘特图控件DHTMLX Gantt入门使用教程【引入】:dhtmlxGantt 与 ASP.NET MVC(下)

DHTMLX Gantt是用于跨浏览器和跨平台应用程序的功能齐全的Gantt图表。可满足项目管理应用程序的大部分开发需求&#xff0c;具备完善的甘特图图表库&#xff0c;功能强大&#xff0c;价格便宜&#xff0c;提供丰富而灵活的JavaScript API接口&#xff0c;与各种服务器端技术&am…

2023爱分析・可观测性平台市场厂商评估报告:乘云科技

1. 研究范围定义 IT运维是企业信息化建设中不可或缺的一环&#xff0c;其作用在于确保系统稳定性、提高效率和降低成本&#xff0c;对企业的业务生产和服务质量有着至关重要的影响。自十四五规划以来&#xff0c;随着企业数字化转型的加速推进&#xff0c;以及信创转型的大…

Spring IoC 深度学习

Io回顾 IoC 是 Inversion of Control 的简写&#xff0c;译为“控制反转”&#xff0c;它不是一门技术&#xff0c;而是一种设计思想&#xff0c;是一个重要的面向对象编程法则&#xff0c;能够指导我们如何设计出松耦合、更优良的程序。 Spring 通过 IoC 容器来管理所有 Jav…

【代码随想录】刷题Day21

1.二叉搜索树的最小绝对值 530. 二叉搜索树的最小绝对差 首先对于单个节点而言&#xff0c;其最小绝对值有两个可能 一是根节点和左节点的最右节点绝对值 二是根节点和右节点的最左节点绝对值 其实这俩条件的实现就是我们代码的关键&#xff0c;不过这题和二叉搜索树的判断殊途…

Es分布式搜索引擎

目录 一、什么是ES&#xff1f; 二、什么是elk&#xff1f; 三、什么是倒排索引&#xff1f; 四、正向索引和倒排索引的优缺点对比 五、mysql数据库和es的区别&#xff1f; 六、索引库&#xff08;es中的数据库表&#xff09;操作有哪些&#xff1f; 八、ES分片存储原理 …

AutoCV第七课:ML基础

目录 ML基础前言1. 复习sqrt函数2. 线性回归预测房价2.1 问题分析2.2 代码实现2.3 总结 个人总结 ML基础 前言 手写AI推出的全新保姆级从零手写自动驾驶CV课程&#xff0c;链接。记录下个人学习笔记&#xff0c;仅供自己参考。 本次课程主要学习复习 sqrt 函数和线性回归预测房…

Java开发手册-8

Java开发手册-8 MySQL 数据库SQL语句ORM映射 工程结构应用分层二方库依赖 MySQL 数据库 SQL语句 【强制】不要使用count(列名)或count(常量)来替代count(*)&#xff0c;count(*)是SQL92定义的标准统计行数的语法&#xff0c;跟数据库无关&#xff0c;跟NULL和非NULL无关。 说…

深入了解云计算:发展历程、服务与部署模型、未来趋势与挑战

开篇博主 bluetata 的观点&#xff1a;PaaS 服务必将是未来10年云计算权重最高的趋势&#xff08;05/02/2023 15:32&#xff09; 文章目录 一、前言二、认识了解云计算2.1 什么是云计算2.1.1 维基百科上的云计算定义2.1.2 NIST 标准云计算定义2.1.3 如果被面试如何解释云计算 2…

177_模型_Power BI 进销存6大日期维度期初与期末

177_模型_Power BI 进销存6大日期维度期初与期末 一、背景 在经销存报表设计中&#xff0c;经常会遇到的便是期初与期末。当然我们这里说期初与期末指的是期初库存与期末库存。 这里的期一般常见的会有&#xff1a;年月日。本案例将演示 6 大日期维度&#xff0c;分别是&…

(二)运行微信小程序:单页面和多页面

使用微信开发者工具创建项目后&#xff0c;默认将运行一个单页面的小程序&#xff0c;运行效果和文件对应修改处如下。 根据上图&#xff0c;通过修改对应内容&#xff0c;可以修改界面显示的文字。 这是一个单页面的小程序&#xff0c;假如要实现多页面的小程序&#xff0c;我…

基于matlab使用被动声纳系统定位声学信标

一、前言 此示例演示如何模拟被动声纳系统。固定的水声信标由浅水通道中的拖曳无源阵列检测和定位。声信标以每秒 10.37 千赫兹的速度传输 5 毫秒脉冲&#xff0c;并建模为各向同性投影仪。定位器系统在表面下方拖曳一个无源阵列&#xff0c;该阵列被建模为均匀线性阵列。一旦检…