计算机考研复试常见题型

 

1.数据库设计过程

需求分析阶段(根据用户对功能、性能的需求进行分析);

概念结构设计阶段(根据需求设计E-R图);

逻辑结构设计阶段(E-R图转为表);

物理结构设计阶段(存储结构 存储路径的设计);

数据库实施阶段;

数据库运行和维护阶段;

2.事务及特性:

是一个数据库操作序列,这些操作要么全做,要么全不做,是一个不可分割的工作单位。

原子性:要么全做,要么全不做。如果发生错误,会回滚到之前的状态。

一致性:并行执行的事务必须与串行执行的结果相一致。

隔离性:事务的执行不受其他事务的干扰。

永久性:事务执行完之后,数据永久保存。

3.黑盒测试白盒测试

黑盒测试也称功能测试:在不清楚结构的情况下进行功能的测试。(等价类划分法,边界值分析法)

白盒测试也称结构测试:在清楚结构的情况下发现编码过程中的错误。

4.软件危机

落后的软件生产方式无法满足迅速增长的软件需求,从而导致软件开发与维护过程中出现一系列严重问题的现象。

主要表现:

开发进度难以预测

开发成本难以控制

用户对产品功能难以满足

产品质量无法保证

产品难以维护

5.软件工程

是一门研究用工程化方法构建和维护高质量的软件的学科。

6.进程和线程

进程的出现是因为程序这个静态概念已经不能如实反映并发执行过程的特征,进程可以更好地使多道程序并发执行,提高资源利用率。

线程:属于“轻量级的进程”,可以减少时空开销,进一步提高资源利用率。

进程是拥有资源的基本单位。系统开销相比线程大得多。

线程是独立调度的基本单位。线程不拥有资源但可以访问所属进程的资源。

什么时候用线程:在执行一些细小任务需要频繁创建销毁,频繁切换时,使用线程会大大减少系统开销。

作业:要求计算机完成的一串任务称为作业。作业调度时将其从外存后备队列调入内存,为其建立根进程,根进程又会创建子进程去完成指定任务。

7.面向过程和面向对象

面向过程将问题分解成一个个步骤,再用函数实现各个步骤。

面向对象把客观事物抽象成 “对象”。对同类对象抽象出其共性,形成类。其中包含他的属性和方法。

修改需求时面向过程要重新编写代码。而面向对象无需更改原有的类,只需增加相应的类来实现该需求。

(炒饭和盖浇饭)

8.面向对象的三个基本特征:封装、继承、多态。

封装:也就是把客观事物封装成抽象的

继承:它可以使用父类的所有功能,并可对这些功能进行扩展。

多态:同一个方法,不同的对象会产生不同的行为。根据传过去的引用或者指针的类型去决定到底执行哪个类的函数。

实现多态有两种方式,覆盖,重载。

覆盖:子类重新定义父类的虚函数。

重载:函数名相同,参数表不同。

9.public private protected修饰的函数的区别

private:只能被本类中的成员函数引用。

protected:可以被该类中的函数、子类的函数访问,但无法被对象访问。

public:既可以被该类中的函数、子类的函数访问,也可以被对象访问。

10. 三级调度

作业调度(高级):从外存的后备队列中挑选作业进入内存,为其创建进程,分配资源。

内存调度(中级):暂不运行的进程调入外存挂起,运行时再解挂。

处理机调度(低级):根据某种算法分配CPU给某个进程。

11. 计算机工作过程

程序和数据装入内存;

源程序转化为可执行文件

执行可执行文件。

12. 源程序->可执行文件

编译:形成汇编语言

汇编:形成机器语言

链接:形成可执行文件(此时在磁盘上,运行时需要装入内存形成物理地址)

13. 链表和数组

空间上:数组需要连续存储空间。链表用指针相连,支持动态增长。

内存占用:链表的指针需要额外存储空间。

插入删除:链表仅需修改指针,数组需要大量移动元素。

随机存取:数组支持。

14. IP->MAC转换(查-广播-响应)

采用ARP协议。

① A先在ARP高速缓冲中查找,有则将MAC帧发往该硬件地址。②无则广播ARP请求,③目的主机收到后,向A响应ARP请求,发送映射关系。④A将映射关系写入缓存,再将MAC帧发往该硬件地址。

(RARP:逆地址解析协议MAC-> IP

工作过程:①主机从网卡上读取MAC地址,②然后广播RARP请求。③RARP服务器响应请求,为其分配IP地址。)

15. 算法的概念及其特性

