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

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

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


文章目录

Oracle数据库知识点复习

伪表
不存在的表,只是为了满足语法

SQL> select * from dual;

DU
--
X

伪列:不属于任何一张表,所有表共享

SQL> select rownum,rowid from emp;

    ROWNUM ROWID
---------- ------------------
         1 AAAR3sAAEAAAACXAAA
         2 AAAR3sAAEAAAACXAAB
         3 AAAR3sAAEAAAACXAAC
         4 AAAR3sAAEAAAACXAAD
         5 AAAR3sAAEAAAACXAAE
         6 AAAR3sAAEAAAACXAAF
         7 AAAR3sAAEAAAACXAAG
         8 AAAR3sAAEAAAACXAAH
         9 AAAR3sAAEAAAACXAAI
        10 AAAR3sAAEAAAACXAAJ
        11 AAAR3sAAEAAAACXAAK
        12 AAAR3sAAEAAAACXAAL
        13 AAAR3sAAEAAAACXAAM
        14 AAAR3sAAEAAAACXAAN

已选择14行。
SQL> select rownum,rowid,emp.* from emp;

    ROWNUM ROWID                   EMPNO ENAME                JOB                       MGR HIREDATE              SAL        COMM     DEPTNO
---------- ------------------ ---------- -------------------- ------------------ ---------- -------------- ---------- ---------- ----------
         1 AAAR3sAAEAAAACXAAA       7369 SMITH                CLERK                    7902 17-12-80            800                     20
         2 AAAR3sAAEAAAACXAAB       7499 ALLEN                SALESMAN                 7698 20-2-81           1600         300         30
         3 AAAR3sAAEAAAACXAAC       7521 WARD                 SALESMAN                 7698 22-2-81           1250         500         30
         4 AAAR3sAAEAAAACXAAD       7566 JONES                MANAGER                  7839 02-4-81           2975                     20
         5 AAAR3sAAEAAAACXAAE       7654 MARTIN               SALESMAN                 7698 28-9-81           1250        1400         30
         6 AAAR3sAAEAAAACXAAF       7698 BLAKE                MANAGER                  7839 01-5-81           2850                     30
         7 AAAR3sAAEAAAACXAAG       7782 CLARK                MANAGER                  7839 09-6-81           2450                     10
         8 AAAR3sAAEAAAACXAAH       7788 SCOTT                ANALYST                  7566 19-4-87           3000                     20
         9 AAAR3sAAEAAAACXAAI       7839 KING                 PRESIDENT                     17-11-81           5000                     10
        10 AAAR3sAAEAAAACXAAJ       7844 TURNER               SALESMAN                 7698 08-9-81           1500           0         30
        11 AAAR3sAAEAAAACXAAK       7876 ADAMS                CLERK                    7788 23-5-87           1100                     20
        12 AAAR3sAAEAAAACXAAL       7900 JAMES                CLERK                    7698 03-12-81            950                     30
        13 AAAR3sAAEAAAACXAAM       7902 FORD                 ANALYST                  7566 03-12-81           3000                     20
        14 AAAR3sAAEAAAACXAAN       7934 MILLER               CLERK                    7782 23-1-82           1300                     10

已选择14行。

rowid是物理序列:硬盘的真实物理存放地址,懂?18位
rownum逻辑序列:逻辑地址

SQL> select rowid,rownum,emp.* from emp where empno>7788;

ROWID                  ROWNUM      EMPNO ENAME                JOB                       MGR HIREDATE              SAL       COMM     DEPTNO
------------------ ---------- ---------- -------------------- ------------------ ---------- -------------- ---------- ---------- ----------
AAAR3sAAEAAAACXAAI          1       7839 KING                 PRESIDENT                     17-11-81           5000                    10
AAAR3sAAEAAAACXAAJ          2       7844 TURNER               SALESMAN                 7698 08-9-81           1500          0         30
AAAR3sAAEAAAACXAAK          3       7876 ADAMS                CLERK                    7788 23-5-87           1100                    20
AAAR3sAAEAAAACXAAL          4       7900 JAMES                CLERK                    7698 03-12-81            950                    30
AAAR3sAAEAAAACXAAM          5       7902 FORD                 ANALYST                  7566 03-12-81           3000                    20
AAAR3sAAEAAAACXAAN          6       7934 MILLER               CLERK                    7782 23-1-82           1300                    10

