数据库,计算机网络、操作系统刷题笔记22

数据库,计算机网络、操作系统刷题笔记22

2022找工作是学历、能力和运气的超强结合体,遇到寒冬,大厂不招人,可能很多算法学生都得去找开发,测开
测开的话,你就得学数据库,sql,oracle,尤其sql要学,当然,像很多金融企业、安全机构啥的,他们必须要用oracle数据库
这oracle比sql安全,强大多了,所以你需要学习,最重要的,你要是考网络警察公务员,这玩意你不会就别去报名了,耽误时间!
考网警特招必然要考操作系统,计算机网络,由于备考时间不长,你可能需要速成,我就想办法自学速成了,课程太长没法玩
刷题笔记系列文章:
【1】Oracle数据库:刷题错题本,数据库的各种概念
【2】操作系统,计算机网络,数据库刷题笔记2
【3】数据库、计算机网络,操作系统刷题笔记3
【4】数据库、计算机网络,操作系统刷题笔记4
【5】数据库、计算机网络,操作系统刷题笔记5
【6】数据库、计算机网络,操作系统刷题笔记6
【7】数据库、计算机网络,操作系统刷题笔记7
【8】数据库、计算机网络,操作系统刷题笔记8
【9】操作系统,计算机网络,数据库刷题笔记9
【10】操作系统,计算机网络,数据库刷题笔记10
【11】操作系统,计算机网络,数据库刷题笔记11
【12】操作系统,计算机网络,数据库刷题笔记12
【13】操作系统,计算机网络,数据库刷题笔记13
【14】操作系统,计算机网络,数据库刷题笔记14
【15】计算机网络、操作系统刷题笔记15
【16】数据库,计算机网络、操作系统刷题笔记16
【17】数据库,计算机网络、操作系统刷题笔记17
【18】数据库,计算机网络、操作系统刷题笔记18
【19】数据库,计算机网络、操作系统刷题笔记19
【20】数据库,计算机网络、操作系统刷题笔记20
【21】数据库,计算机网络、操作系统刷题笔记21


文章目录

Oracle知识点复习

在这里插入图片描述
有奖金comm>0
没奖金comm<=0
俩结果拼接

新知识点
将结果拼接:union关键词

select count(*),avg(sal) from emp where comm is not null and comm !=0;

SQL> select count(*),avg(sal) from emp where comm is not null and comm !=0;

  COUNT(*)   AVG(SAL)
---------- ----------
         3 1366.66667

没有奖金的
反过来

select count(*),avg(sal) from emp where comm is null or comm =0;

  COUNT(*)   AVG(SAL)
---------- ----------
        11 2265.90909

看样子很多人都没有奖金 啊

SQL> select * from emp;

     EMPNO ENAME                JOB                       MGR HIREDATE              SAL       COMM     DEPTNO
---------- -------------------- ------------------ ---------- -------------- ---------- ---------- ----------
      7369 SMITH                CLERK                    7902 17-12-80            800                    20
      7499 ALLEN                SALESMAN                 7698 20-2-81           1600        300         30
      7521 WARD                 SALESMAN                 7698 22-2-81           1250        500         30
      7566 JONES                MANAGER                  7839 02-4-81           2975                    20
      7654 MARTIN               SALESMAN                 7698 28-9-81           1250       1400         30
      7698 BLAKE                MANAGER                  7839 01-5-81           2850                    30
      7782 CLARK                MANAGER                  7839 09-6-81           2450                    10
      7788 SCOTT                ANALYST                  7566 19-4-87           3000                    20
      7839 KING                 PRESIDENT                     17-11-81           5000                    10
      7844 TURNER               SALESMAN                 7698 08-9-81           1500          0         30
      7876 ADAMS                CLERK                    7788 23-5-87           1100                    20
      7900 JAMES                CLERK                    7698 03-12-81            950                    30
      7902 FORD                 ANALYST                  7566 03-12-81           3000                    20
      7934 MILLER               CLERK                    7782 23-1-82           1300                    10

已选择14行。

确实是这样

现在,将俩结果union

SQL> select count(*),avg(sal) from emp where comm is not null and comm !=0 union select count(*),avg(sal) from emp where comm is null or comm =0;

  COUNT(*)   AVG(SAL)
---------- ----------
         3 1366.66667
        11 2265.90909

牛啊,这可是新知识

在这里插入图片描述

union:并集,不包含重复数据——去重了
在这里插入图片描述

union all:并集,包含重复数据
在这里插入图片描述

intersect:交集,只有重复数据
在这里插入图片描述

minus:补集,AUB-B
只包含左边的但是不在右边的

