北京科技大学计算机专业硕士生面试题---计算机类研究生面试试题.doc_第1页
北京科技大学计算机专业硕士生面试题---计算机类研究生面试试题.doc_第2页
北京科技大学计算机专业硕士生面试题---计算机类研究生面试试题.doc_第3页
北京科技大学计算机专业硕士生面试题---计算机类研究生面试试题.doc_第4页
北京科技大学计算机专业硕士生面试题---计算机类研究生面试试题.doc_第5页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1 软件工程:如什么是软件危机,如何避免?软件危机(Software Crisis) 是计算机软件在它的开发和维护过程中所遇到的一系列严重问题。概括地说,主要包含两方面的问题:如何开发软件,怎样满足对软件日益增长的需求;如何维护数量不断膨胀的已有软件。为了克服这一危机,一方面需要对程序设计方法、程序的正确性和软件的可靠性等问题进行系列的研究;另一方面,也需要对软件的编制、测试、维护和管理的方法进行研究,从而产生了程序设计方法学。软件危机的主要表现:1. 对软件开发成本和进度的估计常常很不准确。 实际成本比估计成本有可能高出一个数量级,实际进度比预期进度拖延几个月甚至几年的现象并不罕见。这种现象降低了开发组织的信誉。为赶进度和节约成本所采取的权宜之计往往又损害了软件产品的质量,从而不可避免地引起用户的不满。 2. 用户对“已完成的”软件系统不满意的现象经常发生。 软件开发人员常常在对用户需求只有模糊的了解,甚至对所要解决的问题还没有确切认识的情况下,就仓促上阵匆忙着手编写程序。软件开发人员和用户之间的交流往往很不充分,“闭门造车”必然导致最终产品不符合用户实际需要。 3. 软件产品的质量常常靠不住。 软件可靠性和质量保证的确切定量概念刚刚出现,软件质量保证技术(审查、复审和测试)还没有坚持不懈地应用到软件开发的全过程中,这些都会导致软件产品发生质量问题。 4. 软件常常是不可维护的。 程序中的错误很难改正,实际上不可能使这些程序适应新的硬件环境,也不能根据用户的需求在原有程序中增加新的功能。 5. 软件通常没有适当的文档资料。 软件不仅是程序,还应该有一整套文档资料。这些文档资料是在软件开发过程中产生出来的,而且应该是“最新的”(与代码完全一致)。缺乏文档必然给软件的开发和维护带来许多严重的困难和问题。 6. 软件成本在计算机系统总成本中所占比例逐年上升。 软件危机产生的原因是由于软件产品本身的特点以及开发软件的方式、方法、技术和人员引起的:2 网络:网卡作用?网卡也叫“网络适配器”,英文全称为“Network Interface Card”,简称“NIC”,网卡是局域网中最基本的部件之一,它是连接计算机与网络的硬件设备。无论是双绞线连接、同轴电缆连接还是光纤连接,都必须借助于网卡才能实现数据的通信。 网卡的主要工作原理是整理计算机上发往网线上的数据,并将数据分解为适当大小的数据包之后向网络上发送出去。对于网卡而言,每块网卡都有一个唯一的网络节点地址,它是网卡生产厂家在生产时烧入ROM(只读存储芯片)中的,我们把它叫做MAC地址(物理地址),且保证绝对不会重复。 我们日常使用的网卡都是以太网网卡。目前网卡按其传输速度来分可分为10M网卡、10100M自适应网卡以及千兆(1000M)网卡。如果只是作为一般用途,如日常办公等,比较适合使用10M网卡和10100M自适应网卡两种。如果应用于服务器等产品领域,就要选择千兆级的网卡。3 码分多址CDMA通信,给四个码片序列,收到这样码片序列,判断哪个站发了数据,发送数据是0还是1?(参课本67页2-17);4数据结构:进入迷宫采用什么算法能出来?我们模仿人走迷宫时的思路,设置一个当前点,一个目标点(下一个要走的点)。初始情况下当前点为入口,终止条件为当前点为出口,这样,我们的函数大概结构就出来了。在从入口到出口的过程中程序对当前点的上、下、左、右四个点依次进行判断,当发现任一个方向是未走过的区域时,就将当前点指向那个点进行尝试,同时将当前点入栈并做标记。而当4个方向都不通或已走过时,则为死路,标记当前点为死路并从栈中弹出上一个点继续进行尝试,这时因为当前点已被标记为死路,则弹出上一个点时就不会重复这条路,达到寻找正确路径的效果。5指令和数据均存放在内存中,计算机如何区分它们是指令还是数据?答:计算机可以从时间和空间两方面来区分指令和数据,在时间上,取指周期从内存中取出的是指令,而执行周期从内存取出或往内存中写入的是数据,在空间上,从内存中取出指令送控制器,而执行周期从内存从取的数据送运算器、往内存写入的数据也是来自于运算器。6数据库设计的步骤?1.需求分析阶段:准确了解并分析用户对系统的需要和要求,弄清系统要达到的目标和实现的功能。2. 概念结构设计阶段:对用户需求进行综合、归纳和抽象,形成一个独立于具体计算机和DBMS的概念模型。3. 逻辑结构设计阶段:将概念结构转换为DBMS所支持的数据模型,并将其性能进行优化。4. 数据库物理设计阶段:为逻辑数据模型选取一个最适合应用环境的物理结构,包括数据存储结构和存取方法。5. 数据库实施阶段:运用DBMS提供的数据操作语言和宿主语言,根据数据库的逻辑设计和物理设计的结果建立数据库、编制与调试应用程序、组织数据入库并进行系统试运行。6. 数据库运行和维护阶段:不断地对其结构性能进行评价、调整和修改7 RISC与CISC区别?优缺点?CISC结构特点:机器指令系统庞大复杂。 RISC结构特点:机器指令系统简单,规模小,复杂度低。 CISC的问题: (1)指令系统庞大,一般200条以上; (2)指令操作繁杂,执行速度很低; (3)难以优化生成高效机器语言程序,编译也太长,太复杂; (4)由于指令系统庞大,指令的使用频度不高,降低系统性能价格比,增加设计人员负担。 RISC的问题; (1)由于指令少,在原CISC上一条指令完成的功能现在需多条RISC指令才能完成,加重汇编语言程序设计负担,增加了机器语言程序长度,加大指令信息流量。 (2)对浮点运算和虚拟存储支持不很强。 (3)RISC编译程序比CISC难写。 由于RISC和CISC各有优缺点,在设计时,应向着两者结合,取长补短方向发展。8 进程与线程区别?进程和线程都是由操作系统所体会的程序运行的基本单元,系统利用该基本单元实现系统对应用的并发性。进程和线程的区别在于: 简而言之,一个程序至少有一个进程,一个进程至少有一个线程. 线程的划分尺度小于进程,使得多线程程序的并发性高。 另外,进程在执行过程中拥有独立的内存单元,而多个线程共享内存,从而极大地提高了程序的运行效率。 线程在执行过程中与进程还是有区别的。每个独立的进程有一个程序运行的入口、顺序执行序列和程序的出口。但是线程不能够独立执行,必须依存在应用程序中,由应用程序提供多个线程执行控制。 从逻辑角度来看,多线程的意义在于一个应用程序中,有多个执行部分可以同时执行。但操作系统并没有将多个线程看做多个独立的应用,来实现进程的调度和管理以及资源分配。这就是进程和线程的重要区别。 进程是具有一定独立功能的程序关于某个数据集合上的一次运行活动,进程是系统进行资源分配和调度的一个独立单位. 线程是进程的一个实体,是CPU调度和分派的基本单位,它是比进程更小的能独立运行的基本单位.线程自己基本上不拥有系统资源,只拥有一点在运行中必不可少的资源(如程序计数器,一组寄存器和栈),但是它可与同属一个进程的其他的线程共享进程所拥有的全部资源. 一个线程可以创建和撤销另一个线程;同一个进程中的多个线程之间可以并发执行.9 电脑开机需要检测什么?首先是CPU,如果你的CPU有问题的话那机器就点不亮 然后是显卡,会显示你的显卡类型,还有显存等,然后就是内存检测 再后来是IDE设备(硬盘,光驱等)然后就搜索你的C盘根目录检查系统引导,其中还有些设备检测,但看不到 然后就要从你的硬盘开始启动了10 什么是面向对象?和面向过程有什么区别?面向过程就是分析出解决问题所需要的步骤,然后用函数把这些步骤一步一步实现,使用的时候一个一个依次调用就可以了。面向对象是把构成问题事务分解成各个对象,建立对象的目的不是为了完成一个步骤,而是为了描叙某个事物在整个解决问题的步骤中的行为。分析 基本构件 方法 工具面向过程 基于算法 函数过程 数据流图、伪代码. . 面向对象 基于对象 类 UML建模. Rose,viso等面向对象的三个特征: 封装 继承 多态11 软件设计瀑布模型的七个步骤?瀑布模型开发阶段阶段主要工作应完成的文档应完成的文档质量控制手段系统需求调研用户需求及用户环境可行性报告规范工作程序及编写文档论证项目可行性项目初步开发计划对可行性报告及项目初步制定项目初步计划开发计划进行评审需求分析确定系统运行环境需求规格说明在进行需求分析时采用成熟的技术与工具,如结构化分析建立系统逻辑模型项目开发计划规范工作程序及编写文档确定系统功能及性能要求用户手册概要对已完成的4种文档进行评审编写需求规格说明、用户手册概要、测试计划测试计划确认项目开发计划概要设计建立系统总体结构,划分功能模块概要设计说明书在进行系统设计时采用先进的技术与工具,如结构化计SD、结构图SC定义各功能模块接口数据库设计说明书(如果有)编写规范化工作程序及文档数据库设计(如果需要)制定组装测试计划组装测试计划对已完成的文档进行评审详细设计设计各模块具体实现算法详细设计说明书设计时采用先进的技术与工具,如结构图SC确定模块间详细接口模块测试计划规范工作程序及编写文档制定模块测试方案对已完成的文档进行评审实现编写程序源代码程序调试报告在实现过程中采用先进的技术与工具,如结构图SC进行模块测试和调试用户手册规范工作程序及编写文档编写用户手册对实现过程及已完成的文档进行评审集成测试执行集成测试计划系统源程序清单测试时采用先进的技术和工具编写集成测试报告集成测试报告规范工作程序及文档编写验收测试测试整个软件系统(健壮性测试)确认测试报告试用用户手册用户手册编写开发总结报告开发工作总结对测试工作及已完成的文档进行评审维护为纠正错误,完善应用而进行修改故障报告维护时采用先进的工具对修改进行配置管理修改报告规范工作程序及编写文档编写故障报告和修改报告配置管理修订用户手册对维护工作及已完成的文档进行评审瀑布模型的特点 瀑布模型具有顺序性和依赖性,即后一阶段的工作必须在前一阶段的工作完成后才能开始。 把逻辑设计与物理设计清楚地划分开,是瀑布模型的重要指导思想。 瀑布模型强调的是优质,即每一步都循序渐进,及早消除隐患,从而保证软件质量。 它的致命缺点在于只有做出精确的需求分析,才能取得预期的结果。由于各种客观、主观的原因,需求分析往往不很精确,常常给日后的开发带来隐患12 逻辑地址和物理地址?物理地址说白了就是你的MAC地址,MAC是media access control的缩写,中文的意思是媒体访问控制,它是固化在你的网卡的BIOS上的。 MAC地址是一个48位的地址,前24位是用来表示生产厂家,后面的24位是该网卡的序列号。 逻辑地址是因为MAC地址而出现的,因为48位的MAC地址对于我们来说太难记住,所以人们用ARP和RARP协议在物理地址和逻辑地址间进行转换。它是32位的地址,如现在的IP地址,它是用二进制来表示的,当然,我们在输入的时侯是十进制。 这样一来,我们就不用再记那些复杂的MAC地址,而只要记住很短的逻辑地址就可以了。 不过,现在通过DNS域名系统,又将一些IP地址变成了域名,如,你在访问的时侯就不用再去记它的IP地址,而只要记住它的域名就可以了。 总的说来,在网络里,我们传输数据的时侯,计算机最终确定在网络上的一个终端是通过MAC地址来确认的,但在这过程中,是通过将MAC地址映射为IP地址来识别的。13 网络地址转换(NAT)?什么是 NAT? 网络地址转换 (NAT) 是一个 Internet 工程任务组 (Internet Engineering Task Force,IETF) 标准,用于允许专用网络上的多台 PC (使用专用地址段,例如 10.0.x.x、192.168.x.x、172.x.x.x) 共享单个、全局路由的 IPv4 地址。IPv4 地址日益不足是经常部署 NAT 的一个主要原因。Windows XP 和 Windows Me 中的“Internet 连接共享”及许多Internet 网关设备都使用 NAT,尤其是在通过 DSL 或电缆调制解调器连接宽带网的情况下。 NAT 对于解决 IPv4 地址耗费问题 (在 IPv6 部署中却没必要) 尽管很有效,但毕竟属于临时性的解决方案。这种 IPv4 地址占用问题在亚洲及世界其他一些地方已比较严重,且日渐成为北美地区需要关注的问题。这就是人们为什么长久以来一直关注使用 IPv6 来克服这个问题的原因所

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论