已选择6行。

不同sql语句在执行时,rownum不见得相同,看见了么上面两次查询,不同
但是相同的sql语句执行时,rownum保持一致

SQL> select rowid,rownum,emp.* from emp where empno>7788;

ROWID                  ROWNUM      EMPNO ENAME                JOB                       MGR HIREDATE              SAL       COMM     DEPTNO
------------------ ---------- ---------- -------------------- ------------------ ---------- -------------- ---------- ---------- ----------
AAAR3sAAEAAAACXAAI          1       7839 KING                 PRESIDENT                     17-11-81           5000                    10
AAAR3sAAEAAAACXAAJ          2       7844 TURNER               SALESMAN                 7698 08-9-81           1500          0         30
AAAR3sAAEAAAACXAAK          3       7876 ADAMS                CLERK                    7788 23-5-87           1100                    20
AAAR3sAAEAAAACXAAL          4       7900 JAMES                CLERK                    7698 03-12-81            950                    30
AAAR3sAAEAAAACXAAM          5       7902 FORD                 ANALYST                  7566 03-12-81           3000                    20
AAAR3sAAEAAAACXAAN          6       7934 MILLER               CLERK                    7782 23-1-82           1300                    10

已选择6行。

我们可以拿这个rownum来排序
查看topk个数据

SQL> select rowid,rownum,e.ename,e.sal from emp e where rownum <=3 order by sal;

ROWID                  ROWNUM ENAME                       SAL
------------------ ---------- -------------------- ----------
AAAR3sAAEAAAACXAAA          1 SMITH                       800
AAAR3sAAEAAAACXAAC          3 WARD                       1250
AAAR3sAAEAAAACXAAB          2 ALLEN                      1600

SQL> select rowid,rownum,e.ename,e.sal from emp e where rownum <=3 order by sal desc;

ROWID                  ROWNUM ENAME                       SAL
------------------ ---------- -------------------- ----------
AAAR3sAAEAAAACXAAB          2 ALLEN                      1600
AAAR3sAAEAAAACXAAC          3 WARD                       1250
AAAR3sAAEAAAACXAAA          1 SMITH                       800

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行。

desc降序排队你要前三不对吧?
不,它是对的
对,因为rownum是不变的,你排序之后,自然rownum跟着排序了
人家排序就是对的,只不过,你筛选了rownum<=3的那些行

并不是咱们真正意义上的sal降序取取前三

SQL> select rowid,rownum,e.ename,e.sal from emp e order by sal desc;

ROWID                  ROWNUM ENAME                       SAL
------------------ ---------- -------------------- ----------
AAAR3sAAEAAAACXAAI          9 KING                       5000
AAAR3sAAEAAAACXAAM         13 FORD                       3000
AAAR3sAAEAAAACXAAH          8 SCOTT                      3000
AAAR3sAAEAAAACXAAD          4 JONES                      2975
AAAR3sAAEAAAACXAAF          6 BLAKE                      2850
AAAR3sAAEAAAACXAAG          7 CLARK                      2450
AAAR3sAAEAAAACXAAB          2 ALLEN                      1600
AAAR3sAAEAAAACXAAJ         10 TURNER                     1500
AAAR3sAAEAAAACXAAN         14 MILLER                     1300
AAAR3sAAEAAAACXAAC          3 WARD                       1250
AAAR3sAAEAAAACXAAE          5 MARTIN                     1250
AAAR3sAAEAAAACXAAK         11 ADAMS                      1100
AAAR3sAAEAAAACXAAL         12 JAMES                       950
AAAR3sAAEAAAACXAAA          1 SMITH                       800