定义:对特定问题求解步骤的一种描述。

有穷性:有限步后结束。

确定性:每一步都有明确的定义。

可行性:算法中的操作都可以通过有限次基本运算来实现。

输入:0个或多个输入。

输出:1个或多个输出。

16. 什么是O

O表示算法复杂度 ,他需要通过时间复杂度和空间复杂度来描述。

时间复杂度是程序中所有语句被执行的次数之和的数量级函数。

空间复杂度是关于算法所耗费的存储空间的函数。若算法所需辅助空间为常量,则空间复杂度是O(1),即原地工作。

17. 排序算法

快排复杂度怎么来的:

最好为O(nlogn)。每次需要将数组分成两半进行比较交换,最好情况下每次都分为等长两个部分,则需要logn次划分。最差情况下分为n-1个元素和0个元素,则需n次划分。

不管最好还是最差划分 每趟排序都需要对元素进行n次比较,所以最好为nlogn,最差为n^2。

每次随机选择基准元素可以使得最坏情况几乎不会发生。

基数排序:将所有待比较数统一为同样的长度,不足的前面补零 。然后对每个数的第i位数进行比较,插入相应的队列,最后将队列用指针链接。如此循环直到最高位比较完毕。

时间复杂度为d(n+r),其中d为关键字个数。r为队列数,n为排序数。

18. IPv4和IPv6

前者地址32位,后者地址128位,根本上解决了IP地址耗尽的问题。(CIDR和NAT非根本上解决)

IPv6同时提高了安全性。

19. 死锁

定义:多个进程因资源竞争而造成的僵局

原因:系统资源的竞争;进程推进非法。

必要条件(不满足任意一个则不发生死锁):互斥;不可剥夺;请求并保持;循环等待

解决死锁:

  预防:破坏必要条件

  避免:银行家算法和安全性算法(先用银行家算法预先分配资源,再用安全性算法检测这次分配是否安全,也就是是否能找到一个安全序列,能则正式分配,否则撤回之前的分配)

检测与解除:看资源分配图是否可简化(死锁定理:如果资源分配图可以化简则没有死锁)

如何打破循环等待造成的死锁:

1)      逐个撤销处于死锁状态的进程。

2)      撤销所有处于死锁状态的进程。

3)      抢占处于死锁状态以外的进程的资源分给死锁进程。

4)      处于死锁状态的进程逐个放弃所占用的资源。

20. 可抢占式 非抢占式

可抢占:当有优先级更高的进程到达时,暂停正在运行的进程分配CPU给优先级高的进程。

不可抢占:不会暂停正在运行的进程,而是等该进程主动让出(时间片用完或发生事件等待)。

21. http和https

HTTP 是超文本传输协议,信息是明文传输,HTTPS 则是使用SSL技术的加密传输协议

http的连接简单,是无状态的;HTTPS相对比较安全。

他们的连接方式、端口号也不同。

https需要到ca申请证书,需要一定费用。

22. python的赋值;深拷贝;浅拷贝

直接赋值:就是引用。

浅拷贝:拷贝父对象,不会拷贝子对象(仍然是引用)。

深拷贝:完全拷贝了父对象及其子对象。两者完全独立了。

import copy

a = [1, 2, 3, 4, ['a', 'b']] #原始对象

b = a                      #赋值,传对象的引用

c = copy.copy(a)             #对象拷贝,浅拷贝

d = copy.deepcopy(a)        #对象拷贝,深拷贝

a.append(5)                 #修改对象a

a[4].append('c')              #修改对象a中的['a', 'b']数组对象

print( 'a = ', a )

print( 'b = ', b )

print( 'c = ', c )

print( 'd = ', d )

输出:

('a = ', [1, 2, 3, 4, ['a', 'b', 'c'], 5])

('b = ', [1, 2, 3, 4, ['a', 'b', 'c'], 5])

('c = ', [1, 2, 3, 4, ['a', 'b', 'c']])

('d = ', [1, 2, 3, 4, ['a', 'b']])

23. python的多继承

一个子类可以继承多个父类。

当多个父类有相同名字的方法时:如果子类有重写 就调用子类的。如果没有重写,按照继承的顺序调用第一个父类的。

24. 贪心;dp;分治

贪心:只考虑当前最优解,而非全局最优。

dp:考虑到全局最优,求解子问题过程中保留可能的局部最优,从下往上,一步步对比出全局最优。

它在实现的过程中,需要存储一些状态,所以是一种以空间换时间的技术。

