【Java笔试强训 32】

news2024/9/27 11:29:58

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

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


目录

一、选择题

二、编程题

  🔥淘宝网店

  🔥斐波那契凤尾



一、选择题

1、处于运行状态的操作系统程序应放在()
A 寄存器中
B 主存中
C 辅存中
正确答案: B
A容量有限,只是加载cpu执行代码行需要的数据(从主存加载到寄存器)
B进程挂起状态,进程就会保存在辅存中
2、在系统内存中设置磁盘缓冲区的主要目的是()。
A 减少磁盘 I/O 次数
B 减少平均寻道时间
C 提高磁盘数据可靠性
D 实现设备无关性
正确答案: A
磁盘磁盘缓冲区
cpu执行速度 比 磁盘io速度 要快很多
为了提高效率,经常访问的磁盘数据,可以使用磁盘缓存来提高io速度。
3、下列选项中,会导致进程从执行态变为就绪态的事件是()。
A 执行 P(wait)操作
B 申请内存失败
C 启动 I/O 设备
D 被高优先级进程抢占
正确答案: D
A、B、C进入阻塞态。进程通信其中一种方式,信号量:p(wait)信号量-1,v(signal)信号量+1。
4、下面哪一种表述不属于操作系统的主要功能?()
A 处理机管理
B 存储器管理
C 设备管理和文件管理
D 可移植
正确答案: D
5、在现代操作系统中采用缓冲技术的主要目的是()。
A 改善用户编程环境
B 提高CPU的处理速度
C 提高CPU和设备之间的并行程度
D 实现与设备无关性
正确答案: C

 6、进程和程序的一个本质区别是()。
A 前者为动态的,后者为静态的
B 前者存储在内存,后者存储在外存
C 前者在一个文件中,后者在多个文件中
D 前者分时使用CPU,后者独占CPU
正确答案: A
7、一个进程的读磁区操作完成后,操作系统针对该进程必做的是 ()
A 修改进程状态为就绪态
B 降低进程优先级
C .进程分配用户内存空间
D 增加进程的时间片大小
正确答案:A
8、选择在最近的过去很久未访问的页面予以淘汰的算法称为()。
A Opt.
B LRU
C MFU
D LFU
正确答案:B
OPT (Optimal page replacement algorithm)
最佳页面替换算法,预测哪个页面最晚出现,就替换哪个页面。
LRU(Least Recently Used)
最近最少使用页面置换算法,也就是首先淘汰最长时间未被使用的页面。
MFU(Most Frequently Used)
最常使用算法,替换最常使用的页面
LFU(Least Frequently Used)
最近最不常用页面置换算法,淘汰一定时期内被访问次数最少的页面。
9、并发进程之间()。
A 彼此无关
B 必须同步
C 必须互斥
D 可能需要同步或互斥
正确答案: D
互斥
是指散步在不同任务之间的若干程序片断,当某个任务运行其中一个程序片段时,其它任务就不能运行它们之中的任一程序片段,只能等到该任务运行完这个程序片段后才可以运行。最基本的场景就是:一个公共资源同一时刻只能被一个进程或线程使用,多个进程或线程不能同时使用公共资源。

同步
是指散步在不同任务之间的若干程序片断,它们的运行必须严格按照规定的某种先后次序来运行,这种先后次序依赖干要完成的特定的任务。最基本的场景就是:两个或两个以上的进程或线程在运行过程中协同步调,按预定
的先后次序运行。比如A任务的运行依赖于B任务产生的数据。
显然,同步是一种更为复杂的互斥,而互斥是一种特殊的同步。
10、一次I/O操作的结束,有可能导致()。
A 一个进程由睡眠变就绪
B 几个进程由睡眠变就绪
C 一个进程由睡眠变运行
D 几个进程由睡眠变运行
正确答案: A


二、编程题

    🔥淘宝网店

     淘宝网店__牛客网