已选择14行。

你看看是不是

真正的topN问题
通过子查询搞定
思路很简单的
先排序,拿排序这个结果,去展示它的rownum,再筛选rownum<=3的
你看看,先排序:

select * from emp order by sal desc;

SQL> select * from emp order by sal desc;

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

已选择14行。

再把它命令临时表格,然后生成rownum

SQL> select rowid,rownum,e.* from (select * from emp order by sal desc) e;

ROWID                  ROWNUM      EMPNO ENAME                JOB                       MGR HIREDATE              SAL       COMM     DEPTNO
------------------ ---------- ---------- -------------------- ------------------ ---------- -------------- ---------- ---------- ----------
AAAR3sAAEAAAACXAAI          1       7839 KING                 PRESIDENT                     17-11-81           5000                    10
AAAR3sAAEAAAACXAAM          2       7902 FORD                 ANALYST                  7566 03-12-81           3000                    20
AAAR3sAAEAAAACXAAH          3       7788 SCOTT                ANALYST                  7566 19-4-87           3000                    20
AAAR3sAAEAAAACXAAD          4       7566 JONES                MANAGER                  7839 02-4-81           2975                    20
AAAR3sAAEAAAACXAAF          5       7698 BLAKE                MANAGER                  7839 01-5-81           2850                    30
AAAR3sAAEAAAACXAAG          6       7782 CLARK                MANAGER                  7839 09-6-81           2450                    10
AAAR3sAAEAAAACXAAB          7       7499 ALLEN                SALESMAN                 7698 20-2-81           1600        300         30
AAAR3sAAEAAAACXAAJ          8       7844 TURNER               SALESMAN                 7698 08-9-81           1500          0         30
AAAR3sAAEAAAACXAAN          9       7934 MILLER               CLERK                    7782 23-1-82           1300                    10
AAAR3sAAEAAAACXAAC         10       7521 WARD                 SALESMAN                 7698 22-2-81           1250        500         30
AAAR3sAAEAAAACXAAE         11       7654 MARTIN               SALESMAN                 7698 28-9-81           1250       1400         30
AAAR3sAAEAAAACXAAK         12       7876 ADAMS                CLERK                    7788 23-5-87           1100                    20
AAAR3sAAEAAAACXAAL         13       7900 JAMES                CLERK                    7698 03-12-81            950                    30
AAAR3sAAEAAAACXAAA         14       7369 SMITH                CLERK                    7902 17-12-80            800                    20

已选择14行。

你看这样的话,rownum是新表e的
再筛选前三即可

SQL> select rowid,rownum,e.* from (select * from emp order by sal desc) e where rownum<=3;

ROWID                  ROWNUM      EMPNO ENAME                JOB                       MGR HIREDATE              SAL       COMM     DEPTNO
------------------ ---------- ---------- -------------------- ------------------ ---------- -------------- ---------- ---------- ----------
AAAR3sAAEAAAACXAAI          1       7839 KING                 PRESIDENT                     17-11-81           5000                    10
AAAR3sAAEAAAACXAAH          2       7788 SCOTT                ANALYST                  7566 19-4-87           3000                    20
AAAR3sAAEAAAACXAAM          3       7902 FORD                 ANALYST                  7566 03-12-81           3000                    20

这就是top3展示的方法

先子查询,把原始表格排序好的表当做新表
主查询给新表生成rownum,再去筛选rownum

很强!我自己都能想出来

rownum还能删除重复数据

SQL> select * from test1;

        ID NAME                                         DEPTNO        SAL      OTHER
---------- ---------------------------------------- ---------- ---------- ----------
         2 lisi                                             20      20000
         2 lisi                                             20      20000
         4 kk                                               30      15000
         4 kk                                               30      15000
         1 zhangsan                                         10      10000
         2 lisi                                             20      20000
         3 wangwu                                           20      20000
         4 kk                                               30      15000

