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
select * from emp,deptno;
啥条件没有,直接挂接俩表——笛卡尔积,没意义
上面的条件,控制deptno相同的留下
这叫内连接
where表1和2的特定条件相同
select * from emp e,deptno d where e.deptno=d.deptno;
select * from emp e inner join deptno d on e.deptno=d.deptno;
SQL> select * from emp e,dept d where e.deptno=d.deptno;
EMPNO ENAME JOB MGR HIREDATE SAL COMM DEPTNO DEPTNO DNAME LOC
---------- -------------------- ------------------ ---------- -------------- ---------- ---------- ---------- ---------- ---------------------------- --------------------------
7782 CLARK MANAGER 7839 09-6月 -81 2450 10 10 ACCOUNTING NEW YORK
7839 KING PRESIDENT 17-11月-81 5000 10 10 ACCOUNTING NEW YORK
7934 MILLER CLERK 7782 23-1月 -82 1300 10 10 ACCOUNTING NEW YORK
7566 JONES MANAGER 7839 02-4月 -81 2975 20 20 RESEARCH DALLAS
7902 FORD ANALYST 7566 03-12月-81 3000 20 20 RESEARCH DALLAS
7876 ADAMS CLERK 7788 23-5月 -87 1100 20 20 RESEARCH DALLAS
7369 SMITH CLERK 7902 17-12月-80 800 20 20 RESEARCH DALLAS
7788 SCOTT ANALYST 7566 19-4月 -87 3000 20 20 RESEARCH DALLAS
7521 WARD SALESMAN 7698 22-2月 -81 1250 500 30 30 SALES CHICAGO
7844 TURNER SALESMAN 7698 08-9月 -81 1500 0 30 30 SALES CHICAGO
7499 ALLEN SALESMAN 7698 20-2月 -81 1600 300 30 30 SALES CHICAGO
7900 JAMES CLERK 7698 03-12月-81 950 30 30 SALES CHICAGO
7698 BLAKE MANAGER 7839 01-5月 -81 2850 30 30 SALES CHICAGO
7654 MARTIN SALESMAN 7698 28-9月 -81 1250 1400 30 30 SALES CHICAGO
已选择14行。
inner join on
join on默认也是inner join
SQL> select * from emp e inner join dept d on e.deptno=d.deptno;
EMPNO ENAME JOB MGR HIREDATE SAL COMM DEPTNO DEPTNO DNAME LOC
---------- -------------------- ------------------ ---------- -------------- ---------- ---------- ---------- ---------- ---------------------------- --------------------------
7782 CLARK MANAGER 7839 09-6月 -81 2450 10 10 ACCOUNTING NEW YORK
7839 KING PRESIDENT 17-11月-81 5000 10 10 ACCOUNTING NEW YORK
7934 MILLER CLERK 7782 23-1月 -82 1300 10 10 ACCOUNTING NEW YORK
7566 JONES MANAGER 7839 02-4月 -81 2975 20 20 RESEARCH DALLAS
7902 FORD ANALYST 7566 03-12月-81 3000 20 20 RESEARCH DALLAS
7876 ADAMS CLERK 7788 23-5月 -87 1100 20 20 RESEARCH DALLAS
7369 SMITH CLERK 7902 17-12月-80 800 20 20 RESEARCH DALLAS
7788 SCOTT ANALYST 7566 19-4月 -87 3000 20 20 RESEARCH DALLAS
7521 WARD SALESMAN 7698 22-2月 -81 1250 500 30 30 SALES CHICAGO
7844 TURNER SALESMAN 7698 08-9月 -81 1500 0 30 30 SALES CHICAGO
7499 ALLEN SALESMAN 7698 20-2月 -81 1600 300 30 30 SALES CHICAGO
7900 JAMES CLERK 7698 03-12月-81 950 30 30 SALES CHICAGO
7698 BLAKE MANAGER 7839 01-5月 -81 2850 30 30 SALES CHICAGO
7654 MARTIN SALESMAN 7698 28-9月 -81 1250 1400 30 30 SALES CHICAGO
已选择14行。
这也是等值连接
通过where和on划定特定的相等条件
左右是看表1,2哪个在左右的情况
左外,左表为基准,去匹配右表,全部显示左边的数据,右边展示部分数据
左外之后
如果是内连接的话,1004这个是左边的值是不显示的
select * from emp e left outer join dept d on e.deptno=d.deptno;
select * from emp e,dept d where e.deptno=d.deptno(+);
+对面全部显示,第二个写法是Oracle的独有写法
+对面全部显示
select * from emp e right outer join dept d on e.deptno=d.deptno;
select * from emp e,dept d where e.deptno(+)=d.deptno;
+对面全部显示
全外连接=左外+右外-交集去重
就是左右全部展示
select * from emp e full outer join dept d on e.deptno=d.deptno;
mysql是没有的这种写法
select e.empno,e.ename,m.empno,m.ename from emp e,emp m where e.mgr=m.empno;
左边是员工表
找这些员工们,他们的经理是谁?
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行。
你看看7092的经理是谁?
7566
查7566的名字是谁?
JONES
通过自己连接自己,就知道经理是谁了
SQL> select e.empno,e.ename,m.empno,m.ename from emp e,emp m where e.mgr=m.empno;
EMPNO ENAME EMPNO ENAME
---------- -------------------- ---------- --------------------
7902 FORD 7566 JONES
7788 SCOTT 7566 JONES
7844 TURNER 7698 BLAKE
7499 ALLEN 7698 BLAKE
7521 WARD 7698 BLAKE
7900 JAMES 7698 BLAKE
7654 MARTIN 7698 BLAKE
7934 MILLER 7782 CLARK
7876 ADAMS 7788 SCOTT
7698 BLAKE 7839 KING
7566 JONES 7839 KING
7782 CLARK 7839 KING
7369 SMITH 7902 FORD
已选择13行。
自连接比较耗费性能,N*N行
很多的
要是用二叉树来做层次连接的话,速度快多了
了解一波,后续有必要去玩
比scott工资高的员工信息
你得知道scott的工资是多少?
再去查:比scott工资高的员工信息
select sal from emp where ename='SCOTT';
SQL> select sal from emp where ename='SCOTT';
SAL
----------
3000
第二步,子查询
SQL> select * from emp where sal>(select sal from emp where ename='SCOTT');
EMPNO ENAME JOB MGR HIREDATE SAL COMM DEPTNO
---------- -------------------- ------------------ ---------- -------------- ---------- ---------- ----------
7839 KING PRESIDENT 17-11月-81 5000 10
子查询可以出现在where里面,可以写在select,having,from里面
不能卸载group by中哦
子查询放入select只能用where限定一个常量列值,拼在主查询之后
这语法可以,但是没啥价值和意义
但是语法不能出现子查询返回多行结果哦!!!
SQL> select empno,ename,(select job from emp) job from emp;
select empno,ename,(select job from emp) job from emp
*
第 1 行出现错误:
ORA-01427: 单行子查询返回多个行
SQL> select empno,ename,(select job from emp) job from emp where empno=7369;
select empno,ename,(select job from emp) job from emp where empno=7369
*
第 1 行出现错误:
ORA-01427: 单行子查询返回多个行
SQL> select empno,ename,(select job from emp where empno=7369) job from emp;
EMPNO ENAME JOB
---------- -------------------- ------------------
7369 SMITH CLERK
7499 ALLEN CLERK
7521 WARD CLERK
7566 JONES CLERK
7654 MARTIN CLERK
7698 BLAKE CLERK
7782 CLARK CLERK
7788 SCOTT CLERK
7839 KING CLERK
7844 TURNER CLERK
7876 ADAMS CLERK
7900 JAMES CLERK
7902 FORD CLERK
7934 MILLER CLERK
已选择14行。
having之后
查询最低工资,比10号部门的最低工资,要高的部门编号
咱们得知道分组之后的各个部门的最低工资
SQL> select deptno,min(sal) from emp group by deptno;
DEPTNO MIN(SAL)
---------- ----------
30 950
20 800
10 1300
然后才去筛选那些最低工资,竟然比30号这个部门的最低工资要高
SQL> select deptno,min(sal) from emp group by deptno having min(sal) > (select min(sal) from emp where deptno=30);
DEPTNO MIN(SAL)
---------- ----------
10 1300
后面有一个子查询,查30号部门的最低工资
然后前面主查询是分组,having筛选
from后面一直都可以写子查询
相当于新查出一个表来,把这个表当做新表
再去筛选
SQL> select e.sal from (select empno,ename,sal from emp) e;
SAL
----------
800
1600
1250
2975
1250
2850
2450
3000
5000
1500
1100
950
3000
1300
已选择14行。
SQL> select sal from (select empno,ename,sal from emp);
SAL
----------
800
1600
1250
2975
1250
2850
2450
3000
5000
1500
1100
950
3000
1300
已选择14行。
相当于从新表中找数据即可
SQL> select * from (select empno,ename,sal from emp);
EMPNO ENAME SAL
---------- -------------------- ----------
7369 SMITH 800
7499 ALLEN 1600
7521 WARD 1250
7566 JONES 2975
7654 MARTIN 1250
7698 BLAKE 2850
7782 CLARK 2450
7788 SCOTT 3000
7839 KING 5000
7844 TURNER 1500
7876 ADAMS 1100
7900 JAMES 950
7902 FORD 3000
7934 MILLER 1300
已选择14行。
这很简单吧
主查询和子查询,可以不是同一张表,正常
咱们子查询只需要一个结果而已
查询销售部的员工信息
销售部在dept表里面
SQL> select * from dept;
DEPTNO DNAME LOC
---------- ---------------------------- --------------------------
10 ACCOUNTING NEW YORK
20 RESEARCH DALLAS
30 SALES CHICAGO
40 OPERATIONS BOSTON
这里面有销售部名字,找到deptno
再拿着deptno去找emp的所有信息
SQL> select * from emp where deptno=(select deptno from dept where dname='SALES');
EMPNO ENAME JOB MGR HIREDATE SAL COMM DEPTNO
---------- -------------------- ------------------ ---------- -------------- ---------- ---------- ----------
7499 ALLEN SALESMAN 7698 20-2月 -81 1600 300 30
7521 WARD SALESMAN 7698 22-2月 -81 1250 500 30
7654 MARTIN SALESMAN 7698 28-9月 -81 1250 1400 30
7698 BLAKE MANAGER 7839 01-5月 -81 2850 30
7844 TURNER SALESMAN 7698 08-9月 -81 1500 0 30
7900 JAMES CLERK 7698 03-12月-81 950 30
已选择6行。
俩表不同,正好也能查出来,问题不大
你可以通过等值连接查
也可以通过子查询
子查询更加符合逻辑
子查询中可以使用单行操作符(=,!=,<,>),也可以使用多行操作符(in,>any,all)
in是范围查询,需要子查询有多个结果时,查询结果
查销售,或者财务
SQL> select deptno from dept where dname in('SALES','ACCOUNTING')
2 ;
DEPTNO
----------
10
30
子查询有多个结果
那么主查询不能是单行符号,应该是多行操作符in
SQL> select * from emp where deptno in(select deptno from dept where dname in('SALES','ACCOUNTING'));
EMPNO ENAME JOB MGR HIREDATE SAL COMM DEPTNO
---------- -------------------- ------------------ ---------- -------------- ---------- ---------- ----------
7782 CLARK MANAGER 7839 09-6月 -81 2450 10
7839 KING PRESIDENT 17-11月-81 5000 10
7934 MILLER CLERK 7782 23-1月 -82 1300 10
7521 WARD SALESMAN 7698 22-2月 -81 1250 500 30
7844 TURNER SALESMAN 7698 08-9月 -81 1500 0 30
7499 ALLEN SALESMAN 7698 20-2月 -81 1600 300 30
7900 JAMES CLERK 7698 03-12月-81 950 30
7698 BLAKE MANAGER 7839 01-5月 -81 2850 30
7654 MARTIN SALESMAN 7698 28-9月 -81 1250 1400 30
已选择9行。
查询工资比30号部门中的某一个员工工资高的员工信息
这种要用any
SQL> select * from emp where sal>any(select sal from emp where deptno=30);
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
已选择12行。
SQL> select * from emp where sal>(select min(sal) from emp where deptno=30);
EMPNO ENAME JOB MGR HIREDATE SAL COMM DEPTNO
---------- -------------------- ------------------ ---------- -------------- ---------- ---------- ----------
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
7902 FORD ANALYST 7566 03-12月-81 3000 20
7934 MILLER CLERK 7782 23-1月 -82 1300 10
已选择12行。
SQL> select min(sal) from emp where deptno=30;
MIN(SAL)
----------
950
这俩写法都正确
所以子查询可以用聚合函数
好说
any就是有其一即可
那要是查询,比30号部门中所有薪资高的呢?
用all
SQL> select * from emp where sal>(select max(sal) from emp where deptno=30);
EMPNO ENAME JOB MGR HIREDATE SAL COMM DEPTNO
---------- -------------------- ------------------ ---------- -------------- ---------- ---------- ----------
7566 JONES MANAGER 7839 02-4月 -81 2975 20
7788 SCOTT ANALYST 7566 19-4月 -87 3000 20
7839 KING PRESIDENT 17-11月-81 5000 10
7902 FORD ANALYST 7566 03-12月-81 3000 20
SQL> select * from emp where sal>all(select sal from emp where deptno=30);
EMPNO ENAME JOB MGR HIREDATE SAL COMM DEPTNO
---------- -------------------- ------------------ ---------- -------------- ---------- ---------- ----------
7566 JONES MANAGER 7839 02-4月 -81 2975 20
7788 SCOTT ANALYST 7566 19-4月 -87 3000 20
7902 FORD ANALYST 7566 03-12月-81 3000 20
7839 KING PRESIDENT 17-11月-81 5000 10
SQL> select max(sal) from emp where deptno=30;
MAX(SAL)
----------
2850
all就是全部,整体
子查询里面之前收过了,不能出现null,否则查不出来
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行。
SQL> select * from emp where mgr in(9092,null);
未选定行
SQL> select * from emp where mgr not in(9092,null);
未选定行
反正in里面不能写null
gg
懂吧
in是 = or = or =
null并不是某个值,不能用=对比,只能用is比较
这就是为啥in里面不能放null的原因。
not in
是!= and != and !=
这里也是等值对比,不能用null
SQL> select * from emp where mgr is null;
EMPNO ENAME JOB MGR HIREDATE SAL COMM DEPTNO
---------- -------------------- ------------------ ---------- -------------- ---------- ---------- ----------
7839 KING PRESIDENT 17-11月-81 5000 10
SQL> select * from emp where mgr is not null;
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
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
已选择13行。
只能用is,is not
啥叫不是领导呢?
mgr是null是最高领导
empno如果在mgr中,说明它就是领导
如果没有你,就不是领导
SQL> select * from emp where empno not in(select mgr from emp where mgr is not null);
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
7654 MARTIN SALESMAN 7698 28-9月 -81 1250 1400 30
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
7934 MILLER CLERK 7782 23-1月 -82 1300 10
已选择8行。
这些员工都不是领导
不要再子查询中排序
排序知识为了看着方便,我们看的是主查询的结果,不需要看子查询哦
未来分页表中,可以考虑子查询排序,将来我们再说。
FTP(File Transfer Protocol,文件传输协议)默认情况下FTP协议使用TCP端口中的 20和21这两个端口,其中20用于传输数据,21用于传输控制信息。控制 Socket 用来传送命令,数据 Socket 是用于传 送数据。 FTP的传输有两种方式:ASCII、二进制。
链接:https://www.nowcoder.com/questionTerminal/a40ab1893aa04d58a6837583b4ea524f
来源:牛客网
pathping 是指提供有关在源和目标之间的中间跃点处网络滞后和网络丢失的信息。
pathping 8.8.8.8
nslookup可以指定查询的类型,可以查到DNS记录的生存时间还可以指定使用哪个 DNS服务器 进行解释。
nslookup www.baidu.com
C:\Users\13439>nslookup www.baidu.com
服务器: boxapi.sutongwang.com
Address: 192.168.8.1
非权威应答:
名称: www.a.shifen.com
Addresses: 110.242.68.4
110.242.68.3
Aliases: www.baidu.com
C:\Users\13439>pathping www.baidu.com
通过最多 30 个跃点跟踪
到 www.a.shifen.com [110.242.68.4] 的路由:
0 windows10.microdone.cn [192.168.8.126]
1 boxapi.sutongwang.com [192.168.8.1]
2 192.168.1.1
3 10.70.0.1
4 * * *
正在计算统计信息,已耗时 75 秒...
链接:https://www.nowcoder.com/questionTerminal/1b09d254ec3d474a987a5b23a5548113
来源:牛客网
利用集线器连接的局域网叫共享式局域网,利用交换机连接的局域网叫交换式局域网。
以太网中采用的工作方式是CSMA/CD(载波监听多路访问/冲突检测)
共享和交换这两个概念。
打个比方,10个车道的马路,车辆在无序的状态下抢道或占道通行,容易发生交通堵塞和反向行驶的车辆对撞,使通行能力降低,共享式网络。
为了避免这种情况,在道路上标清行车线,保证每一辆车各行其道、互不干扰,是交换式网络。
而交换式网络则避免了共享式网络的不足,交换技术的作用便是根据所传递信息包的目的地址,将每一信息包独立地从端口送至目的端口,避免了与其它端口发生碰撞,提高了网络的实际吞吐量。
共享式以太网存在的主要问题是所有用户共享带宽,每个用户的实际可用带宽随网络用户数的增加而递减。这是因为当信息繁忙时,多个用户都可能同进“争用”一个信道,而一个通道在某一时刻只充许一个用户占用,所以大量的经常处于监测等待状态,致使信号在传送时产生抖动、停滞或失真,严重影响了网络的性能。
交换式以太网中,交换机供给每个用户专用的信息通道,除非两个源端口企图将信息同时发往同一目的端口,否则各个源端口与各自的目的端口之间可同时进行通信而不发生冲突。
交换机只是在工作方式上与集线器不同,其它的连接方式、速度选择等则与集线器基本相同
网卡也不例外,相同的
链接:https://www.nowcoder.com/questionTerminal/2a84a6a2fa1d4e4ca5ba769807926638
来源:牛客网
DCE(数据通信设备),具有一定的数据处理能力和数据收发能力的设备,由DTE提供或接收数据。
常见的DCE设备有:数据通信设备或电路连接设备,如调制解调器MODEM,连接DTE设备的通信设备。
DTE和DCE的区分事实上只是针对串行端口的,
路由器通常通过串行端口连接广域网络。
链接:https://www.nowcoder.com/questionTerminal/c40f04c2be1244aea143229eb9c6ac9b
来源:牛客网
TCP 报文段首部的前 20 个字节是固定的,后面有 4n 字节是根据需要而增加的选项 (n 是整数)。
一个IP数据报首部的长度也是20字节,再加上60字节的数据,一个IP数据报的总长度为100字节,可以知道数据占60%。
IP数据报总长度100
链接:https://www.nowcoder.com/questionTerminal/e811e97211314dca993e12d91d89df31
来源:牛客网
数据链路层在物理层提供的服务的基础上向网络层提供服务,
其最基本的服务是将源机网络层来的数据可靠地传输到相邻节点的目标机网络层。为达到这一目的,数据链路必须具备一系列相应的功能,主要有:
如何将数据组合成 数据块 ,在数据链路层中称这种数据块为帧(frame),帧是数据链路层的传送单位;
如何控制帧在 物理信道 上的传输,包括如何处理传输差错,如何调节发送速率以使与接收方相匹配;以及在两个网络实体之间提供数据链路通路的建立、维持和释放的管理。
数据链路层包含LLC逻辑链路层子层和MAC 介质访问控制 子层。 移动通信系统 中Uu口协议的第二层,也叫层二或L2。
链接:https://www.nowcoder.com/questionTerminal/5aff671503394b6da07da0e51d22203a
来源:牛客网
第一 个 段的确认段中通告的 接收 窗口大小为2000字节,即表明在接受到第一个报文段后,还有2000字节的缓存空间可用。
由于发送方发送了二个报文段,第二个段将占用剩下的2000字节中的1000字节,
即一共还有( 2000-1000=1000 )字节,因而 此时主机甲还可以向主机乙发送的最大字节数是1000字节 。
妥了
链接:https://www.nowcoder.com/questionTerminal/87837236c1cd4089bd31078bb92900cb
来源:牛客网
虚电路是分组交换的两种传输方式中的一种。
在通信和网络中,虚电路是由分组交换通信所提供的面向连接的通信服务。
在两个节点或应用进程之间建立起一个逻辑上的连接或虚电路后,就可以在两个节点之间依次发送每一个分组,接收端收到分组的顺序必然与发送端的发送顺序一致,因此接收端无须负责在接收分组后重新进行排序。虚电路协议向高层协议隐藏了将数据分割成段,包或帧的过程。
网络层可提供两种网络:数据报网络和虚电路网络,
英特网是数据报网络。虚电路网络是面向连接的(传输数据前先进行握手),数据报网络无连接服务。网络层只能提供上述两种网络之一(而传输层可以同时提供面向连接的TCP服务和非连接的UDP服务)
数据报网络(尽力而为是指数据报网络?)中,端系统每要发送一个分组,就为该分组加上目的端系统的地址,然后将该分组推进网络。数据报网路中不维护连接状态信息,但有转发状态信息。每个路由器使用一个分组的目的地址来转发该分组。路由器匹配目的地址时,使用最大前缀匹配规则。转发表大概每1~5分钟由路由算法更新一次
电路交换的多路复用技术:TDM和FDM
骚啊,记住了
只有一台CPU,它做不到多重处理
链接:https://www.nowcoder.com/questionTerminal/902cf56fc32c41ecaf949e060073987f
来源:牛客网
多任务处理:同一个时间内计算机系统中如果允许多个进程同时处于运行状态,这便是多任务。
多重处理:对于有多个CPU的计算机,同时在每一个CPU上执行进程称为多重处理。
只有一个CPU的计算机,操作系统可以进行多进程并发执行,实现多任务处理。
如果一台有多个CPU的计算机,操作系统既能进行多任务处理又能进行多重处理。
动态,时间上推进
先来先服务
256的平方级索引项
每个项1024B
1KB
2的8+8次方
2的6
提示:重要经验:
1)
2)学好oracle,操作系统,计算机网络,即使经济寒冬,整个测开offer绝对不是问题!同时也是你考公网络警察的必经之路。
3)笔试求AC,可以不考虑空间复杂度,但是面试既要考虑时间复杂度最优,也要考虑空间复杂度最优。