计算机复试问题

软件开发过程生命周期

软件开发过程(英语:software development process),或软件过程(英语:software process),是软件开发的开发生命周期

1.问题定义阶段:明确要解决的问题是什么?

2.可性行研究阶段:明确做不做? 用最小的代价在尽可能短的时间内从经济、技术、社会因素等方面论证解决方案 的可行性。

3.需求分析阶段: 明确做什么?

4.概要设计(总体设计)阶段:明确怎么做?

5.详细设计阶段:明确具体做法? 设计出程序的详细规格说明,即详细地设计每个模块,确定实现模块功能所需要 的算法和数据结构。 阶段性成果:详细设计规格说明书和单元测试计划等。

6.编码和单元测试阶段:编码和单元测试

7.综合测试阶段:通过各种类型的测试(及调试)使软件达到预定的要求。

8.软件维护阶段:各种必要的维护活动使系统持久地满足用户的要求。 改正性维护:诊断和改正在使用过程中发现的软件错误 适应性维护:修改软件易适应环境的变化 完善性维护:根据用户的要求改进或扩充软件使它更完善 预防性维护:修改软件为将来的维护活动预先做准备。

二叉树的优势

在实际使用时会根据链表和有序数组等数据结构的不同优势进行选择。

有序数组的优势在于二分查找,链表的优势在于数据项的插入和数据项的删除。但是在有序数组中插入数据就会很慢,同样在链表中查找数据项效率就很低。

二叉树可以利用链表和有序数组的优势,同时可以合并有序数组和链表的优势,二叉树也是一种常用的数据结构。

有序二叉树天然具有对数查找效率;二叉树天然具有链表特征。

高度为n的完全二叉树,节点数可以是

编译器的原理

词法分析是识别出句子中的单词

语法分析是分析句子的语法结构

语义分析及中间代码生成是根据句子的含义进行初步分析

代码优化是对译文进行修饰

目标代码生成是写出最后的译文

C++文件压缩

所谓文件压缩,其实就是将对应的字符编码转换为另一种占据字节数较少的编码来进行存储。

参考原文链接:https://blog.csdn.net/qq_33724710/article/details/52201777

编程语言

适用范围

Java

(1) 桌面应用,Web应用

(2) 企业级应用,安卓应用

(3) 软件工具,交易程序

(4) 大数据和科学应用

C++

(1) 游戏引擎服务器

(2) 图像处理,虚拟现实

(3) 音视频处理,压缩技术

(4) 数据库,安全协议

(5) 图形用户界面网络

(6) 科学计算,人工智能

(7) 编译器,调试器

(8) 木马,病毒

Python

(1) 网络爬虫,人工智能

(2) 科学计算,Web开发

(3) 大数据,云计算

(4) 量化金融,运维

(5) 图像,音视频处理

(6) 木马,病毒

Swift

(1) IOS及OS X开发

C#

(1) Windows桌面应用,Web 应用

SQL

(1) 数据库

JavaScript

(1) 网站前端,Web应用

(2) 网站后端,插件开发

HTML

(1) 这不是一门编程语言

(2) 网页生成

(3) 电子书制作

PHP

(1) 网站开发,电子商务

(2) Web应用,企业级应用

(3) 微信开发,客户端界面

Go

(1) 服务器,数据库

(2) 分布式大型系统,云平台

R

(1) 数据挖掘,统计分析

(2) 生物医学领域

(3) 自动化报告

Visual Basic .NET

(1) 可视化程序设计

(2) 木马,病毒

MATLAB

(1) 科学计算,仿真模拟

(2) 人工智能

二进制数字

采用二进制代码和二进制数码

网络爬虫怎么应对反爬虫机制

很多网络爬虫在工作的时候发现,很多网站都有反爬虫机制,网络爬虫怎么应对反爬虫机制呢? 一般反爬虫机制都是通过设置访问频率及访问的IP,如果抓取的频率过高,或者一直使用一个IP地址,就容易被禁止访问及封IP。应对反爬虫机制,可以尝试以下方法来解决。

1.首先可以把爬虫的抓取速度减慢,这样目标网站就没有那么大的压力,也不会到达反爬虫机制设置的目标阈值,但是这种方法也会减慢爬虫的工作。

 2.可以直接通过换IP的方法,来避免反爬虫机制限制IP的问题,换IP后就可以突破反爬虫机制继续高频率抓取了。

 

猜你喜欢

转载自blog.csdn.net/dujuancao11/article/details/105308400