已选择8行。

我们多加点重复数据
我们考虑删除重复的那些数据

SQL> select rownum,e.* from test1 e;

    ROWNUM         ID NAME                                         DEPTNO        SAL      OTHER
---------- ---------- ---------------------------------------- ---------- ---------- ----------
         1          2 lisi                                             20      20000
         2          2 lisi                                             20      20000
         3          4 kk                                               30      15000
         4          4 kk                                               30      15000
         5          1 zhangsan                                         10      10000
         6          2 lisi                                             20      20000
         7          3 wangwu                                           20      20000
         8          4 kk                                               30      15000

已选择8行。

伪列类似于新id

SQL> select rownum,test1.* from test1;

    ROWNUM         ID NAME                                         DEPTNO        SAL      OTHER
---------- ---------- ---------------------------------------- ---------- ---------- ----------
         1          2 lisi                                             20      20000
         2          2 lisi                                             20      20000
         3          4 kk                                               30      15000
         4          4 kk                                               30      15000
         5          1 zhangsan                                         10      10000
         6          2 lisi                                             20      20000
         7          3 wangwu                                           20      20000
         8          4 kk                                               30      15000

已选择8行。

SQL> delete from test1 where rownum=2;

已删除0行。

我咋就删除不了呢???????
?????
离谱
为啥子老师就可以呢?
在这里插入图片描述
难道2022年,这Oracle改版了?

SQL> delete from test1 where rownum=1;

已删除 1 行。

我操,可以删除rownum为1的

gg
骚啊
要不我们按照rowid删除吧

SQL> select rownum,rowid,test1.* from test1;

    ROWNUM ROWID                      ID NAME                                         DEPTNO        SAL      OTHER
---------- ------------------ ---------- ---------------------------------------- ---------- ---------- ----------
         1 AAASR9AAEAAAAIMAAB          2 lisi                                             20      20000
         2 AAASR9AAEAAAAIMAAC          4 kk                                               30      15000
         3 AAASR9AAEAAAAIMAAD          4 kk                                               30      15000
         4 AAASR9AAEAAAAIOAAA          1 zhangsan                                         10      10000
         5 AAASR9AAEAAAAIOAAB          2 lisi                                             20      20000
         6 AAASR9AAEAAAAIOAAC          3 wangwu                                           20      20000
         7 AAASR9AAEAAAAIOAAD          4 kk                                               30      15000

已选择7行。
SQL> delete from test1 where rowid='AAASR9AAEAAAAIMAAB';

已删除 1 行。

SQL> select rownum,rowid,test1.* from test1;

    ROWNUM ROWID                      ID NAME                                         DEPTNO        SAL      OTHER
---------- ------------------ ---------- ---------------------------------------- ---------- ---------- ----------
         1 AAASR9AAEAAAAIMAAC          4 kk                                               30      15000
         2 AAASR9AAEAAAAIMAAD          4 kk                                               30      15000
         3 AAASR9AAEAAAAIOAAA          1 zhangsan                                         10      10000
         4 AAASR9AAEAAAAIOAAB          2 lisi                                             20      20000
         5 AAASR9AAEAAAAIOAAC          3 wangwu                                           20      20000
         6 AAASR9AAEAAAAIOAAD          4 kk                                               30      15000

已选择6行。

反正OK
我们知道重复数据,可以通过这种方式删除

你能一句话,干掉所有重复数据吗?

先看rowid是啥?
物理地址18位

AAASR9AAEAAAAIMAAC
划分为4种
AAASR9  AAE  AAAAIM  AAC

前6位是数据对象编号
每个对象内部对应数据文件1,2,3,4,,,【依次往后数3位,就是文件编号】
每个文件内部对应块1,2,3,4,,,【依次往后数6位,就是块编号】
每个块对应行1,2,3,4,,,【依次往后数3位,就是行编号】
在这里插入图片描述
我们把

