计算机考研常见面试题

写在前面

本人参加20考研,由于复试没有具体要求会问哪几门课,所以我就找了网上一些常见的计算机专业的面试题,整理如下


主要结构:

  • 数据库
  • 软件工程
  • 操作系统
  • 计算机组成原理
  • 计算机网络
  • 数据结构
  • C++
  • Java


数据库

1、数据:数据库中存储的基本对象。

数据库:长期存储在计算机内的、有组织的、可共享的数据集合。
数据库管理系统:专门用于建立和管理数据库的一套软件。对外部程序提供访问数据库的方法,对内进行数据管理。
数据库系统:与和数据库相关的整个系统,一般由数据库、数据库管理系统、应用程序、数据库管理员和用户组成。

2、触发器的作用?

答:主要是通过事件来触发而被执行的。可以强化约束,来维护数据的完整性和一致性,可以跟踪数据库内的操作从而不允许未经许可的更新和变化。

3、什么是存储过程?用什么来调用?

答:存储过程是一组SQL语句,优点是允许模块化的设计,可以程序中就可以调用多次。而且存储过程只编译一次,如果某次操作需要执行多次SQL,使用存储过程比单纯SQL语句执行要快。
可以用一个命令对象来调用存储过程。

4、索引的作用?和它的优点缺点是什么?

答:索引就一种特殊的查询表,索引指定列的数据用某种数据结构进行排序。例如B+树
优点:加快数据库的检索速度。
缺点:需要额外的空间,且插入删除需要额外的时间
MySQL数据库几个基本的索引类型:
1、普通索引:没有任何限制
2、唯一索引:索引列的值必须唯一,但允许有空值。如果是组合索引,则列值的组合必须唯一。
3、主键索引:不允许有空值
4、全文索引:进行模糊查询

5、什么是事务?什么是锁?

答:事务一组sql语句,逻辑上构成一个整体。如果任何一个语句操作失败那么整个操作就被失败,以后操作就会回滚到操作前状态,也就是说要么全部执行,要么全部不执行。
锁:锁可以保证事务的完整性和并发性。在某段时间内不能使用某些数据或数据结构。
共享(S)锁:多个事务可封锁一个共享页;任何事务都不能修改该页;通常是该页被读取完毕,S锁立即被释放。
排它(X)锁:仅允许一个事务封锁此页;其他任何事务必须等到X锁被释放才能对该页进行访问;X锁一直到事务结束才能被释放。
更新(U)锁:用来预定要对此页施加X锁,它允许其他事务读,但不允许再施加U锁或X锁;当被读取的页将要被更新时,则升级为X锁;U锁一直到事务结束时才能被释放。

6、数据库的乐观锁和悲观锁是什么?

乐观锁:假设不会发生并发冲突,只在提交操作时检查是否违反数据完整性。
悲观锁:假定会发生并发冲突,屏蔽一切可能违反数据完整性的操作

7、什么叫视图?游标是什么?

答:视图是一种虚拟的表,只能进行查询和修改操作。只存储了原表的结构而不存储数据。对视图的修改不影响基本表。
优点:简化操作,安全性,可将重要的信息不加入视图
缺点:对视图的操作还是建立在原表上的,性能较差

8、DBMS是什么

数据库管理系统是管理数据库的软件(Mysql,Oracle)。用户就可以在抽象意义下处理数据,而不必顾及这些数据在计算机中的布局和物理位置。

9、数据库的三级模式

外模式 概念模式 内模式
1)外模式:以视图的形式展现给用户的。
2)概念模式:整个数据库中的逻辑结构,用来描述实体,以及它们之间的关系。
3)内模式:数据库的物理结构

10、范式是什么,内容有那些

在设计数据库时,为了使其冗余较小、结构合理,设计数据库时必须遵循一定的规则。在关系型数据库中,这种规则被称为范数。范数是符合某一设计规则的总结。
第一范式(1NF)数据库表中的所有字段值都是不可分割的原子值
第二范式(2NF)数据库表中的每一列都与主键完全相关,而不能只与主键的部分相关。
第三范式(3NF)数据库表中的每一列和主键直接相关,而不是间接相关。

11、超键、候选键分别是什么?

超键:在关系中能唯一标识元组的属性集称为关系模式的超键。
候选键:是最小超键,即没有冗余元素的超键。

12、数据库四大特性?

原子性:事务被视为不可分割的最小单元,事务的所有操作要么全部提交成功,要么全部失败回滚。
一致性:数据库在事务执行前后都保持一致性状态。
隔离性:一个事务所做的修改在最终提交以前,对其它事务是不可见的。
持久性:一旦事务提交,则其所做的修改将会永远保存到数据库中。

13、数据库与文件系统的比较?

相同:都是用来存储和访问数据的
不同点:1.管理对象不同:数据库管理的是数据,而文件系统管理的是文件;2.存储数据方式不同:数据库有统一的存储方式,而文件系统有多种方式
文件系统存储方式以及格式更加自由,数据库更加规范,共享性较好