验证语法

SQL> select count(*),avg(sal) from emp where comm is not null and comm !=0 union select count(*),avg(sal) from emp where comm is null or comm =0;

  COUNT(*)   AVG(SAL)
---------- ----------
         3 1366.66667
        11 2265.90909

SQL> select count(*),avg(sal) from emp where comm is not null and comm !=0 union all select count(*),avg(sal) from emp where comm is null or comm =0;

  COUNT(*)   AVG(SAL)
---------- ----------
         3 1366.66667
        11 2265.90909

SQL> select count(*),avg(sal) from emp where comm is not null and comm !=0 intersect select count(*),avg(sal) from emp where comm is null or comm =0;

未选定行

SQL> select count(*),avg(sal) from emp where comm is not null and comm !=0 minus select count(*),avg(sal) from emp where comm is null or comm =0;

  COUNT(*)   AVG(SAL)
---------- ----------
         3 1366.66667

没错,美滋滋
集合运算,各个集合的列数和类型,必须保保持一致
在这里插入图片描述
在这里插入图片描述
类型一致,显示左边结果的字段名字
反正列数和类型一致就行

在这里插入图片描述
分组不同
按照部门和工作一起分组

SQL> select deptno,job, sum(sal) from emp group by deptno,job;

    DEPTNO JOB                  SUM(SAL)
---------- ------------------ ----------
        20 CLERK                    1900
        30 SALESMAN                 5600
        20 MANAGER                  2975
        30 CLERK                     950
        10 PRESIDENT                5000
        30 MANAGER                  2850
        10 CLERK                    1300
        10 MANAGER                  2450
        20 ANALYST                  6000

已选择9行。

sum是一列

只按照部门分组

SQL> select deptno, sum(sal) from emp group by deptno;

    DEPTNO   SUM(SAL)
---------- ----------
        30       9400
        20      10875
        10       8750

总工资

SQL> select sum(sal) from emp;

  SUM(SAL)
----------
     29025

如果你连接,会发生啥呢???

每个结果的列数量,不同,所以不能联合

你想要对其怎么搞?
没有列的地方用null来对齐

SQL> select deptno,job, sum(sal) from emp group by deptno,job union
  2  select deptno,null, sum(sal) from emp group by deptno union
  3  select null,null, sum(sal) from emp;

    DEPTNO JOB                  SUM(SAL)
---------- ------------------ ----------
        10 CLERK                    1300
        10 MANAGER                  2450
        10 PRESIDENT                5000
        10                          8750
        20 ANALYST                  6000
        20 CLERK                    1900
        20 MANAGER                  2975
        20                         10875
        30 CLERK                     950
        30 MANAGER                  2850
        30 SALESMAN                 5600
        30                          9400
                                   29025

已选择13行。

这样的话,仨结果都能展示了

但是很差劲

我们有一个新的知识点,增强group by

rollup()

在这里插入图片描述
轮番分组,牛逼啊

SQL> select deptno,job,sum(sal) from emp rollup(deptno,job);
select deptno,job,sum(sal) from emp rollup(deptno,job)
                                          *1 行出现错误:
ORA-00933: SQL 命令未正确结束

group by必须要有哦


SQL> select deptno,job,sum(sal) from emp group by rollup(deptno,job);

    DEPTNO JOB                  SUM(SAL)
---------- ------------------ ----------
        10 CLERK                    1300
        10 MANAGER                  2450
        10 PRESIDENT                5000
        10                          8750
        20 CLERK                    1900
        20 ANALYST                  6000
        20 MANAGER                  2975
        20                         10875
        30 CLERK                     950
        30 MANAGER                  2850
        30 SALESMAN                 5600
        30                          9400
                                   29025

已选择13行。

怎么样,牛逼吧

在这里插入图片描述
查询每种工作下的最低工资

SQL> select min(sal) from emp group by job;

  MIN(SAL)
----------
       800
      1250
      5000
      2450
      3000

同时,我们要展示这个工资对应的人,那需要子查询了吧
然后拿着这个工资去去找哪些人

SQL> select ename,sal from emp where sal in(select min(sal) from emp group by job);

ENAME                       SAL
-------------------- ----------
SMITH                       800
WARD                       1250
MARTIN                     1250
CLARK                      2450
SCOTT                      3000
KING                       5000
FORD                       3000

已选择7行。

好说

当然,也可以用自连接来搞定

俩表正常主键=外键
在这里插入图片描述
很OK

如果要是没有这种条件呢?

在这里插入图片描述
如果这些核心几个字段都相同,就算是同一个人
这叫全值连接,尽力就行