SQL> select rownum,rowid,test1.* from test1;

    ROWNUM ROWID                      ID NAME                                         DEPTNO        SAL      OTHER
---------- ------------------ ---------- ---------------------------------------- ---------- ---------- ----------
         1 AAASR9AAEAAAAIMAAC          4 kk                                               30      15000
         2 AAASR9AAEAAAAIMAAD          4 kk                                               30      15000
         3 AAASR9AAEAAAAIOAAA          1 zhangsan                                         10      10000
         4 AAASR9AAEAAAAIOAAB          2 lisi                                             20      20000
         5 AAASR9AAEAAAAIOAAC          3 wangwu                                           20      20000
         6 AAASR9AAEAAAAIOAAD          4 kk                                               30      15000

已选择6行。

表格的id分组,因为id有重复
这样的话,我们在每一组中只保留一条数据,不就完事了

select t.id from test1 t group by id;
分组
保留那个rowid的最大值即可,不就搞定了?
SQL> select t.id from test1 t group by id;

        ID
----------
         1
         2
         4
         3

然后咱们取这个里面的max(rowid)

SQL> select t.id,max(rowid) from test1 t group by id;

        ID MAX(ROWID)
---------- ------------------
         1 AAASR9AAEAAAAIOAAA
         2 AAASR9AAEAAAAIOAAB
         4 AAASR9AAEAAAAIOAAD
         3 AAASR9AAEAAAAIOAAC

其余的删除即可

SQL> delete from test1 where rowid not in(select max(rowid) from test1 t group by id);

已删除2行。
SQL> select * from test1;

        ID NAME                                         DEPTNO        SAL      OTHER
---------- ---------------------------------------- ---------- ---------- ----------
         1 zhangsan                                         10      10000
         2 lisi                                             20      20000
         3 wangwu                                           20      20000
         4 kk                                               30      15000

牛逼,重复的都干掉了
美滋滋

学会了哦这个玩意

ISP = Internet Server provider,

Internet 服务提供者的英文简写是 ()
在这里插入图片描述
这不应该,错了第2次了哦

使用RTS和CTS帧会使整个网络的效率有所下降

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

为了更好的解决隐蔽站带来的碰撞的问题,802.11允许要发送的数据的站对信道进行预约。具体的做法是:源站在发送数据帧之前先发送一个短的控制帧,叫作发送请求RTS,她包括源地址、目的地址和这次通信所需的时间。若信道空闲,则目的站就响应一个控制帧叫作允许发送CTS,它也包括这次通信所需的持续时间。
使用RTS和CTS帧会使整个网络的效率有所下降。但这两个控制帧都很短,其长度分别为20字节和14字节。与数据帧相比开销不算很大。相反,若不使用这种控制帧,则一旦发生碰撞而导致数据帧重发,则浪费很多时间。虽然如此。但协议还是设有三种情况:一种是使用RTS和CTS帧,另一种是只有当数据帧的长度超过某一数值是才使用RTS和CTS帧。还有一种是不使用RTS和CTS帧。

CTS与RTS机制是主要用来解决隐蔽站问题 对于无线网络WLAN使用CSMA/CA协议来说可以不使用这种机制
在这里插入图片描述

域名结构:主机名•结构名•网络名•顶级域名

这不是4层吗????
例如bnu.edu.cn,就是北师大的域名从右至左范围逐渐变小。
可能是3
懂了
在这里插入图片描述

IP地址200.23.16.0/23的网络掩码为( )

很好计算,9位主机,左边全是1
在这里插入图片描述

1000BASE —CX 网络可以采用的传输介质是( )

在这里插入图片描述

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

1000BASE-T:使用5类非屏蔽双绞线,双绞线长度可达到100m。
1000BASE-CX:使用屏蔽双绞线,双绞线长度可达到25m。
1000BASE-LX:使用波长为1300nm的单模光纤,光纤长度可达到3000m。
1000BASE-SX:使用波长为850nm的多模光纤,光纤长度可达到300~550m。
这题错了第2次了哦

