408问答(科软复试一本通):
计网相关
1、什么是P2P?
端对端技术(peer-to-peer, 简称P2P)又称对等互联网络技术,是一种网络新技术,依赖网络中参与者的计算能力和带宽,而不是把依赖都聚集在较少的几台服务器上。
2、三种流量控制协议是什么?
停止等待协议:发送方每发送一帧都要等待接收方方回应信号才能发下一帧
后退N帧协议GBN:发送方可以发送N帧,接收方按序接受,重传的帧从最后一个确认帧开始。
选择重传协议SR:发送方一次可以发送N帧,接收方可以不用按序接收,重传没有确认的帧。
3、常用的信道复用技术有哪些?
频分复用:将多路信号调制到不同频率的载波上形成复合信号
时分复用:将物理信道按照时间分成若干片,轮流给不同信号使用
波分复用:在一根光纤中传播不同频率的光信号
码分复用:如CDMA技术(码分多址)用不同的编码来区分不同的信号
4、IPv4地址匮乏的解决办法?
①IPv6是根本解决办法。IPv4有32位、IPv6有128位。
②NAT网络地址转换技术。将专用网内部使用的本地ip地址转换成有效的外部使用的全球ip地址。此方法可以解决ip地址紧缺的问题。
③CIDR技术。消除了传统的A\B\C类IP地址以及划分子网的概念。可以更加有效地分配IPv4的地址空间。
5、IPv4与IPv6的不同点?
IPv4有32位、首部字段有12个、IPv4的ip地址表示形式是点分十进制。
Ipv6有128位、首部字段有8个、ipv6的ip地址表示形式是用冒号分隔每个16位、采用16进制。
6、IPv4与IPv6如何通信?
数据库相关:
1、什么是E-R图?
E-R模型是实体-联系模型,即概念模型,是数据库设计人员与用户之间进行交流的语言,简单清晰,易于理解。它反映了现实世界中事物内部以及事物之间的联系。实体之间的联系有一对一、一对多、多对多等多种联系。
2、数据库的数据模型有哪些?有什么特征?
层次模型(Hierarchical Model)
层次模型是数据库系统中最早出现的数据模型、层次模型用树形结构来表示各类实体以及实体间的联系
网状模型(Network Model)
网状数据库系统采用网状模型作为数据的组织方式、满足下面两个条件的基本层次联系的集合:
1. 允许一个以上的结点无双亲;
2. 一个结点可以有多于一个的双亲。
关系模型(Relational Model))
在用户观点下,关系模型中数据的逻辑结构是一张二维表,它由行和列组成。
-
组成:
-
关系(Relation)
-
一个关系对应通常说的一张表
-
-
元组(Tuple)
-
表中的一行即为一个元组
-
-
属性(Attribute)
-
表中的一列即为一个属性,给每一个属性起一个名称即属性名
-
-
主码(Key)
-
也称码键。表中的某个属性组,它可以唯一确定一个元组
-
-
-
域(Domain)
-
是一组具有相同数据类型的值的集合。属性的取值范围来自某个域。
-
-
分量
-
元组中的一个属性值。
-
-
关系模式
-
对关系的描述
-
关系名(属性1,属性2,…,属性n)
学生(学号,姓名,年龄,性别,系名,年级)
面向对象数据模型(Object Oriented Data Model)(略)
对象关系数据模型(Object Relational Data Model)(略)
半结构化数据模型(Semistruture Data Model)(略)
3、数据库中怎样预防死锁?
死锁发生在多个进程访问同一数据库时,其中每个进程拥有的锁都是其他进程所需的,由此造成的每个进程都无法继续下去。理解了死锁的原因,尤其是产生死锁的四个必要条件:
a、资源不能共享,需要只能由一个进程或者线程使用
b、请求且保持,已经锁定的资源自给保持着不释放
c、不剥夺,自给申请到的资源不能被别人剥夺
d、循环等待
预防死锁的办法:
a、尽量避免并发地执行涉及到修改数据的语句。 【这个应该是能想到的,但是确实没想到】
b、要求每个事务一次就将所有要使用的数据全部加锁,否则就不予执行。 【这个应该是能想到的,但是确实没想到】
c、预先规定一个封锁顺序,所有的事务都必须按这个顺序对数据执行封锁。如不同的过程在事务内部对对象的更新执行顺序应尽量保持一致。
d、每个事务的执行时间不可太长,在业务允许的情况下可以考虑将事务分割成为几个小事务来执行。【比如说把复杂的多表查询分散成多次单表查询】
4、什么是数据库的读锁、写锁?
读写锁实际是一种特殊的自旋锁,它把对共享资源的访问者划分成读者和写者。读者只对共享资源进行读访问,写者则需要对共享资源进行写操作。这种自旋锁能提高并发性。写者具有排他性,一个读写锁同时只能有一个写者或多个读者,但不能同时既有读者又有写者。
5、如何解决数据冗余问题?
关系数据库的数据冗余形成的原因:表的重复、属性的重复、元组的重复、属性值的重复。有的数据冗余用于数据间建立联系、数据安全或为了数据使用的便利,是必需的数据冗余,而其余的数据冗余为非必需的数据冗余应尽量予以消除。
数据冗余的解决办法:数据库范式设计
数据库范式是数据库设计中必不可少的知识,没有对范式的理解,就无法设计出高效率、优雅的数据库,甚至设计出错误的数据库。
a) 第一范式(1NF):属性不可分
b) 第二范式(2NF):符合1NF,并且,非主属性完全依赖于码。
c) 第三范式(3NF):符合2NF,并且,消除传递依赖
d) BC范式(BCNF):符合3NF,并且,主属性不依赖于主属性(如果关系模式属于第一范式,且每个属性都不传递依赖于键码,则R属于BC范式)
e)第四范式(4NF):符合3NF,4NF就是限制关系模式的属性之间不允许有非平凡且非函数依赖的多值依赖。4NF所允许的非平凡多值依赖实际上是函数依赖。多值依赖仅依赖于码。