数据库、计算机网络,操作系统刷题笔记8
2022找工作是学历、能力和运气的超强结合体,遇到寒冬,大厂不招人,可能很多算法学生都得去找开发,测开
测开的话,你就得学数据库,sql,oracle,尤其sql要学,当然,像很多金融企业、安全机构啥的,他们必须要用oracle数据库
这oracle比sql安全,强大多了,所以你需要学习,最重要的,你要是考网络警察公务员,这玩意你不会就别去报名了,耽误时间!
考网警特招必然要考操作系统,计算机网络,由于备考时间不长,你可能需要速成,我就想办法自学速成了,课程太长没法玩
刷题笔记系列文章:
【1】Oracle数据库:刷题错题本,数据库的各种概念
【2】操作系统,计算机网络,数据库刷题笔记2
【3】数据库、计算机网络,操作系统刷题笔记3
【4】数据库、计算机网络,操作系统刷题笔记4
【5】数据库、计算机网络,操作系统刷题笔记5
【6】数据库、计算机网络,操作系统刷题笔记6
【7】数据库、计算机网络,操作系统刷题笔记7
文章目录
- 数据库、计算机网络,操作系统刷题笔记8
- @[TOC](文章目录)
- 管态=内核态=系统态=特权态,不同于用户态=目态
- 用P、V操作管理临界区时,信号量的初值一般应定义为()。
- 使用多线程不能提高内存利用率
- 程序和进程的区别
- 磁盘系统采用最短寻道时间优先(SSTF)磁盘调度算法
- 按单道方式先执行A程序再B程序,CPU的利用率是()。
- 协程的概念与线程和进程:
- 多选别看成单选了,之前有一个单选还考了这个问题
- 某段页式系统中,虚地址的段内页号有几位?页表有几个?
- 每个MAC地址都是全球唯一的
- 网络地址聚合
- STP协议,在网桥优先级采用默认的情况下,网桥应该选择MAC地址较小的地址
- tcp采用窗口机制实现流量控制,重发机制是为了确保TCP的可靠性
- base-T/F中:T表示 twisted pair cable 双绞线,F fibre-optical 光纤
- 又是区分ABC类网络是否合法
- 总结
文章目录
- 数据库、计算机网络,操作系统刷题笔记8
- @[TOC](文章目录)
- 管态=内核态=系统态=特权态,不同于用户态=目态
- 用P、V操作管理临界区时,信号量的初值一般应定义为()。
- 使用多线程不能提高内存利用率
- 程序和进程的区别
- 磁盘系统采用最短寻道时间优先(SSTF)磁盘调度算法
- 按单道方式先执行A程序再B程序,CPU的利用率是()。
- 协程的概念与线程和进程:
- 多选别看成单选了,之前有一个单选还考了这个问题
- 某段页式系统中,虚地址的段内页号有几位?页表有几个?
- 每个MAC地址都是全球唯一的
- 网络地址聚合
- STP协议,在网桥优先级采用默认的情况下,网桥应该选择MAC地址较小的地址
- tcp采用窗口机制实现流量控制,重发机制是为了确保TCP的可靠性
- base-T/F中:T表示 twisted pair cable 双绞线,F fibre-optical 光纤
- 又是区分ABC类网络是否合法
- 总结
管态=内核态=系统态=特权态,不同于用户态=目态
管态:管态又叫特权态,系统态,是操作系统管理的程序执行时,机器所处的状态。
原语:通常由若干条指令组成,用来实现某个特定的操作。通过一段不可分割的或不可中断的程序实现其功能。是操作系统的一个组成部分,它必须在系统态下执行,并且常驻内存,而个别系统有一部分不在管态下运行。
原语和广义指令都可以被进程所调用,两者的差别在于原语有不可中断性,它是通过在执行过程中关闭中断实现的,且一般由系统进程调用。
许多广义指令的功能都可用目态(一种机器状态,通常把它作为用户程序执行时的状态)下运行的系统进程完成,而不一定要在管态下完成,例如文件的建立、打开、关闭、删除等广义指令,都是借助中断进入管态程序,然后转交给相应的进程,最终由进程实现其功能。
因此题中描述是错误的,选B。
用P、V操作管理临界区时,信号量的初值一般应定义为()。
同步为0,互斥为1
链接:https://www.nowcoder.com/questionTerminal/88120d2b8241484ab45cfbe86b784df8
来源:牛客网
1.临界资源
临界资源是一次仅允许一个进程使用的共享资源。各进程采取互斥的方式,实现共享的资源称作临界资源。属于临界资源的硬件有,打印机,磁带机等;软件有消息队列,变量,数组,缓冲区等。诸进程间采取互斥方式,实现对这种资源的共享。
2.临界区:
每个进程中访问临界资源的那段代码称为临界区(criticalsection),每次只允许一个进程进入临界区,进入后,不允许其他进程进入。
既然是临界区,那就是互斥,s初始化为1
使用多线程不能提高内存利用率
使用线程内存只会增加,不会降低。
每增加一个线程,都需要分配堆栈,还需要内存来保存线程上下文来确保线程切换。
通过牺牲内存来提高CPU使用率。
这就是算法空间换时间,懂?
程序和进程的区别
我的理解就是对的,嘻嘻
A:程序是指令的有序集合,其本身没有任何运行的含义,是一个静态的概念。
而进程是程序在处理机上的一次执行过程,它是一个动态的概念。
B:一般情况下,后台程序也叫任务级程序,前台程序也叫事件处理级程序。
故B错误
C:程序可以作为一种软件资料长期存在,而进程是有一定生命期的。
程序是永久的,进程是暂时的。
D:程序没有状态,而进程是有有状态的,进程状态分为五个基本状态,即初始状态,就绪状态,执行状态,等待状态与终止状态。
很强!
磁盘系统采用最短寻道时间优先(SSTF)磁盘调度算法
这题,看一遍答案你就会做了
就是从80开始,跟谁距离最近,先访问谁就进行了
目前来看第一个访问就是72,因为距离为8,跟磁头和其他的距离相比,这个距离最小
依次类推,自己画一画就行了
按单道方式先执行A程序再B程序,CPU的利用率是()。
审题,不要怕
主要看见这种计算题吧就不想算
真的练习算法累了,关键又找不到互联网大厂,没意思
所以看见这种题目就抵触
既然要准备考公,那就要静下心来看这些计算题,毕竟技术才是最重要的
tcpu时间/t总耗费时间
单道程序,就很简单的,计算问题也不大
协程的概念与线程和进程:
链接:https://www.nowcoder.com/questionTerminal/3814c97a97784a0d8f109e987a700f45
来源:牛客网
协程不是被操作系统内核所管理的,而是完全由程序所控制,也就是在用户态执行。
这样带来的好处是性能大幅度的提升,因为不会像线程切换那样消耗资源。
协程不是进程也不是线程,而是一个特殊的函数,这个函数可以在某个地方挂起,并且可以重新在挂起处外继续运行。
所以说,协程与进程、线程相比并不是一个维度的概念
多选别看成单选了,之前有一个单选还考了这个问题
某段页式系统中,虚地址的段内页号有几位?页表有几个?
一般地:虚地址空间包含8 个等长段,段长为2^29 字节,
每个段分为若干页,页面大小为256 字节,
则虚地址中有()位用于段内页号,页表有()个。
8 个等长段,每个段,都有一个页表,故8个页表
每段2^29字节,每个页2的8次方即256字节
那么每段里面有多少页呢?
21位,用于表示段内的页号
这个玩意要会计算哦!
每个MAC地址都是全球唯一的
网络地址聚合
链接:https://www.nowcoder.com/questionTerminal/d67169b5b11a47c58679b5c446233924
来源:牛客网
地址聚合无非是找出它们相同的部分…
将两个分配的IP地址块最后一部分换算成二进制(因为只有最后一部分不相同),之后
可得出新的子网掩码(子网掩码中相同的部分用1表示,不同的部分用0表示):
211.168.15. 1 1000000
211.168.15. 1 0100000
211.168.15. 1 0000000
可得聚合地址块为211.168.15. 10000000,即211.168.15. 128
掩码是IP二进制前面相同的位数,由于从 1~25位三个子网完全相同,
所以经过聚合后的地址为211.168.15. 128/25
去掉一头一尾2个子网地址
所以可用地址为:2^(32-25)-2=126
懂了
STP协议,在网桥优先级采用默认的情况下,网桥应该选择MAC地址较小的地址
在一个广播域里找根网桥,在该广播域当中找网桥ID最小的交换机做根网桥。
优先级相同的情况下再去对比MAC地址,MAC地址最小的交换机做根网桥。
tcp采用窗口机制实现流量控制,重发机制是为了确保TCP的可靠性
链接:https://www.nowcoder.com/questionTerminal/0c2485dc9aa64c76b082eee6a751b756
来源:牛客网
TCP提供一种基于滑动窗口协议的流量控制机制。
在通信过程中,接收方根据自己接收缓存的大小,动态地调整发送方的发送窗口大小,这就是接受窗口rwnd,
即调整TCP报文段首部中的“窗口”字段值,来限制发送方向网络注入报文的速率。
同时,发送方根据其对当前网络拥塞程度的估计而确定的窗口值,称为拥塞窗口cwnd,其大小与网络的带宽和时延密切相关。
TCP使用了校验、序号、确认和重传等机制来实现可靠传输
这个本身我们就有一个机制控制流量:慢从传机制,和快从传机制,看cwnd是直接减半,还是减到1从新开始计算【前者快,后者慢】
美滋滋
base-T/F中:T表示 twisted pair cable 双绞线,F fibre-optical 光纤
链接:https://www.nowcoder.com/questionTerminal/7680f9fbc2534e18bfd9e2ea92dc77cb
来源:牛客网
局域网通常采用类似10BaseT这样的方式来表示,
其中第1部分的数字表示数据传输率,如10表示10mb/s,
base表示基带传输,
T是双绞线,
F表示光纤,
如果是数字,那么表示所支持的最大传输距离,如2表示200m
所以看见T 就是双绞线
而F就是挂光纤
别整错了再
又是区分ABC类网络是否合法
A:280大于255
B:可以
C:192.168.255.255,主机号不能全为1或0,不能是192.168.255.255(C类)
D:224超过了223,不属于A、B、C这三类网络
student表的stuid可以跟score连接
student的subname可以跟subject表连接
subject的subid可以跟score表连接
这里主要看,你这个A的stuid,B的subid,C的stuid,他们来自哪一个表呢???
不管你怎么连接,你的字段要有表的来源
所以
D是正确的,指定我就是来自STU表,懂?
oracle:‘a’||‘b’,concat(a,b)
数据库里面的字符串是’'单引号哦!!!
java:+,concat(a,b)
所以选B
A是对的,BCD无中生有,不管
这显然是自连接,且
最开始的筛选条件就是员工的mgr_id 不为null
且员工的薪水>4000
员工表e作为左表,经理表m作为右表
select e.employee_id,e.emp_name,e.salary,m.employee_id,m.employee_name from employees e,employees m where e.mgr_id=m.employee_id and e.mgr_id is not null and e.salary > 4000;
不看答案我们也能写,等值连接,自连接
可以用内连接
inner join on 也行
select e.employee_id,e.emp_name,e.salary,m.employee_id,m.employee_name from employees e inner join employees m on e.mgr_id=m.employee_id where e.mgr_id is not null and e.salary > 4000;
内连接的限制条件也是where
只不过连接关键字是on
commit事务
select,update,操作语言
B
按照部门分组,按照job类别分组,计算他们的最大薪水
联合分组即可。
然后谁分组,就选谁展示
update emp set name='a',job='b' where ---
只有一个set
中间不是and,而是,
所以Agg
Bgg
C gg
D正确
A增加6个月
select add_month(hiredate,6) from emp;
增加6个月,最后还是日期哦
round(hire_date)也是日期,四舍五入,trunc
日期-日期=天数
C正确
to_number(日期,转为数字的格式)
D错误
默认按照日期升序呗
还是字符串’’
数据是严格区分大小写,数据直接lower转小写
upper()转大写
like ‘%france%’
select initcap('hello xixi') from dual;
Hello Xixi
每个单词都要首字母大写哦
啥时候你需要用full outer join?
俩表
左边可能没选右边的
右边可能没人选
left outer join左边的数据全部得有,匹配右边
right outer join,右边表为基准
1 4都有
左边能匹配上就算
full outer join,整体全部连接,去重
骚啊
讲得很清楚
你懂了吧。
Oracle特有的全外连接
MySQL是没有的
找有李姓的部门,去重这些部门
distinct应该放在dept_id前面
D正确
总结
提示:重要经验:
1)
2)学好oracle,操作系统,计算机网络,即使经济寒冬,整个测开offer绝对不是问题!同时也是你考公网络警察的必经之路。
3)笔试求AC,可以不考虑空间复杂度,但是面试既要考虑时间复杂度最优,也要考虑空间复杂度最优。