计算机复试 -- 专业补充

数据库在数据比较多的时候应该做怎么样的优化?

特别大的访问量在数据库上时,往往查询速度会变得特别慢,可以从SQL查询语句优化、(主从复制、读写分离、负载均衡)、(数据库分表、分区、分库)三个方面进行

1、SQL查询语句优化:使用索引可以使得查询速度得到提升;借用explain(查询优化神器)选择更好的索引和优化查询语句;使用查询缓存,并尽量多的内存分配给MYSQL做缓存
2、主从复制、读写分离、负载均衡:通过配置两台或多台数据库的主从关系,可以将一台数据库服务器的数据更新同步到另外一台服务器。网站可以利用数据库这一特点实现数据库的读写分离,从而改善数据库的负载压力

3、数据库分表分区分库

CSMA\CD 是什么?那它的工作原理是什么

CSMA/CD就是载波监听多点接入/碰撞检测。在传统的共享以太网中,所有接地那共享传输介质。这个技术保证了传输介质有序、高效的为许多结点那传输服务。

工作原理:两端都检测到冲突,均停止发送数据,等待一个随机时间再重发。 

 

软件工程需求分析阶段用的哪些模型?

目前比较常用的需求分析方法主要有数据流分析法、原型分析法和基
于用例的分析法三种。

有穷集和无穷集用什么可以区分

有穷集就是指集合中元素数量是有限的,无穷集合值得是元素数量是无限的.

哪些因素可以影响计算机的运行速度?

硬件方面:

CPU弱了肯定会慢,内存小了数据传输会慢.;
显卡弱了显示高质量画面就会不流畅.;
主板芯片组也会对整体性能有较大影响,有的芯片组无法发挥出其它
电源功率不够会导致硬件工作不稳定,影响速度;
机箱散热不良,会使电脑工作不稳定。
2. 软件系统方面:
电脑同时后台运行软件数量;
是否中了病毒;

天河二号

天河二号170个机柜组成,一共装有3.2万颗主CPU4.8万个协处理器。计算速度快,存储量大,体积也非常大

目前,超算中心已构建起材料科学与工程计算、生物计算与个性化医疗、智慧城市大数据和云计算等6大应用服务平台。

为什么计算机网络中发送、接收端要缓存?

计算机的动作很快,如果在某一时刻接收进程开始执行接收的动作,但发送进程的发送动作稍微早了一点或稍微晚了一点(在收发双方事先未进行同步的情况下,发送时刻不可能恰好和接收时刻精确地重合),这都会使接收失败。因此,在计算机进程之间的通信过程中,广泛使用缓存。

数据结构的复杂度 o(1)是什么意思?
时间复杂度 O(n)表示程序运行时间跟 n 有关,并且是线性关系。
空间复杂度 O(1),表示所需空间为常量,并且与 n 无关。

二分排序可以用链表实现吗

二分查找也称折半查找(Binary Search),它是一种效率较高的查找方法。但是,折半查找要求线性表必须采用顺序存储结构,而且表中元素按关键字有序排列。因此是不能实现

怎样实现可靠传输?拥塞控制和流量控制有什么区别?

TCP可靠传输:通过字节单位的滑动窗口技术

TCP流量控制:实时调整接收窗口大小

TCP拥塞控制:用慢开始算法

区别:流量控制是通过滑动窗口实现的,滑动窗口分为发送端窗口和接收端窗口;而拥塞控制是通过拥塞窗口来实现的

UML 里面有哪些图

统一建模语言,是一种为面向对象系统产品进行说明、可视化和编制文档的一种标准语言。
UML 图包括九种:使用案例图、类图、对象图、构件图、部署图、活
动图、协作图、状态图、序列图。在这些图中使用案例图、类图、序
列图是最有用的。

1、需求
采用用例图描述需求。
2、 分析
采用类图描述静态结构
采用顺序图、合作图、活动图、状态图描 述动态行为
3、设计
采用类图、包,对类的接口进行设计
4、 实现
将类用某现象对象语言实现
5、继承与交付
构件图、包、部署图
6、 测试
单元测试——类图和类的说明书
软件设计周期