咱们现在想把上面那个题,通过俩全值连接表的形式来写,而不是子查询

刚刚我们查询的min(sal),还有job编号,如果这俩对应了emp的sal和job
他俩就是同一个人,你觉得呢?????

select min(sal) minsal, job from emp group by job;

我们把它当一个表叫t表吧

然后想办法跟emp连接

select e.ename, t.job, t.minsal from emp e, (select min(sal) minsal, job from emp group by job) t where t.minsal=e.sal and t.job=e.job;
SQL> select e.ename, t.job, t.minsal from emp e, (select min(sal) minsal, job from emp group by job) t where t.minsal=e.sal and t.job=e.job;

ENAME                JOB                    MINSAL
-------------------- ------------------ ----------
SMITH                CLERK                     800
WARD                 SALESMAN                 1250
MARTIN               SALESMAN                 1250
CLARK                MANAGER                  2450
SCOTT                ANALYST                  3000
KING                 PRESIDENT                5000
FORD                 ANALYST                  3000

已选择7行。

你再对比一下这句话的结果,上面那个

SQL> select ename,sal from emp where sal in(select min(sal) from emp group by job);

ENAME                       SAL
-------------------- ----------
SMITH                       800
WARD                       1250
MARTIN                     1250
CLARK                      2450
SCOTT                      3000
KING                       5000
FORD                       3000

已选择7行。

俩是不是一样

但是今天学到的知识点,就是全值连接,美滋滋
懂??

还是子查询轻松
美滋滋

由于IP地址唯一确定,就看端口号有多少了,不同的端口号可以连接不同的服务端,端口号的长度为16为,2*16次方,所以最多为65535个。

在这里插入图片描述

以下哪个协议不是无状态协议?

链接:https://www.nowcoder.com/questionTerminal/f43f8fde9de8492aaff978642d84537c
来源:牛客网
在这里插入图片描述

HTTP协议是无状态协议
无状态是指协议对于事务处理没有记忆能力。

缺少状态意味着如果后续处理需要前面的信息,则它必须重传,
这样可能导致每次连接传送的数据量增大。

另一方面,在服务器不需要先前信息时它的应答就较快。

这波就是TCP了

骚啊,不懂

根据CSMA/CD原理,下列情形中需要提高最短帧长度的是( )。

链接:https://www.nowcoder.com/questionTerminal/71461dd9d28c47709bdb314853319337
来源:牛客网
在这里插入图片描述

设t为一个站的发送设备到其他所有站的接收设备的最大延迟时间,
在帧传送过程中,若在2t时间内未检测到冲突,则说明传送成功,这段时间内传送的数据帧就是最短帧长度L

设最大传输距离为M,传输速度为D,传输速率为C,则
L = M/D ×2× C

当c增大,L就降低了

网络术语区分:

ADNS:硬件防火墙
PDNS 本身是一个支持 mysql 数据库的 dns 服务器。
TFTP 使用UDP
FTP 使用TCP

Ping是对两个TCP/IP系统连通性进行测试的基本工具,它利用ICMP进行基本的请求的应答
D
Telnet 是标准的提供远程登录功能的应用,可以在不同OS系统的主机之间运行

可以在两个 LAN 之间选择最佳路由的网络连接设备是( 路由器 ),路由器转发数据包到非直接网段的过程中,依靠下列哪一个选项来寻找下一跳地址( IP报文 )

在这里插入图片描述

判断网络ip网络地址时,一定要谨慎它是不是子网掩码,是不对

在这里插入图片描述

以太网允许在1Gb/s下,全双工和半双工两种方式工作

在这里插入图片描述

双绞线的抗干扰性取决于一束线中相邻线对的扭曲长度及适当的屏蔽,总的来说易受外部电磁干扰,误码率也高。

在这里插入图片描述

单道程序系统里面支持多线程的话,也是需要同步和互斥的!!

链接:https://www.nowcoder.com/questionTerminal/2183ad9dced8488b8ded5bbc8f8272f6
来源:牛客网
在这里插入图片描述

道程序系统几个特点:
1. 资源独占性
任何时候,位于内存中的程序可以使用系统中的一切资源,不可能有其他程序与之竞争

2. 执行的顺序性
内存中只有一个程序,各个程序是按次序执行的。在做完一个程序的过程中,不可能夹杂进另一个程序执行

3. 结果的可再现性
只要执行环境和初始条件相同,重复执行一个程序,获得的结果总是一样的

4. 运行结果的无关性
程序的运行结果与程序执行的速度无关。系统中的作业以串行的方式被处理,无法提高CPU、内存的利用率
本来就是有序的,故不需要同步互斥