分治:顾名思义分而治之,将问题分为若干与原问题相似的互相独立的子问题(dp则是重叠子问题),递归解决再合并结果。如归并排序。

25. 操作系统定义 特性 功能

定义:计算机资源的管理者。

特性:

并发:同一时间间隔内发生;并行:同一时刻。

共享:资源共享。并发共享互为条件。

虚拟:将一个物理设备变为若干逻辑上的设备。

异步:因为资源有限,所以走走停停。

功能:进程管理;存储器管理;文件管理;设备管理的功能。

26. 各种操作系统

多道批处理特点:多道;宏观上并行;微观上串行。无法实现交互。(用户不知道进度)

分时操作系统:把CPU的时间分为一个个时间片,把时间片分配给各作业。可以实现交互。

实时操作系统:收到信号及时处理。及时性和可靠性。

27. 计算机网络边缘部分的通信方式

C/S:(客户端/服务器模式):用户表示层(包括页面显示和逻辑处理)和数据层两层。服务器与客户端是服务与被服务的关系,分别是服务提供方和服务请求方,都需要使用核心部分提供的功能,双向通信。

B/S(浏览器/服务器模式):表现层;逻辑层;数据层三层。

P2P:不区分服务请求方与提供方,都是对等的实体。

28. 云计算和物联网

云计算是一种商业模式。云计算服务提供商将资源池化(如计算,存储资源),用户可以通过网络付费访问。可以将云服务提供商比作自来水厂,用户按需付费索取水资源。

物联网:通过传感器把任何物品与互联网相连,进行信息交换和通信,来实现对物品的管理的一种网络。(物联网需要处理大量数据,所以离不开云计算)

29. 大数据和人工智能

大数据:海量数据。在海量数据中搜寻有价值的数据就需要云计算提供数据的计算存储服务。

人工智能包括图像识别,语音识别,机器人等领域,人工智能的智能就是通过大数据计算分析出来的智慧,所以也需要云计算提供数据的计算存储服务。

30. JVM(java虚拟机)包含在JDK(java开发工具包)中。

虚拟机类似翻译官;所有Java文件要编译成统一的字节码,虚拟机将字节码翻译成各个系统对应的机器码,实现一次编写,到处运行。

31. C和JAVA的区别

java支持跨平台,所有Java文件要编译成统一的字节码,虚拟机将字节码翻译成各个系统对应的机器码,实现一次编写,到处运行。C不行。

C用于编写底层程序,运行速度较快。

一个面向过程一个面向对象。

32. 三次握手

第一次:客户端发送连接请求报文段,其中SYN置1。

第二次:服务器端发送确认报文段,其中SYN=1,ACK=1。

第三次:客户端收到服务器端的确认报文段后,再此发送确认报文段,其中ACK=1。

为什么要三次握手:

如果不使用三次握手,此时有一个滞留在网络中的 SYN 报文段,突然传送到 B 了。B 就以为 A 现在请求建立 TCP 连接,就分配资源,等待 A 传送数据。但 A 并没有想要建立 TCP 连接,也不会向 B 传送数据。浪费了B的资源。

如果使用三报文握手,那么 B 在收到 A 发送的陈旧的 SYN 报文段后,就向 A 发送 SYN报文段,当 A收到 B 的 SYN 报文段时,从确认号就可得知不应当理睬这个 SYN 报文段。这时, A 发送复位报文段。B 收到 A 的 复位报文段后,就知道不能建立 TCP 连接,不会等待 A 发送数据了。

33. 四次挥手(2 3 4 3)

FIN=1 seq=x          

      seq=y ACK=1 ack=x+1

FIN=1 seq=u ACK=1 ack=x+1

       seq=x+1 ACK=1 ack=u+1

34. 为什么要4次挥手

发送方发送完数据后会通知接收方释放连接,接收方确认后发送方进入半关闭状态。当接收方也没有数据要发送的时候,则发出连接释放的通知,对方确认后才完全关闭了TCP连接。

35. 词法分析器

输入源程序,按照某种规则分解成一系列单词、符号。

36. 一个指针占几个字节

指针就是地址,对一般编译器而言任何类型的指针变量都占用4个字节。

37. 确定的有穷自动机和不确定的有穷自动机

确定的有穷自动机就是说当一个状态面对一个输入符号的时候,它所转换到的是一个唯一确定的状态;而不确定的有穷自动机它所转换到的可以是一个状态集合。确定的有穷自动机开始状态是唯一的,而不确定的有穷自动机开始状态是一个状态集合。

另外:

有穷自动机用于编译中的词法分析。

词法分析就是判断每个词语是否符合规范。

语法分析则是判断每个语句是否符合语法规范。

38. TCP和UDP

TCP:使用前建立连接,使用后释放连接。提供可靠交付(按时按序不重复)。面向字节流。

UDP特点:无连接;尽最大努力传输(不故意丢失报文段);面向报文。

39. 局部变量和全局变量同名

使得在函数内用到该变量时,使用到的时局部变量而非全局变量。

40. 永真式和永假式

永真式:对于一个公式,对它的任一解释其值都为真。

永假式:反之。

41. 用白军和蓝军解释 没有100%可靠的通信

蓝军对白军发电文说:明天中午发起攻击,收到请确认

白军收到电文并加以确认:收到,请确认

蓝军:收到,请确认

白军:收到,请确认

就这样,蓝军和白军一直在信息确认中。所以设计不出100%可靠的协议。

42. 数据库保护又叫做数据库控制。

安全性控制,完整性控制,并发性控制和数据恢复。

安全性控制:防止对数据库的非法使用。

完整性控制:保护数据的正确性和相容性。

并发性控制:防止多个用户同时操作数据库时出现错误。

数据恢复:当出现错误时,恢复到某一正确状态。

43. 完整性约束

为了保证数据的正确性和相容性,对关系模型提出的某种约束。有实体完整性;参照完整性;用户定义完整性。

44. 和文件系统相比数据库系统的优点

① 提高了独立性。

② 提高了共享性,可以多个用户同时访问。

③ 减少了数据冗余。

45. 系统调用

是用户程序取得os服务的唯一途径。凡是与资源有关的操作(内存管理,文件管理,进程管理)都应通过系统调用请求os代为完成。系统调用可以看作特殊的公共子程序。

用户态->核心态:中断;系统调用;用户程序企图执行特权指令。

  1. 46.  带宽

最高数据传输速率,每秒传输多少比特数。

47. 范式

可以理解为一张数据表的表结构所满足的某种设计标准的级别。

1NF:要求表中的属性都不可再分。(问题:数据冗余,增删改异常)

2NF:要求不存在非主属性对码的部分函数依赖。

码:可以唯一确定一条数据的属性集合。

非主属性:除了码的其他属性。

部分函数依赖:非主属性可以由码中的一部分决定。而不是需要整个码才能决定。(相对于完全函数依赖)如姓名这个非主属性可以由码的一部分(学号)决定,所以是部分函数依赖。

3NF:要求不存在非主属性对码的传递函数依赖。

传递函数依赖:A依赖B,B依赖C,那么A依赖C。

48. 解决忙等问题,从而实现“让权等待”:

忙等:当一个进程进入不了临界区时,他还会一直while循环试探,直到CPU时间片用完,浪费资源。

解决:采用记录型信号量机制。它用整型变量代表资源数,同时用链表存储等待资源的进程。当进程申请资源时,资源数-1,此时若资源数<0,则将该进程插入等待队列,放弃CPU使用权,从而实现让权等待。

49. 指针和引用的区别

1)指针是一个变量,存储的是一个地址,指向内存的一个存储单元;引用跟原来的变量实质上是同一个东西,只不过是它的一个别名。

2)指针可以为空。引用不行,且引用必须初始化;

3)指针可以有多级,引用不行。

为什么要用引用:函数调用时不会生成副本占用内存,同时也可提高传参的效率。

如:void Swap(int &a, int &b){

    int temp = a;

    a = b;

    b = temp;

}

Swap(a,b);

50. 数据库中的数据模型

层次模型;网状模型;关系模型。

51. 关系数据库的操作

法(选头镰锄)

52. 以太网和无线局域网发送数据是否需要确认

无线局域网需要,以太网不需要。

因为无线局域网的MAC协议不进行碰撞检测,且无线信道易受干扰,所以需要确认。而以太网有线网络中,可以实现碰撞检测,且误码率低,所以无需可靠传输。

53. 栈

先进后出;只能在一端进行操作;操作受限的线性表。

54. 软件工程的重构和设计模式

设计模式(不分语言):是对代码开发经验的总结,是解决特定问题的一系列套路,类似于模板。

重构:并不改变功能,只是对内部结构进行调整,使其更好理解和使用。

55. 软件开发模式

是指软件开发全部过程、活动和任务的结构框架。

比如瀑布开发模式(瀑布模型)就是典型的开发模式:它最早强调开发应有完整的周期,且必须完整地经历每个周期内的每个阶段,缺点是缺少灵活性。