【解题思路】:
既然是一个变相的日期计算器,那就写一个日期计算器,然后加以修改即可。那么,日期计算器怎么写呢?
日期计算器的话,我们将会把日期计算分为三个部分:第一个不足一年的年份,最后一个不足一年的年份,和中间的足年年份。足年年份我们只需要判断闰年后加365或366就行了。不足年,我们就要求出这个日期是这一年的第
几天。假设要求的是1994年5月27日到2003年4月29日,那么,我们就要先求出5月27日是这一年的第几天,然后判断1994年不是闰年,不是,所以用365减去这个天数,就得到结果了。本题中第一天也要算,所以还要加上这一天。然后再算出4月29日是2003年的第几天,就可以解决问题了。所以,我们需要一个函数,功能是给出一个年月日,求出这是这一年的第几天。
这些功能全部实现后,再去改造使得1、4、6、8、9、10、12月的天数翻倍,那么程序就全部完成了。

import java.util.*;
public class Main {
    private static boolean isLeapYear(int year) {
        return year % 400 == 0 || (year % 4 == 0 && year % 100 != 0);
    }
    private static int profitOfYear(int year) {
        return 2 * 31
               + 1 * 28
               + 1 * 31
                + 2 * 30
                + 1 * 31
                + 2 * 30
                + 1 * 31
                + 2 * 31
                + 2 * 30
                + 2 * 31
                + 1 * 30
                + 2 * 31
                + (isLeapYear(year) ? 1 : 0);
    }
    private static boolean isPrime(int month) {
        return month == 2 || month == 3 || month == 5 || month == 7 || month == 11;
    }
    private static int profitOfThisYear(int year, int month, int day) {
        int profit = 0;
        if (!isPrime(month)) {
            profit = day * 2;
        } else {
            profit = day;
        }
        while (--month > 0) {
            switch (month) {
            case 1: case 8: case 10: case 12:
            profit += 62;
            break;
            case 3: case 5: case 7:
            profit += 31;
            break;
            case 4: case 6: case 9:
            profit += 60;
            break;
            case 11:
            profit += 30;
            break;
            default: // case 2
            profit += (28 + (isLeapYear(year) ? 1 : 0));
            break;
            }
        }
    return profit;
    }
    public static void main(String[] args) {
        int year1, month1, day1, year2, month2, day2;
        int profit = 0;
        Scanner scanner = new Scanner(System.in);
        while (scanner.hasNextInt()) {
            year1 = scanner.nextInt();
            month1 = scanner.nextInt();
            day1 = scanner.nextInt();
            year2 = scanner.nextInt();
            month2 = scanner.nextInt();
            day2 = scanner.nextInt();
            profit = profitOfYear(year1) - profitOfThisYear(year1, month1, day1 - 1);
            profit += profitOfThisYear(year2, month2, day2);
            if (year1 == year2) {
                profit -= profitOfYear(year1);
            }
            for (int i = year1 + 1; i < year2; i++) {
                profit += profitOfYear(i);
            }
        System.out.println(profit);
        }
    }
}

🔥斐波那契凤尾

斐波那契凤尾__牛客网

 【解题思路】:
先求斐波那契数列在100000以内的每一项的后六位,然后需要的时候直接输出数组里的对应值即可。

import java.util.*;
public class Main {
    public static void main(String[] args) {
        int border = -1;
        long[] ans = new long[100000];
        ans[0] = 1;
        ans[1] = 2;
        for (int i = 2; i < 100000; i++) {
            long next = ans[i - 1] + ans[i - 2];
            if (border == -1 && next >= 1000000) {
                border = i + 1;
            }
            ans[i] = next % 1000000;
        }
        Scanner s = new Scanner(System.in);
        while (s.hasNextInt()) {
            int n = s.nextInt();
            long f = ans[n - 1];
            if (n < border) {
                System.out.printf("%d\n", f);
            } else {
                System.out.printf("%06d\n", f);
            }
        }
    }
}

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

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

相关文章

初识Vue-事件 样式