14、数据模型?

层次数据模型:利用树来组织数据
网状数据模型:利用图来组织数据
关系数据模型:使用二维表格来存储数据

15、完整性约束

实体完整性约束:主键字段不能为空且不能重复;
参照完整性:相关联的表的数据一致性;
用户定义的完整性约束

16、主键和外键的区别?

主键在本表中是唯一的、不可为空的,外键可以重复可以为空

17、几种表连接方式,有什么区别?

内连接是保证两个表中所有的行都要满足连接条件(类似与交集)
在外连接中,只限制其中一个表的行,而不限制另一个表的行。分左连接、右连接、全连接三种

18、mysql和oracle的区别?

1、对事务的提交:MySQL默认是自动提交,而Oracle默认不自动提交,需要用户手动提交, 2、MySQL是轻量型数据库,并且免费;Oracle是重量型数据库,收费

19、触发器的触发类型?

行级触发器:相应的语句有影响到几行记录,就执行几次触发器
语句级触发器:只会在相应的语句执行前或者是执行之后执行一次

20、如何优化MySQL?

MySQL的优化主要涉及SQL语句及索引的优化、数据表结构的优化、系统配置的优化和硬件的优化四个方面

21、Mysql存储引擎?

MylSAM、MEMORY、InnoDB、Archive
只有InnoDB支持事务,其他都不支持;只有InnoDB支持外键,其他都不支持
1、如果要提供提交、回滚和恢复的事务安全(ACID 兼容)能力,并要求实现并发控制,InnoDB是一个很好的选择。
2、如果数据表主要用来插入和查询记录,则 MyISAM 引擎提供较高的处理效率。
3、如果只是临时存放数据,数据量不大,并且不需要较高的数据安全性,可以选择将数据保存在内存的 MEMORY 引擎中,MySQL 中使用该引擎作为临时表,存放查询的中间结果。
4、如果只有 INSERT 和 SELECT 操作,可以选择Archive 引擎,Archive 存储引擎支持高并发的插入操作,但是本身并不是事务安全的。Archive 存储引擎非常适合存储归档数据,如记录日志信息可以使用 Archive 引擎。

22、nosql数据库的特点

特点:
1、数据之间无关系,这样就非常容易扩展
2、大数据量,高性能
3、NoSQL无须事先为要存储的数据建立字段,随时可以存储自定义的数据格式

23、nosql和sql的比较?

1、存储方式:sql的存储方式是表格型的,nosql比较多
2、存储结构:sql是结构化数据,nosql是非结构化数据
3、存储规范
4、查询方式:sql的查询方式使用sql语言,nosql查询是以每个数据块为单位的
5、nosql对事务的处理不是很好
6、nosql支持的数据量比较大
7、nosql的性能比较强


软件工程

1、软件重用

指的是利用已经存在的软件元素建立新的软件系统,这其中的软件元素既可以是软件产品、源程序,也可以是文档、设计思想甚至是领域知识

2、什么是软件工程?

软件工程是指导软件开发和维护的工程学科。是采用工程的概念、原理、技术和方法来开发与维护软件。

3、数据流图的作用是什么?它有哪些基本成分?

数据流图是用于描绘信息流和数据从输入移动到输出的过程中所经受的变换

4、可行性研究主要研究什么问题?

技术可行性、经济可行性、操作可行性。

5、数据流图和数据字典

数据流图:描绘数据在软件中流动和被处理的逻辑过程。
数据字典:关于数据的信息的集合,也就是对数据流图中所包含的所有元素的定义的集合,其目的是对数据流图中的各个元素做出详细的说明。

6、软件工程的三要素

方法(开发方法)、工具(支持方法的工具)、过程(管理过程)。

7、软件工程开发模型
1、瀑布模型:明确规定每个阶段的任务
2、快速原型模型:不带反馈环的,使得采用这种模型的软件产品的开发基本上是线性顺序的
3、渐增模型:从部分需求出发,先建立一个不全面的系统,通过测试这个系统,进一步是系统扩充和完善
4、螺旋模型:
5、喷泉模型:从软件需求的形式规格说明出发,经过一系列的程序变化,得到最终结果

8、MVC模式:

Model(模型)是应用程序中用于处理应用程序数据逻辑的部分。
View(视图)是应用程序中处理数据显示的部分。
Controller(控制器)是应用程序中处理用户交互的部分。

9、常见的设计模式:

单例模式、工厂模式、适配器模式、观察者模式

10、软件工程步骤:问题的定义及规划、需求分析、概要设计、详细设计、编码、测试、验收、维护
11、软件测试类型:

白盒测试:了解程序内部的设计结构及具体的代码实现过程
黑盒测试:黑盒测试时是不考虑程序内部的结构和处理过程,只根据软件说明书来检查是否符合预期的功能要求
α测试:模拟各类用户对即将面市软件产品(称为α版本)进行测试(软件还未面世)
β测试:用户在不同场所进行测试(软件已经面试,用户已在使用,当有错误时自定提交错误报告)

评论 10
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值