好好记住

在系统间提供可靠的(TCP)数据传输的层次是()。传输层是在端到端之间提供可靠传输,即进程与进程之间。网络层:俩主机就是俩系统,也算是系统

链路层是点到点间通信,网络层是主机到主机,传输层是进程到进程。

所以,系统间的传输可以说网络层和传输层都是,但是可靠的就只有TCP了。TCP属于传输层。

在这里插入图片描述

加密算法:对称式加密,非对称式加密,单向函数加密,分组密码加密

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

对称式加密技术

对称式加密就是加密和解密使用同一个密钥,通常称之为“Session Key ”这种加密技术在当今被广泛采用,如美国政府所采用的DES加密标准就是一种典型的“对称式”加密法,它的Session Key长度为56bits。

非对称式加密技术

非对称式加密就是加密和解密所使用的不是同一个密钥,通常有两个密钥,称为“公钥”和“私钥”,它们两个必需配对使用,否则不能打开加密文件。
这里的“公钥”是指可以对外公布的,
“私钥”则不能,只能由持有人一个人知道。

它的优越性就在这里,因为对称式的加密方法如果是在网络上传输加密文件就很难不把密钥告诉对方,不管用什么方法都有可能被别人窃听到。
而非对称式的加密方法有两个密钥,且其中的“公钥”是可以公开的,也就不怕别人知道,
收件人解密时只要用自己的私钥即可以,这样就很好地避免了密钥的传输安全性问题。

单向函数介绍

给定任意两个集合X和Y。 函数f:X Y 称为单向的
如果对每一个x属于X,很容易计算出函数f(x)的值,而对大多数y属于Y, 要确定满足y=f(x)的x是计算上困难的(假设至少有这样一个x存在)。

注意,不能将单向函数的概念与数学意义上的不可逆函数的概念混同,
因为单向函数可能是一个数学意义上可逆或者一对一的函数,而一个不可逆函数却不一定是单向函数。

单向函数在密码学中的应用
前面说过,单向函数不能直接用作密码体制,因为它的求逆困难,用它加密的信息谁都不能解密。
但是,单向函数在密码学领域里却发挥着非常重要的作用。一个最简单的应用就是口令保护。

我们熟知的口令保护方法是用对称加密算法进行加密。然而,对称算法加密一是必须有密钥,二是该密钥对验证口令的系统必须是可知的,因此意味着验证口令的系统总是可以获取口令的明文的。这样在口令的使用者与验证口令的系统之间存在严重的信息不对称,姑且不说系统提供者非法获取用户口令的情况,一旦系统被攻破,可能造成所有用户口令的泄露。
使用单向函数对口令进行保护则可以很好地解决这一问题。系统方只存放口令经单向函数运算过的函数值,验证是将用户口令重新计算函数值与系统中存放的值进行比对。动态口令认证机制多是基于单向函数的应用来设计的。

单向函数的另一个应用是大家熟知的用于数字签名时产生信息摘要的单向散列函数。
由于公钥密码体制的运算量往往比较大,为了避免对待签文件进行全文签名,一般在签名运算前使用单向散列算法对签名文件进行摘要处理,将待签文件压缩成一个分组之内的定长位串,以提高签名的效率。MD5和SHA-1就是两个曾被广泛使用的、具有单向函数性质的摘要算法。有些学者把现实中使用的密码算法分成三类,单向散列函数就是其中很重要的一类,另外两类分别是公开钥(或非对称、双钥)算法和秘密钥(或对称、单钥)算法。

分组密码技术

分组密码(block cipher)的数学模型是将明文消息编码表示后的数字(简称明文数字)序列,划分成长度为n的组(可看成长度为n的矢量),每组分别在密钥的控制下变换成等长的输出数字(简称密文数字)序列。

