数据库,计算机网络、操作系统刷题笔记27
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
【22】数据库,计算机网络、操作系统刷题笔记22
【23】数据库,计算机网络、操作系统刷题笔记23
【24】数据库,计算机网络、操作系统刷题笔记24
【25】数据库,计算机网络、操作系统刷题笔记25
【26】数据库,计算机网络、操作系统刷题笔记26
文章目录
- 数据库,计算机网络、操作系统刷题笔记27
- @[TOC](文章目录)
- Oracle数据库知识点复习
- 视图:虚表
- Internet上一个B类网络的子网掩码为255.255.252.0,则理论上每个子网的主机数最多可以有()台。
- http状态码
- VXLAN在云计算场景中主要解决了如下哪些问题()
- ARP如何查看目标主机的MAC地址?
- 在linux编程中,以下哪个TCP的套接字选项与nagle算法的开启和关闭有关?
- 流量控制指的是发送端和接收端的协调机制,无连接服务做不到。
- 对于网络拥塞控制描述正确的有( )
- 在子网192.168.4.0/30中,能接收目的地址为192.168.4.3的IP分组的最大主机数是()。
- 共享存储器是共享内存,管道是共享文件
- 以下关于文件与目录命名的描述中正确的是()。
- 缓冲区更多的是利用 内存作为缓冲区 ,如单缓冲区、双缓冲区、环形缓冲区和缓冲池。
- 以下描述不正确的是( )?
- 采用分段技术,程序与相关数据被划分为同一组段,这组段包括程序段和数据段;
- 地址寄存器只有寻址到4g,所以虚存最大容量为4G
- 轮询任务调度与抢占式任务调度的区别?
- 总结
文章目录
- 数据库,计算机网络、操作系统刷题笔记27
- @[TOC](文章目录)
- Oracle数据库知识点复习
- 视图:虚表
- Internet上一个B类网络的子网掩码为255.255.252.0,则理论上每个子网的主机数最多可以有()台。
- http状态码
- VXLAN在云计算场景中主要解决了如下哪些问题()
- ARP如何查看目标主机的MAC地址?
- 在linux编程中,以下哪个TCP的套接字选项与nagle算法的开启和关闭有关?
- 流量控制指的是发送端和接收端的协调机制,无连接服务做不到。
- 对于网络拥塞控制描述正确的有( )
- 在子网192.168.4.0/30中,能接收目的地址为192.168.4.3的IP分组的最大主机数是()。
- 共享存储器是共享内存,管道是共享文件
- 以下关于文件与目录命名的描述中正确的是()。
- 缓冲区更多的是利用 内存作为缓冲区 ,如单缓冲区、双缓冲区、环形缓冲区和缓冲池。
- 以下描述不正确的是( )?
- 采用分段技术,程序与相关数据被划分为同一组段,这组段包括程序段和数据段;
- 地址寄存器只有寻址到4g,所以虚存最大容量为4G
- 轮询任务调度与抢占式任务调度的区别?
- 总结
Oracle数据库知识点复习
视图:虚表
常见的数据库对象:
表,视图
序列,索引
同义词,触发器
视图:就是一个不存在的虚表
通过视图可以展现部分的表的内容,这样可以让别人查不到你的隐私
将这四个字段封装为虚表:视图
给你瞅瞅的
视图也可以建立在多张表之上
视图的优势:
1、简化查询
一般查询
select e.empno,e.ename,e.sal,e.comm,d.dname from emp e,dept d where e.deptno=d.ddeptno;
SQL> select e.empno,e.ename,e.sal,e.comm,d.dname from emp e,dept d where e.deptno=d.deptno;
EMPNO ENAME SAL COMM DNAME
---------- -------------------- ---------- ---------- ----------------------------
7782 CLARK 2450 ACCOUNTING
7839 KING 5000 ACCOUNTING
7934 MILLER 1300 ACCOUNTING
7566 JONES 2975 RESEARCH
7902 FORD 3000 RESEARCH
7876 ADAMS 1100 RESEARCH
7369 SMITH 800 RESEARCH
7788 SCOTT 3000 RESEARCH
7521 WARD 1250 500 SALES
7844 TURNER 1500 0 SALES
7499 ALLEN 1600 300 SALES
7900 JAMES 950 SALES
7698 BLAKE 2850 SALES
7654 MARTIN 1250 1400 SALES
已选择14行。
你以后经常要这么查,可以不必写了
我们可以给它创建视图
create view 视图名 as (select 语句);
create view empview1 as (select e.empno,e.ename,e.sal,e.comm,d.dname from emp e,dept d where e.deptno=d.deptno);
create view empview1 as (select e.empno,e.ename,e.sal,e.comm,d.dname from emp e,dept d where e.deptno=d.deptno)
*
第 1 行出现错误:
ORA-01031: 权限不足
scott用户没有创建视图的权力
我们应该给scott赋予创建视图的权力
切换到dba用户
然后我们再创建视图
SQL> create view empview1 as (select e.empno,e.ename,e.sal,e.comm,d.dname from emp e,dept d where e.deptno=d.deptno);
视图已创建。
SQL> select * from empview1;
EMPNO ENAME SAL COMM DNAME
---------- -------------------- ---------- ---------- ----------------------------
7782 CLARK 2450 ACCOUNTING
7839 KING 5000 ACCOUNTING
7934 MILLER 1300 ACCOUNTING
7566 JONES 2975 RESEARCH
7902 FORD 3000 RESEARCH
7876 ADAMS 1100 RESEARCH
7369 SMITH 800 RESEARCH
7788 SCOTT 3000 RESEARCH
7521 WARD 1250 500 SALES
7844 TURNER 1500 0 SALES
7499 ALLEN 1600 300 SALES
7900 JAMES 950 SALES
7698 BLAKE 2850 SALES
7654 MARTIN 1250 1400 SALES
已选择14行。
完美了
这就是简化查询
2、可以增加数据的安全性
上面1中的数据,以外的别的数据,你是看不到的,你无法操作的,所以其他字段很安全;
**操作视图的功能:**可以增删改查,跟表的操作一致,但是不建议增删改,只查就行
update empview1 set sal=100 where sal=800;
更新操作,原表也gg,都得更改
由于来源是2个表,咱们怎么修改呢?
连接之后的样子
如果是笛卡尔乘积——没有连接条件,ggg
正常连接的情况,就好改,整体改就行
SQL> update empview1 set sal=100 where sal=800;
已更新 1 行。
SQL> select * from empview1;
EMPNO ENAME SAL COMM DNAME
---------- -------------------- ---------- ---------- ----------------------------
7782 CLARK 2450 ACCOUNTING
7839 KING 5000 ACCOUNTING
7934 MILLER 1300 ACCOUNTING
7566 JONES 2975 RESEARCH
7902 FORD 3000 RESEARCH
7876 ADAMS 1100 RESEARCH
7369 SMITH 100 RESEARCH
7788 SCOTT 3000 RESEARCH
7521 WARD 1250 500 SALES
7844 TURNER 1500 0 SALES
7499 ALLEN 1600 300 SALES
7900 JAMES 950 SALES
7698 BLAKE 2850 SALES
7654 MARTIN 1250 1400 SALES
已选择14行。
你看上面的100就是800变来的
但是不建议用视图去改编数据表哦
SQL> select * from emp;
EMPNO ENAME JOB MGR HIREDATE SAL COMM DEPTNO
---------- -------------------- ------------------ ---------- -------------- ---------- ---------- ----------
7369 SMITH CLERK 7902 17-12月-80 100 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行。
你看emp表里面的100
也gg了
咱们把它改为回去
SQL> update empview1 set sal=800 where sal=100;
SQL> update empview1 set sal=800 where sal=100;
已更新 1 行。
不能出现歧义就行
单表,可以随意更新,如果多个表联合更新,那就需要唯一一条存在才行
在创建视图后面可以增加视图选项
with check option;
create view empview2 as (select e.deptno,e.empno,e.ename,e.sal,e.comm,d.dname from emp e,dept d where e.deptno=d.deptno and e.deptno=20) with check option;
SQL> create view empview2 as (select e.deptno,e.empno,e.ename,e.sal,e.comm,d.dname from emp e,dept d where e.deptno=d.deptno and e.deptno=20) with check option;
视图已创建。
SQL> select * from empview2;
DEPTNO EMPNO ENAME SAL COMM DNAME
---------- ---------- -------------------- ---------- ---------- ----------------------------
20 7369 SMITH 800 RESEARCH
20 7566 JONES 2975 RESEARCH
20 7788 SCOTT 3000 RESEARCH
20 7876 ADAMS 1100 RESEARCH
20 7902 FORD 3000 RESEARCH
你试一下,能否将deptno改为40?
update empview2 set deptno=40 where empno=7369;
SQL> update empview2 set deptno=40 where empno=7369;
update empview2 set deptno=40 where empno=7369
*
第 1 行出现错误:
ORA-01733: 此处不允许虚拟列
啥意思呢?
你视图右边的表中的deptno仍然是20
匹配好的
你现在要把左边表改为20
岂不是不可能的事情
因为视图是联动的
所以必须报错!!!
反正一句话:别自己更删改视图!!!!
咱们来个简单的视图
create view empview3 as select empno,ename,deptno from emp;
SQL> select * from empview3;
EMPNO ENAME DEPTNO
---------- -------------------- ----------
7369 SMITH 20
7499 ALLEN 30
7521 WARD 30
7566 JONES 20
7654 MARTIN 30
7698 BLAKE 30
7782 CLARK 10
7788 SCOTT 20
7839 KING 10
7844 TURNER 30
7876 ADAMS 20
7900 JAMES 30
7902 FORD 20
7934 MILLER 10
已选择14行。
单表随意改
咱们可以更新那个某就一个人的部门编号为40
它会不见的
SQL> create view empview3 as select empno,ename,deptno from emp where deptno=20;
视图已创建。
SQL> select * from empview3;
EMPNO ENAME DEPTNO
---------- -------------------- ----------
7566 JONES 20
7788 SCOTT 20
7876 ADAMS 20
7902 FORD 20
SQL> update empview3 set deptno=40 where empno=7566;
已更新 1 行。
SQL> select * from empview3;
EMPNO ENAME DEPTNO
---------- -------------------- ----------
7788 SCOTT 20
7876 ADAMS 20
7902 FORD 20
你瞅瞅,你改了部门40
这里就只会呈现20的
所以骚啊
如果你不想让人改这个20
那就加check option
with check option;的作用,限制对视图操作时,必须满足where语句
SQL> drop view empview3;
视图已删除。
SQL> create view empview3 as select empno,ename,deptno from emp where deptno=20 with check option;
视图已创建。
SQL> select * from empview3;
EMPNO ENAME DEPTNO
---------- -------------------- ----------
7788 SCOTT 20
7876 ADAMS 20
7902 FORD 20
SQL> update empview3 set deptno=40 where empno=7566;
已更新0行。
SQL> update empview3 set deptno=40 where empno=7788;
update empview3 set deptno=40 where empno=7788
*
第 1 行出现错误:
ORA-01402: 视图 WITH CHECK OPTION where 子句违规
有了check,你就不能随意改where里面的条件了
ORA-01402: 视图 WITH CHECK OPTION where 子句违规
美滋滋
你不可以乱改那个where的条件
最好加整个:
with read only
视图,看就行,别搞其他操作就行
SQL> drop view empview3;
视图已删除。
SQL> create view empview3 as select empno,ename,deptno from emp where deptno=20 with read only;
视图已创建。
SQL> select * from empview3;
EMPNO ENAME DEPTNO
---------- -------------------- ----------
7788 SCOTT 20
7876 ADAMS 20
7902 FORD 20
SQL> update empview3 set deptno=40 where empno=7566;
update empview3 set deptno=40 where empno=7566
*
第 1 行出现错误:
ORA-42399: 无法对只读视图执行 DML 操作
无法对只读视图执行 DML 操作
懂???
一定要记住这个建议,避免把原表搞废了
下面的考试爱考
**简单视图:**要求只能是一张表
不存在count等函数
无分组
**复杂视图:**可以是一张,可以是多张表
可以有函数
有分组
如果你非要对视图进行增删改
那就要遵循严格的条件
即使是单表,你也要谨慎
当视图中存在以下情况时,不能增加,不能更新:
group by,distinct,组函数,列的定义的别的表达式
select sal+100 from emp;
这种列的表达式,把这个构建视图,是无法修改的
当视图中存在以下情况时,不能删除:
rownum伪列,group by,distinct,组函数
总之,最好就只读就行了
Oracle有一个文字录屏功能:
开启录屏,关闭录屏
开启:
spool d:\note.txt;
关闭:
spool off;
SQL> spool d:\oraclenote.txt;
SQL> select * from emp;
EMPNO ENAME JOB MGR HIREDATE SAL COMM DEPTNO
---------- -------------------- ------------------ ---------- -------------- ---------- ---------- ----------
7369 SMITH CLERK 7902 17-12月-80 800 40
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 40
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行。
SQL> spool off;
SQL>
然后你看看d盘的文件夹
行,关于视图的骚操作,今天就讲到这里
Internet上一个B类网络的子网掩码为255.255.252.0,则理论上每个子网的主机数最多可以有()台。
91是0101开头的子网
D死0110开头的子网,当然不是一样的
都是计算子网的
http状态码
链接:https://www.nowcoder.com/questionTerminal/b039900d70ea46ab89e16455b08d71c0
来源:牛客网
1xx(临时响应)表示临时响应并需要请求者继续执行操作的状态代码。
2xx (成功)表示成功处理了请求的状态代码。
3xx (重定向) 表示要完成请求,需要进一步操作。 通常,这些状态代码用来重定向。
301 (永久移动) 请求的网页已永久移动到新位置。 服务器返回此响应(对 GET 或 HEAD 请求的响应)时,会自动将请求者转到新位置。
302 (临时移动) 服务器目前从不同位置的网页响应请求,但请求者应继续使用原有位置来进行以后的请求。
4xx(请求错误) 这些状态代码表示请求可能出错,妨碍了服务器的处理。
403 (禁止) 服务器拒绝请求。
404 (未找到) 服务器找不到请求的网页。
5xx(服务器错误)这些状态代码表示服务器在尝试处理请求时发生内部错误。 这些错误可能是服务器本身的错误,而不是请求出错。
500 (服务器内部错误) 服务器遇到错误,无法完成请求。
502 (错误网关) 服务器作为网关或代理,从上游服务器收到无效响应。
VXLAN在云计算场景中主要解决了如下哪些问题()
ARP如何查看目标主机的MAC地址?
在linux编程中,以下哪个TCP的套接字选项与nagle算法的开启和关闭有关?
流量控制指的是发送端和接收端的协调机制,无连接服务做不到。
IP是无连接的,有拥塞控制没有流量控制。
当TTL<=1时,丢弃数据包,避免了网络拥塞。
流量控制指的是发送端和接收端的协调机制,无连接服务做不到。
对于网络拥塞控制描述正确的有( )
在子网192.168.4.0/30中,能接收目的地址为192.168.4.3的IP分组的最大主机数是()。
链接:https://www.nowcoder.com/questionTerminal/718044d2e8d9405186e00f62411bd52c
来源:牛客网
首先分析192.168.4.0/30这个网络,主机号只占2位,地址范围为192.168.4.0~192.168.4.3,主机号全1时,即192.168.4.3是广播地址,主机号全0表示本网络本身,不作为主机地址使用,因此可容纳4-2=2个主机。
【注意】有些题(特别是综合题)可能采用逆向思维模拟考查,给出最大容量的主机数,要求进行适当的子网划分,也必须依照上述规律而灵活应用。
就是从3号机子给另外俩机子发,反正00不能用
共享存储器是共享内存,管道是共享文件
拉胯的题目,咬文嚼字
恶心人
以下关于文件与目录命名的描述中正确的是()。
我为啥windows10就可以呢????????
缓冲区更多的是利用 内存作为缓冲区 ,如单缓冲区、双缓冲区、环形缓冲区和缓冲池。
而不是外存
以下描述不正确的是( )?
链接:https://www.nowcoder.com/questionTerminal/7708b700c8c04667b1266562fde0aa32
来源:牛客网
顺序访问的数据是连续的。硬盘的磁头是按一定的顺序访问磁片,磁头不做频繁的寻道,这样带来的结果是速度很快。
因为寻道时间是影响磁盘读写速度的主要原因。
在平常的应用中顺序访问的应用很少。大文件的连续备份,是顺序读写的。
随机访问主要是磁头在做频繁的移动,原因是数据在磁盘的不连续性,
这和数据存放到磁盘的过程有关系,随机访问的速度要比顺序访问慢很多
寄存器,cache,内存,左边快
这题目第二次错误了
采用分段技术,程序与相关数据被划分为同一组段,这组段包括程序段和数据段;
地址寄存器只有寻址到4g,所以虚存最大容量为4G
这里要注意,寻址空间是32位,不是说存储器大小
存储器大小还要考虑8bit是一个BYTE
这样就小很多哦
轮询任务调度与抢占式任务调度的区别?
链接:https://www.nowcoder.com/questionTerminal/330b82f632e745c8b7f87d305900f584
来源:牛客网
轮询调度算法的原理是每一次把来自用户的请求轮流分配给内部中的服务器,从1开始,直到N(内部服务器个数),然后重新开始循环。
抢占式任务调度允许调度程序根据某种原则去暂停某个正在执行的进程,将已分配给该进程的处理机重新分配给另一进程。抢占方式的优点是,可以防止一个长进程长时间占用处理机,能为大多数进程提供更公平的服务,特别是能满足对响应时间有着较严格要求的实时任务的需求。
因为抢占式调度可能会暂停一些进程,需要记录进程的运行状态,较为复杂。轮询式只需要轮流分配资源,调度简单。
总结
提示:重要经验:
1)
2)学好oracle,操作系统,计算机网络,即使经济寒冬,整个测开offer绝对不是问题!同时也是你考公网络警察的必经之路。
3)笔试求AC,可以不考虑空间复杂度,但是面试既要考虑时间复杂度最优,也要考虑空间复杂度最优。