1、问题的定义及规划2、需求分析3、软件设计

4、程序编码5、软件测试6、运行维护

算法里面时间复杂度分析的大 O 表示什么?
渐进分析法最常用的表示方法是用于描述函数渐近行为的数学符号,更确切地说,它是用另一个(通常更简单的)函数来描述一个函数数量级的渐近上界

Java和Python的区别

一、python虚拟机没有java强,java虚拟机是java的核心python的核心是可以很方便地使用c语言函数或c++

二、python是全动态性的,可以在运行时自己修改自己的代码,java只能通过变通方法实现。python的变量是动态的,而java的变量是静态的,需要事先声明,所以java ide的代码提示功能优于python ide
三、JAVA 每行语句以分号结束,Python 可以不写分号。

32位操作系统能用16g内存吗?

不能。

32位操作系统内存寻址能力就是4G,最高4G。实际使用中,一般只能识别到3.25G
  所以,安装16G内存,有至少12G内存是永远用不到的,当然是浪费。拥有4G4G以上的内存,就要用64位系统了。64位系统目前最高可以识别192G左右的内存。

DNS

DNS domain name system 主要作用就是将主机域名转换为ip地址

1.根据域名,进行DNS域名解析;

2.拿到解析的IP地址,建立TCP连接;

3.IP地址,发送HTTP请求;

4.服务器处理请求;

5.返回响应结果;

6.关闭TCP连接;

7.浏览器解析HTML

8.浏览器布局渲染;

什么是物理内存?什么是虚拟内存?两者的关系?

物理内存(内存条):当打开程序时,系统会将程序自动加载到物理内存上。

虚拟内存(硬盘):虚拟内存是代替物理内存行使存储的功能,但无法代替物理内存行使加载程序的功能。

关系:当运行的程序过多,物理内存不够时,系统会将一部分硬盘空间当内存条使用,这就变成了虚拟内存。

 

动态规划

要求一个问题的最优解(通常是最大值或者最小值),而且该问题能够分解成若干个子问题,并且小问题之间也存在重叠的子问题,则考虑采用动态规划。

使用动态规划特征: 
1. 求一个问题的最优解 
2. 大问题可以分解为子问题,子问题还有重叠的更小的子问题 
3. 整体问题最优解取决于子问题的最优解(状态转移方程) 
4. 从上往下分析问题,从下往上解决问题 
5. 讨论底层的边界问题

求解过程:

1、划分阶段:按照问题的时间或空间特征,把问题分为若干个阶段。在划分阶段时,注意划分后的阶段一定要是有序的,否则问题无法解决

2、确定状态和状态变量:将问题发展发哦各个阶段时所处于的各种客观情况用不同的状态表示出来

3、确定决策并写出状态转移方程:因为决策和状态转移有着联系,状态转移就是根据上一阶段的状态和决策来导出本阶段的状态。

4、寻找边界条件:给出的状态转移方程是一个递推式,需要一个递推的终止条件或边界条件。

网络的拓扑结构

物理拓扑:描述了物理设备的布线方式
总线拓扑的方式:环形拓扑;星型拓扑;环形拓扑 (目前总线拓扑和环状拓扑在局域网中已经不怎么使用了)

 

计算机网络体系结构分层有什么好处

1、各层之间是独立的。层与层之间的服务不会互相干扰

2、灵活性强。当某一层变化时,其层与层直接的接口关系不变

3、结构上可分割。各层都有自己的协议和结构技术

4、易于实现与维护

5、能促进标准化工作

IPV4和IPV6的区别

1IPv6的地址空间更大IPv6128位冒号分十六进制表示,而IPV432位点分十进制表示

2IPv6的路由表更小IPv6的地址分配一开始就遵循Aggregation(聚类)的原则,这使得路由器能在路由表中用一条Entry(记录)表示一片子网,大大减小了路由器中路由表的长度,提交了路由器转发数据包的速度。

3、IPv6的组播支持以及对流的支持增强。这使得网络上的多媒体应用有了长足发展的机会,为服务质量控制提供了良好的网络平台。