56. α、β、λ测试

表示软件测试中的三个阶段。

α是第一阶段,一般用于内部测试;

β是第二个阶段,已经消除了软件中大部分的不完善之处,

但仍有可能还存在缺陷,一般只提供给特定的用户群来测试使用;

λ是第三个阶段,此时产品已经相当成熟,只需在个别地方再做进一步的优化处理即可。

57. 分布式处理大数据

分布式处理是相对于集中式处理而言的。

每台计算机都拥有自己的存储和处理设备,原先集中在单节点上的庞大计算任务被分给分布式网络中的计算机并行处理。

分布式计算优点:(性能+扩展+并行处理)

1.分布式网络中的每台机器都能存储和处理数据,降低了成本以及对机器性能的要求。

2. 拓展性极强,在当前系统存储或计算能力不足时,可以简单地通过增加PC机的方式来增加系统的处理和存储能力;

3. 处理能力极强。庞大的计算任务可以在合理分割后由分布式网络中的机器并行地处理。

58. 弗洛伊德算法

三层for循环,n^3的复杂度。

最外层表示:最开始只允许经过1号顶点进行中转,接下来只允许经过1和2号顶点进行中转……允许经过1~n号所有顶点进行中转,求任意两点之间的最短路程。

59. 机器学习,深度学习

深度学习是一种特殊的机器学习。

机器学习需要人为给出特征让机器学习,而深度学习会自动找出特征进行学习。

深度学习适合处理大数据,而数据量比较小的时候,用传统机器学习也许更合适。

60. 监督式机器学习、无监督式机器学习和半监督式机器学习

机器学习分为监督式机器学习、无监督式机器学习和半监督式机器学习。其划分的标准是训练样本是否包含人为标注的结果。

(1)监督式机器学习(概念学习):从给定的标注样本学习出一个函数,当新的数据到来时,可以根据这个函数预测结果。算法主要有:回归和分类。

(2)无监督式机器学习(归纳推理):与监督学习相比,训练样本没有人为标注的结果。

(3)半监督式机器学习:是监督学习和无监督学习相结合的一种学习方法。它主要考虑如何利用少量的标注样本和大量的未标注样本进行训练。

61. nice准则和香农定理

适用条件;数据传输速率计算公式;优化速率方案三个方面。

 

62. 虚函数、纯虚函数(抽象函数)、 抽象类

虚函数:那些被virtual修饰的函数,作用就是实现多态。

纯虚函数(抽象函数):没有具体内容的函数,一般用"= 0"修饰。

抽象类:指至少含有一个抽象函数的类,抽象类不能被实例化,它实际上是提供了一个接口,即用户不需要关心具体的实现。

63. 普适计算

是一个强调和环境融为一体的计算概念,在此模式下,人们能够在任何时间、任何地点、以任何方式进行信息的获取与处理。

64. UML

统一建模语言,全称是Unified Modeling Language。是面向对象设计的建模工具。

65. E-R图即E-R模型

即实体-联系图,由实体,属性和联系组成。在数据库设计中被广泛使用的建模工具。

66. 视图

基于SQL语句结果集的可视化表,是一个虚表,它本身不存放数据,只是为了更好地简化操作,满足用户不同需求。

67. 公共密钥和传统密钥的区别

从密钥个数上来说:2个,一个是公钥一个是私钥;双方共享同一个密钥。

从密钥保存方式上来说:公钥公开,私钥是个人的;双方共享同密钥。

最后公钥 密钥分配简单但速度慢。

68. 指令和数据都存于存储器中,计算机如何区分它们?

主要通过不同的时间段来区分指令和数据,即:取指周期取出的为指令,执行周期取出的为数据。

69. TCP/IP4层和ISO7层

网络接口层:包括物理层(透明传输比特流,规定与传输媒体接口的一些特性,包括机械,电气,功能,过程特性),数据链路层(封装成帧 透明传输 差错检测)

网际层:(路由选择 分组转发 异构网络互联)

传输层:(可差留用?--TCP/IP提供可靠传输,UDP尽最大努力交付,差错控制,流量控制,复用分用)

应用层:(直接为用户进程提供服务)

IOS:

物链网输 同上

会话层:建立管理和终止会话

表示层:处理交换信息的表示方式,如数据压缩,加密解密

应用层:直接为用户进程提供服务

区别和联系:

同:都体现分层结构 下层服务上层

都有网络 传输 应用层

异:层数 7和4

       支持连接不同

       应用规模不同