目录 事件 事件修饰符 自定义事件 双向绑定 样式style class style Scoped(防止样式污染) 事件 <button click"add($event, 2)">add</button> add(event, num) {event.stopPropagation()// 防止冒泡this.count num; // this在方法里指向当前Vu…

YOLOv5改进系列(1)——添加SE注意力机制

前言 从这篇开始我们进入YOLOv5改进系列。那就先从最简单的添加注意力机制开始吧&#xff01;&#xff08;&#xffe3;︶&#xffe3;&#xff09;↗ 【YOLOv5改进系列】前期回顾&#xff1a; YOLOv5改进系列&#xff08;0&#xff09;——重要性能指标与训练结果评价及分…

Tomcat线程池扩展总结

Tomcat 线程池 前言 最近在压测接口&#xff0c;调线程池参数大小&#xff0c;感觉和预计的不一样。 看了看 tomcat 线程池源码 对比 JDK 线程池源码 源码 构造代码 这里是提交任务 可以看到 这里重写了 TaskQueue 类 可以看到 重写了offer方法 增加了这一行判断&#x…

ePWM模块-时基模块(2)

ePWM模块(2) 时基模块的使用 TBPRD:周期寄存器 (设置的时钟周期存入此,可通过阴影寄存器缓冲后写入,也可通过活动寄存器立即写入) TBCTR:时基计数变值寄存器 (时基当前所计数的值存入,用于和所设定周期值比较) TBPHS:时基相位寄存器 TBSTS:时基状态寄存器 …

Transformer 论文精读——Attention Is All You Need

https://www.bilibili.com/video/BV1pu411o7BE 摘要 序列转录模型是从一个序列生成另一个序列。Transformer 仅利用注意力机制&#xff08;attention&#xff09;&#xff0c;并且在机器翻译领域取得很好的成功。 结论 Transformer 重要贡献之一提出&#xff1a;multi-head…

C++实现二分查找(力扣题目704)

题目要求&#xff1a;给定一个n个元素的&#xff08;升序&#xff09;整型数组nums和一个目标值target&#xff0c;写一个函数搜索nums中的target&#xff0c;如果目标值存在返回下标&#xff0c;否则返回-1 示例 输入: nums [-1,0,3,5,9,12] target 9 输出: 4 解释: 9 出现在…

Coursera—Andrew Ng机器学习—课程笔记 Lecture 3_Linear Algebra Review

3.1 矩阵和向量   参考视频: 3 - 1 - Matrices and Vectors (9 min).mkv 3.2 加法和标量乘法 参考视频: 3 - 2 - Addition and Scalar Multiplication (7 min).mkv 3.3 矩阵向量乘法 参考视频: 3 - 3 - Matrix Vector Multiplication (14 min).mkv 3.4 矩阵乘法 参考视频:…

[Pandas] 读取Excel文件

练习数据准备 demo.xlsx demo.xlsx中的工作表Sheet1显示上述的数据&#xff0c;Sheet2没有数据 我们可以使用Pandas中的read_excel()方法读取Excel格式的数据文件&#xff0c;生成DataFrame数据框进行数据分析处理 基本语法格式 import pandas as pd pd.read_excel(io, sheet…

JVM内存模型介绍

JVM(Java Virtual Machine)又被分为三大子系统&#xff0c;类加载子系统&#xff0c;运行时数据区&#xff0c;执行引擎。在这里我们主要讲解一下JVM的运行时数据区&#xff0c;也就是我们常说的JVM存储数据的内存模型。在这里提一点&#xff0c;平常我们常说内存模型&#xff…

行业趣闻 | 在施工现场“打灰”,挺好的?

房地产市场的不景气对土木行业的冲击、某某大学土木工程专业招不到人、某央企施工人员因吐槽土木行业现状而被辞退…… 面对互联网上诸多对土木行业的调侃和流言&#xff0c;许多土木工程专业的同学变得迷茫了。 这个行业的实际情况究竟是怎样的&#xff1f; 图源网络 2018年10…

Auto-GPT:揭示 ChatGPT、GPT-4 和开源 AI 之间的联系

提示&#xff1a;文章写完后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 文章目录 前言一、什么是Auto-GPT&#xff1f;二、Auto-GPT 是如何工作的&#xff1f;三、Auto-GPT 能做什么&#xff1f;四、谁制造了 Auto-GPT&#xff1f;五、ChatGPT 或 …

DPDK抓包工具dpdk-dumpcap的使用

在进行网络开发中&#xff0c;我们经常会通过抓包来定位分析问题&#xff0c;在不使用DPDK的情况下&#xff0c;Linux系统通常用tcpdump&#xff0c;windows用wireshark&#xff0c;但是如果我们使用了DPDK来收包&#xff0c;就无法用这两个工具来抓包了。 这个时候我们需要用D…

Linux新字符设备驱动实验

1、新字符设备驱动原理 一、分配和释放设备号 使用 register_chrdev 函数注册字符设备的时候只需要给定一个主设备号即可&#xff0c;但是这样会 带来两个问题&#xff1a; ①、需要我们事先确定好哪些主设备号没有使用。 ②、会将一个主设备号下的所有次设备号都使用掉&#…

多线程(线程同步和互斥+线程安全+条件变量)

线程互斥 线程互斥&#xff1a; 任何时刻&#xff0c;保证只有一个执行流进入临界区访问临界资源&#xff0c;通常对临界资源起到保护作用 相关概念 临界资源&#xff1a; 一次仅允许一个进程使用的共享资源临界区&#xff1a; 每个线程内部&#xff0c;访问临界资源的代码&am…

信息抽取与命名实体识别:从原理到实现

❤️觉得内容不错的话&#xff0c;欢迎点赞收藏加关注&#x1f60a;&#x1f60a;&#x1f60a;&#xff0c;后续会继续输入更多优质内容❤️ &#x1f449;有问题欢迎大家加关注私戳或者评论&#xff08;包括但不限于NLP算法相关&#xff0c;linux学习相关&#xff0c;读研读博…

STM32-江科大

新建工程 引入启动文件 Start中是启动文件&#xff0c;是STM32中最基本的文件&#xff0c;不需要修改&#xff0c;添加即可。 启动文件包含很多类型&#xff0c;要根据芯片型号来进行选择&#xff1a; 如果是选择超值系列&#xff0c;那就使用带 VL 的启动文件&#xff0c;…

多元统计分析-主成分分析的原理与实现

目录 一、什么是主成分分析&#xff1f; 二、主成分分析的原理 三、主成分分析的应用 四、使用sklearn实现主成分分析 五、总结 一、什么是主成分分析&#xff1f; 主成分分析&#xff08;Principal Component Analysis&#xff0c;PCA&#xff09;是一种常用的多元统计分…

Docker部署FAST OS DOCKER容器管理工具

Docker部署FAST OS DOCKER容器管理工具 一、FAST OS DOCKER介绍1. FAST OS DOCKER简介2. FAST OS DOCKER特点 二、本次实践介绍1. 本次实践简介2. 本次实践环境 三、本地环境检查1.检查Docker服务状态2. 检查Docker版本 四、下载FAST OS DOCKER镜像五、部署FAST OS DOCKER1. 创…

理解控制变量、内生变量、外生变量、工具变量

文章目录 前言一、控制变量二、内生变量、外生变量三、工具变量&#xff08;IV&#xff09; 前言 1.解释变量&#xff08;或自变量&#xff09;&#xff1a;解释变量是指作为研究对象&#xff0c;用于解释某个现象或行为模式的变量。其中有些解释变量是直接影响被解释变量的&a…

自学黑客(网络安全),一般人我劝你还是算了吧

一、自学网络安全学习的误区和陷阱 1.不要试图先成为一名程序员&#xff08;以编程为基础的学习&#xff09;再开始学习 我在之前的回答中&#xff0c;我都一再强调不要以编程为基础再开始学习网络安全&#xff0c;一般来说&#xff0c;学习编程不但学习周期长&#xff0c;而…