4、IPv6加入了对自动配置的支持。这是对DHCP协议的改进和扩展,使得网络(尤其是局域网)的管理更加方便和快捷。

5.IPv6具有更高的安全性。在使用IPv6网络中,用户可以对网络层的数据进行加密IP报文进行校验,这极大地增强了网络安全。

 

HTTPS

HTTP超文本传输协议,是一个基于请求与响应,无状态的,应用层的协议,常基于TCP/IP协议传输数据,互联网上应用最为广泛的一种网络协议,HTTP有以下三个缺点:无加密,无身份认证,无完整性保护,因此所谓的HTTPS,它其实就是HTTP+加密+身份认证+完整性保护。HTTPS计算机网络进行安全通信的传输协议

 

SSL

SSL协议的三个特性

① 保密:在握手协议中定义了会话密钥后,所有的消息都被加密。

② 鉴别:可选的客户端认证,和强制的服务器端认证。

③ 完整性:传送的消息包括消息完整性检查(使用MAC)。

SSL的位置:SSL介于应用层和TCP层之间。应用层数据不再直接传递给传输层,而是传递给SSL层,SSL层对从应用层收到的数据进行加密,并增加自己的SSL头。

XML和HTML

 HTML(HyperTextMark-upLanguage)超文本标记语言,是WWW的描述语言

XMLExtentsibleMarkup Language(可扩展标记语言),是用来定义其它语言的一种元语言

1语法要求不同:

XML文档中,空白部分不会被解析器自动删除;但是html是过滤掉空格的。在html不区分大小写,在xml严格区分。

2标记不同:

1html使用固有的标记;xml没有固有的标记

2Html标签是预定义的XML标签是免费的、自定义的、可扩展的。

3作用不同:

html是用来显示数据的xml是用来描述数据、存放数据的

什么是cookie?   

cookie就是存储在客户端的一小段文本

cookie是一门客户端的技术,因为cookie是存储在客户端浏览器中的

cookie的作用:是为了实现客户端与服务器之间状态的保持

Cookie 存储在客户端中,而Session存储在服务器上相对来说 Session 安全性更高

 

计算机图形和图像的区别是什么? 了解哪些最新和最前沿的图形图像相关技术? 从哪些方面体现出最新或最前沿?

图形是指由外部轮廓线条构成的矢量图。

图像是由扫描仪、摄像机等输入设备捕捉实际的画面产生的数字图像,是由像素点阵构成的位图。

Computer Graphics,简称 CG 。 输入的是对虚拟场景的描述,通常为多边形数组, 而每个多边形由三个顶点组成,每个顶点包括三维坐标、 贴图坐标、rgb 颜色等。输出的是图像,即二维像素数组。(计算机图形)

Computer Vision,简称 CV。输入的是图像或图像序列 通常来自相机、摄像头或视频文件。 输出的是对于图像序列对应的真实世界的理解, 比如检测人脸、识别车牌。

 

数据库

MYSQLmySQL是一个小型关系型数据库管理系统,由于其体积小、速度快、总体拥有成本低,尤其是开放源码这一特点,许多中小型网站为了降低网站总体拥有成本而选择了MySQL作为网站数据库

区块链:本质上是一个去中心化的数据库,是一连串使用密码学方法的相关联的数据块,每一个数据块中包含了一段时间内全网的交易信息,用于验证其信息的有效性和生成下一个区块。所以说区块链是去中心化和去信任化的方式,来集体维护一个可靠数据库的技术方案。

redis缓存是基于key-value存储的内存缓存,提供listsetzsethash等数据结构类型,支持数据的备份完全基于内存,绝大部分请求是纯粹的内存操作,非常快速数据结构简单,对数据操作也简单,Redis中的数据结构是专门进行设计的;

给你一个网站,你如何测试?

首先,查找需求说明、网站设计等相关文档,分析测试需求。

功能、安全、数据库、界面、链接测试

posted @ 2020-03-23 11:07  TOWERB  阅读(327)  评论(0编辑  收藏  举报