优点
明文信息良好的扩展性,对插入的敏感性,不需要密钥同步,较强的适用性,适合作为加密标准。
缺点
加密速度慢,错误扩散和传播。
分组密码将定长的明文块转换成等长的密文,这一过程在秘钥的控制之下。使用逆向变换和同一密钥来实现解密。对于当前的许多分组密码,分组大小是 64 位,但这很可能会增加。
明文消息通常要比特定的分组大小长得多,而且使用不同的技术或操作方式。这样的方式示例有:电子编码本(ECB)、密码分组链接(CBC)或密码反馈(CFB)。ECB 使用同一个密钥简单地将每个明文块一个接一个地进行加密;在 CBC 方式中,每个明文块在加密前先与前一密文块进行“异或”运算,从而增加了复杂程度,可以使某些攻击更难以实施。 “输出反馈”方式(OFB)类似 CBC 方式,但是进行“异或”的量是独立生成的。 CBC 受到广泛使用,例如在 DES(qv)实现中,而且在有关密码术的技术性方面的相应书籍中深入讨论了各种方式。请注意:您自己建立的 密码系统的普遍弱点就是以简单的形式来使用某些公开的算法,而不是以提供了额外保护的特定方式使用。
迭代的分组密码是那些其加密过程有多次循环的密码,因此提高了安全性。在每个循环中,可以通过使用特殊的函数从初始秘钥派生出的子密钥来应用适当的变换。该附加的计算需求必然会影响可以管理加密的速度,因此在安全性需要和执行速度之间存在着一种平衡。天下没有免费的午餐,密码术也是如此;与其它地方一样,应用适当方法的技巧中有一部分是源于对需要进行的权衡以及它们与需求平衡的关系如何的理解。
分组密码包括DES、IDEA、SAFER、Blowfish和 Skipjack — 最后一个是“美国国家安全局(US National Security Agency,NSA)”限制器芯片中使用的算法。 [3]

以下哪个命令可查看本机的网络连接状态

在这里插入图片描述

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

ifconfig 查看网络情况
ipconfig /all 显示本机TCP/IP配置的详细信息
ping 测试网络连通
netstat 显示网络状态信息
nslookup 可以指定查询的类型,可以查到DNS记录的生存时间还,可以指定使用哪个DNS服务器进行解释

以下对HTTP协议描述正确的是:

在这里插入图片描述

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

A:HTTP是无连接:无连接的含义是限制每次连接只处理一个请求。
服务器处理完客户的请求,并收到客户的应答后,即断开连接。采用这种方式可以节省传输时间。

B:HTTP是媒体独立的:意味着,只要客户端和服务器知道如何处理的数据内容,任何类型的数据都可以通过HTTP发送。客户端以及服务器指定使用适合的MIME-type内容类型。

D:HTTP是基于客户端/服务端(C/S)的架构模型,通过一个可靠的链接来交换信息,是一个无状态的请求/响应协议。
在这里插入图片描述
在这里插入图片描述

下列关于SMTP 协议的叙述中,正确的是( )。

I.只支持传输 7 比特 ASC II 码内容
II.支持在邮件服务器之间发送邮件
III.支持从用户代理向邮件服务器发送邮件
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

第二次错误在这里插入图片描述

引起创建进程的事件:

1、用户登录
2、作业调度
3、提供服务(用户程序提出请求
4、应用请求(基于应用进程的需求
在这里插入图片描述
在这里插入图片描述

死锁的知识点,非常容易混淆

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

1. 预防死锁。

这是一种较简单和直观的事先预防的方法。方法是通过设置某些限制条件,去破坏产生死锁的四个必要条件中的一个或者几个,来预防发生死锁。预防死锁是一种较易实现的方法,已被广泛使用。但是由于所施加的限制条件往往太严格,可能会导致系统资源利用率和系统吞吐量降低。

2. 避免死锁。

该方法同样是属于事先预防的策略,但它并不须事先采取各种限制措施去破坏产生死锁的的四个必要条件,而是在资源的动态分配过程中,用某种方法去防止系统进入不安全状态【银行家算法】,从而避免发生死锁。

3. 检测死锁。

这种方法并不须事先采取任何限制性措施,也不必检查系统是否已经进入不安全区,此方法允许系统在运行过程中发生死锁。但可通过系统所设置的检测机构,及时地检测出死锁的发生,并精确地确定与死锁有关的进程和资源,然后采取适当措施,从系统中将已发生的死锁清除掉。

4. 解除死锁。

这是与检测死锁相配套的一种措施。当检测到系统中已发生死锁时,须将进程从死锁状态中解脱出来。
常用的实施方法是撤销或挂起一些进程,以便回收一些资源,再将这些资源分配给已处于阻塞状态的进程,使之转为就绪状态,以继续运行。死锁的检测和解除措施,有可能使系统获得较好的资源利用率和吞吐量,但在实现上难度也最大。
列举说明linux系统的各类异步机制

支持时间片轮转调度的实时操作系统中,下面哪些情况会发生任务切换?()

支持时间片轮转调度的实时操作系统,
进程使用互斥锁,
互斥锁不可用、
进程主动休眠、
进程被撤销、
进程当前时间片使用完
会发生任务切换。
在这里插入图片描述

在单缓冲区和双缓冲区结构下,读入并分析完该文件的时间分别是()。

在这里插入图片描述
在这里插入图片描述
单缓冲的话,缓冲过程中不能分析
但是双缓冲,在缓冲时,可以分析

使用一个信号量协调6个进程对4个同类临界资源的访问,下列哪个信号量值不应该出现()?

在这里插入图片描述

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

举个例子:4个同类临界资源就相当于停车场的车位数,6个进程就相当于要进入到停车场的车辆数。
如果有4辆车进到停车场,那么这时候就没有空车位了,
所以剩下的两辆车就要等待,此时的信号量为-2,所以,最小为-2

-3-4不可能

系统总线是微机中各插件板与系统板之间的总线,用于插件板一级的互连。

在这里插入图片描述
A:串行通信接口SCI属于内部总线,一种通用一部通信接口UART。------属于内部总线,所以A错误。

B:PCI总线属于系统总线,为显卡、声卡、网卡、MODEM等设备提供了连接接口

C:ISA总线标准是IBM公司为推出PC/AT机而建立的系统总线标准,对XT总线的扩展。

D:VESA总线是 1992年由60家附件卡制造商联合推出的一种局部总线,简称为VL总线。它的推出为微机系统总线体系结构的革新奠定了基础。该总线系统考虑到CPU与主存和Cache 的直接相连,通常把这部分总线称为CPU总线或主总线,其他设备通过VL总线与CPU总线相连,所以VL总线被称为局部总线。

骚啊

系统软件就是操作系统,应用软件就是跑在操作系统上的软件,如游戏软件,文档编辑软件等

在这里插入图片描述

假设共享变量 a=2,两个进程分别同时对 a 进行操作,其中一个进程进行 a+=2,另一个进程进 行 a-=2,最后得到的 a 的值不可能是( )。

操作系统中采用缓冲技术的目的是为了增强系统( )的能力。

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

CPU的速度远远快于内存,速度不协调,所以提出***技术,它的速度介于CPU和内存之间,这样可以花比较低的成本,求得比较高的性能。

不止内存,外存、IO设备的速度更慢,这些设备也一样有缓冲机制。

简而言之,***就是为了提高CPU和各种设备的并行程度。

同步信号量一般初值为0 互斥信号量初值一般为1

gg
在这里插入图片描述

分段系统中信息的逻辑地址到物理地址的变换是通过()来实现的。

在这里插入图片描述


总结

提示:重要经验:

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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

冰露可乐

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

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

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

打赏作者

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

抵扣说明:

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

余额充值