70. TCP/IP中各层的PDU

首先PDU是对等实体传输的数据单位。PDU=PCI+SDU。

物理:比特流;数据链路:帧;网络层:分组;

传输:报文段;应用:报文。

71. 网络层协议:

ARP;IP;ICMP;IGMP

ICMP:网络控制报文协议,主机或路由器报告差错或异常来提高交付成功的机会。

72. 中继器和集线器;网桥和交换机;路由器区别(多层域,扩带点)

集线器是多端口的中继器,交换机是多端口的网桥。

分别工作在物理层;数据链路层;网络层;

分别不能隔离;可以隔离冲突域;可以隔离冲突域和广播域。

前面的只是扩大地理范围,而路由器可以支持异构网络互联。

集线器均分带宽,而交换机独占带宽。

73. 网卡

是连接电脑与局域网的设备。因为网卡和局域网的数据传输是通过双绞线串行传输,而网卡和计算机的数据传输是通过I/O总线并行传输的,所以网卡主要功能是实现数据的串并转化,另外也可以实现帧的发送与接收。

74. 平衡二叉树本质是二叉搜索树。

75. 堆和栈区别

栈存储的是局部变量而堆存储实体;

栈内存的更新速度高于堆;

栈内存的生命周期一结束就会被释放而堆不定时回收。

76. dfs的非递归实现

 

77. new和malloc区别

int *p = new int;

int *p = (int *)malloc(10*sizeof(int));

1)属性

new/delete是C++关键字,需要编译器支持。malloc/free是库函数,需要头文件支持。

2)内存大小

new会根据对象类型指定内存块的大小。而malloc则需要显式地指出所需内存的尺寸。

3)返回类型

new返回的是对象类型的指针。而malloc则返回void *,需要强制类型转换。

78. C++中的静态变量和静态函数

类静态变量在编译时创建并初始化。

静态变量和静态函数用static关键字修饰,他们属于类,不属于任何对象,为所有此类的对象所共享。正因为如此,静态函数不能访问非静态成员。

79. const

指变量或函数的值不可被更新,为了防止意外的修改,增强代码的健壮性。

80. 内存泄漏

指程序中已动态分配的内存由于某种原因未释放或无法释放,造成内存的浪费,导致程序崩溃等严重后果。

如何避免:

动态分配内存的指针最好不要再次赋值。

若需要赋值,应该注意被赋值指针需要不需要释放。

比如pq分别指向某一内存块,此时将p=q,则p原来指向的内存块将无法找到,也就无法释放。

81. 冯·诺依曼计算机的特点是什么(五一俩顺中)

由运算器、控制器、存储器、输入设备、输出设备五大部件组成;

指令和数据以同一形式(二进制形式)存于存储器中;

指令由操作码、地址码两大部分组成;

指令顺序存放

以运算器为中心(现在的计算机以存储器为中心)

82. HTTP和HTTPS的区别

https协议需要到ca申请证书,需要一定费用。

HTTP 是超文本传输协议,信息是明文传输,HTTPS 则是使用SSL技术的加密传输协议。

HTTP 和 HTTPS 使用的是完全不同的连接方式,前者的端口号是80,后者是443。

http的连接简单,是无状态的;HTTPS协议比http协议安全。

83. 在浏览器中输入url地址到显示主页的过程/点击超链接后发生的事件

1)浏览器分析URL。

2)向DNS请求域名解析,DNS解析出IP地址

3)建立TCP链接

4)浏览器发出HTTP请求,服务器响应HTTP请求

5)释放TCP连接

6)浏览器显示信息。

84. MVC模式

M是模型model,V是视图view,C是控制器controller。

它强制性地使应用程序的输入、处理和输出分开,它们各自处理自己的任务。最典型的MVC就是JSP+ servlet+ javabean的模式。

JSP(Java Server Pages即view,实现数据的展示)

servlet (即controller,用于处理请求)

javabean(即model,将创建的对象进行打包,供JSP,servlet等使用)

85. 三层C/S结构

表示层:负责用户与应用间的交互。

功能层:处理业务逻辑。

数据层:对数据库数据的读写。

86. 软件测试的四个阶段【单元测试、集成测试、系统测试和验收测试】

单元测试:用于检验局部代码逻辑或功能上的错误。

集成测试:对模块间的接口进行测试。

系统测试:工程师对整个系统进行测试。

验收测试:用户对整个系统进行测试。

posted @ 2022-03-28 22:19  -第4题-  阅读(768)  评论(0)    收藏  举报