系统调用是:是操作系统与硬件设备之间的,不是io接口

在这里插入图片描述

内存管理中的 LRU 方法是用来管理什么的?

在这里插入图片描述

链接:https://www.nowcoder.com/questionTerminal/cf249eb8bd5340b3ab4bc8f0cf3ad645
来源:牛客网

题目中物理内存是指实际的内存,而虚拟内存是指磁盘交换区,并不是真正的虚拟内存的意思。
所以对于页面置换算法来讲,当发生缺页中断时,都是要从内存中找到一个不需要的块换出去(对应物理内存的释放),然后将需要页面从磁盘的交换区中换进来(虚拟内存的分配)

共有33个微命令,构成5个互斥类,分别包含7、3、12、5和6个微命令,则操作控制字段至少有()。

大概是7、3、12、5、6分别至少需要23、22、24、23、23,所以3+2+4+3+3=15
在这里插入图片描述

在请求段页式系统中,以段为单位管理用户的虚空间,以页为单位管理内存空间

在这里插入图片描述

微软操作系统(DOS、WINDOWS等)中磁盘文件存储管理的最小单位叫做“簇”,最小物理存储单元是扇区

链接:https://www.nowcoder.com/questionTerminal/9bfe653b3c1d4cdabc151ccf240097f8
来源:牛客网

微软操作系统(DOS、WINDOWS等)中磁盘文件存储管理的最小单位叫做“簇”

扇区:硬盘不是一次读写一个字节而是一次读写一个扇区(512个字节)
簇:系统读读写文件的基本单位,一般为2的n次方个扇区(由文件系统决定)

块可以包含若干,页可以包含若干,簇可以包含若干扇区

扇区是磁盘的最小物理存储单元,最小磁盘空间单位是簇,扇区<簇

这个题目2错!!!!
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

剥夺控制法不应该算预防,应该是发生死锁后的处理方法。

这个题目错了第3次了!!!!!
链接:https://www.nowcoder.com/questionTerminal/f06445d6fca44916be82b3114ac7a5cd
来源:牛客网
在这里插入图片描述

死锁出现必须满足4个条件:互斥、非抢占、请求和保持、循环等待。
A、因为静态分配是指进程在运行之初,一次性请求所有需要的资源,所以破坏了请求和保持这个条件。
C、因为这种方法规定每个进程必须按编号递增的顺序请求资源,同类资源一次性申请完,所以破坏了循环等待的条件
E、很显然,破坏了非抢占这个条件。

动态链接是:有装载时动态链接 也有运行时动态链接。。。

在这里插入图片描述

广度优先可以解决拓扑最短路径问题。

在这里插入图片描述


总结

提示:重要经验:

1)
2)学好oracle,操作系统,计算机网络,即使经济寒冬,整个测开offer绝对不是问题!同时也是你考公网络警察的必经之路。
3)笔试求AC,可以不考虑空间复杂度,但是面试既要考虑时间复杂度最优,也要考虑空间复杂度最优。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
"Labuladong"是一个著名的算法题解博主,他的刷题笔记非常受欢迎。他的笔记具有以下几个特点: 1. 思路清晰:Labuladong的刷题笔记总是能够很清晰地阐述解题思路。他善于将复杂的问题简化为易于理解的小问题,并通过逐步引入关键概念和方法,帮助读者理解并掌握解题思路。 2. 逻辑严谨:Labuladong的刷题笔记经过深思熟虑,逻辑严谨。他会从问题的定义开始,逐步引入相关的概念和解题思路,循序渐进地解决问题。这种严谨的逻辑结构有助于读者理解和消化算法的核心思想。 3. 举例详细:Labuladong的刷题笔记通常会通过具体的例子来说明解题思路。这种举例的方式不仅能够帮助读者更好地理解解题方法,还可以帮助读者更好地应用这些方法解决其他类似的问题。 4. 知识点整合:Labuladong的刷题笔记不仅仅是一个题解,而是将相关的算法知识点整合起来,构建出一个完整的学习体系。他会引入一些底层的算法原理,将不同的解题方法进行比较和总结。这种整合的方式能够帮助读者更好地理解和掌握算法的本质。 总之,Labuladong的刷题笔记以其思路清晰、逻辑严谨、举例详细和知识点整合等特点,为广大读者提供了一种深入学习和理解算法的有效途径。通过阅读他的刷题笔记并进行实践,读者能够提高解题能力,并在面对各种算法问题时能够找到正确、高效的解决方法。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

冰露可乐

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值