计算机面试问题.docx
《计算机面试问题.docx》由会员分享,可在线阅读,更多相关《计算机面试问题.docx(9页珍藏版)》请在冰点文库上搜索。
计算机面试问题
计算机面试问题
死锁问题,银行家算法,产生原因:
竞争资源,进程间的推进顺序非法必要条件:
互斥,请求和保持,不剥夺,环路等待(预防死锁即是是后面三个条件之一不能成立)处理方法:
预防死锁,避免死锁,检测死锁,解除死锁(剥夺资源或者撤销进程)银行家算法:
最具代表性的避免死锁的算法,由牛人Dijkstra提出,鉴于学过操作系统的都该懂,此处不再详述。
网络操作系统与分布式操作系统的区别,网络操作系统是使联网的计算机能方便而有效的共享网络资源,为网络用户提供所需各种服务的软件和协议的集合。
其功能主要包括高效,可靠的网络通信;对网络中的共享资源进行有效管理;提供电子邮件,文件传输,共享硬盘,打印机等服务;网络安全管理;提供互操作能力。
分布式操作系统是由多个分散的计算机经网络连接而成的计算机系统,系统中的计算机无主次之分,任意两台计算机可以通过通信交换信息。
为分布式计算机配置的操作系统就是“分布式操作系统”(注意:
分布式操作系统是网络操作系统的更高级形式,它保持了网络系统所拥有的全部功能,同时又具有透明性,可靠性,高性能等)。
它能直接对系统中的各类资源进行动态的分配和调度,任务划分,信息1传输协调工作,并为用户提供一个统一的界面和标准的接口,用户通过这一界面实现所需要的从操作以及使用系统资源,使系统中的若干台计算机相互协作以完成共同的任务,有效控制和协调诸任务的并行执行,并向系统提供统一的,有效的接口软件集合。
网络操作系统和分布式操作系统
1
虽然都属于管理分布在不同地理位置上的操作系统,但最大的差别是:
网络操作系统工作时必须确认网址,而分布式操作系统则不必知道计算机的确切地址;分布式系统负责整个系统的资源分配,通常能够很好的隐藏系统的内部细节,如对象的物理位置,并发控制,系统故障等。
这些对用户都是透明的。
Cisc,Risc什么区别,有什么应用,cisc指复杂指令系统,risc指精简指令系统。
Cisc指令条数多,功能复杂,目的是利用这一特点缩小汇编语言与高级语言的差距。
Risc是人们对cisc中大约20%的常用命令(使用频度大约80,)加以改进,设计出硬件结构非常简单,执行速度很高的cpu。
Risc指令种类少,长度固定,寻址方式少,设置最少的访内存指令,在cpu中设置大量的寄存器,非常适合流水线操作。
OS内存管理?
管理需求:
重定位,保护,共享,逻辑组织,物理组织;分区方法:
固定分区,动态分区(最佳适配,首次适配,临近适配),伙伴系统,重定位;分页(具体略);分段(具体略);io调度算法?
此题似乎有问题,分解之:
IO控制方式:
程序IO方式,中断驱动IO控制方式,DMA直接存储器访问方式,IO通道控制方式磁盘调度算法:
RSS(随机调度),FIFO,PRI(进程优先级调度),LIFO,SSTF(最短作业优先),SCAN(在磁盘上往复),C-SCAN(一条道路,快速返回),N-step-SCAN(一次N个记录的SCAN),FSCAN
进程和线程的区别?
(1)地址空间:
进程内的一个执行单元;进程至少
2
有一个线程;它们共享进程的地址空间;而进程有自己独立的地址空间;
(2)资源拥有:
进程是资源分配和拥有的单位,同一个进程内的线程共享进程的资源(3)线程的创建及上下文切换更加经济(4)前者资源分配的基本单元,后者是CPU使用的基本单元
windows两种文件系统,区别?
FAT,NTFS(不知是不是要比较它们俩):
FAT是传统的文件系统,而NTFS是win2K的设计者所开发的,用于满足工作站和服务器中的高级要求,比如说客户,服务器应用程序,资源密集型工程和科学应用,大型系统的网络应用程序.相对于FAT,NTFS有以下显著特征:
?
可恢复性:
之所以要建立新的win2k文件系统,就是为了具备从系统崩溃和磁盘故障中恢复的能力;?
安全性:
NTFS使用win2k对象模型来实施安全机制.?
大磁盘和大文件:
NTFS比包括FAT在内的其它大多数文件系统都能够更有效地支持非常大的磁盘和非常大的文件;3?
多数据流:
文件的实际内容被当作字节流处理,在NTFS中可以为一个文件定义多个数据流;?
通用索引功能:
NTFS中,每个文件都有一组属性与之关联.这样,文件管理系统中文件描述的集合组织成一个关系数据库,因而文件可以建立关于任何属性的索引.
5数据挖掘,数据挖掘(DataMining),又称为数据库中的知识发现(KnowledgeDiscoveryinDatabase,KDD),就是从大量数据中获取有效的、新颖的、潜在有用的、最终可理解的模式的非平凡过程,简单的说,数据挖掘就是从大量数据中提取或“挖掘”知识。
3
TCP与UDP,tcp和udp的区别,TCP:
TransmissionControlProtocol传输控制协议TCP/IP(TransmissionControlProtocol/InternetProtocol)即传输控制协议/网间协议,是一个
工业标准的协议集,它是为广域网(WANs)设计的UDP(UserDatagramProtocol)用户数据报协议区别:
TCP可靠UDP不可靠,因为三
次握手机制,这一机制保证校验了数据UDP速度是TCP没法比的,
UDP的反应速度更快UDP和TCP的目的端口不一样,而且两个协议
不在同一层,TCP在三层,UDP不是在四层就是七层2电子邮件协
议,SMTP:
简单邮件传输协议SimpleMailTransferProtocolSMTP
是一种提供可靠且有效电子邮件传输的协议。
SMTP是建模在FTP文件传输服务上的一种邮件服务,主要用于传输系统之间的邮件信息
并提供来信有关的通知。
POP邮局协议postofficeprotocol一
种规定个人计算机怎样连接到Internet上的邮件服务器和下载电子
邮件的协议imapINTERNETMESSAGEACCESSPROTOCOL是由美国华
盛顿大学所研发的一种邮件获取协议它的主要作用是邮件客户端
(例如MSOutlookExpress)可以通过这种协议从邮件服务器上获取
邮件的信息,下载邮件等。
TCP/IP协议哪几层,1(应用层:
提供面向用户的网络服务。
FTP:
文件传输协议HTTP:
超文本传输协议TELNET:
远程通信协议DNS:
域名系统2.传输层:
传输PDU为报文,在源节点和目的节点之间提
供端到端的可靠的传输服务。
TCP:
面向连接的可靠的传输服务UDP:
4
无连接的不可靠的传输服务,效率高,一般用于实时传输。
3.网际层:
(IP层或因特网层),传输ip包(分组),负责将主机的报文通过中间节点发送到目的主机。
4.网络接口层:
负责单个链路上的节点间以及在物理媒体上实现的帧的传输6Internet的服务合协议?
77100baseT的表示意思?
100baseT通过双绞线电缆相连、以100MB/秒(Mbps)的速度传输数据的局域网的以太网标准。
8OSI7层,和tcp协议在哪层,会话层做什么的?
第一层—物理层:
物理层定义了通讯网络之间物理链路的电气或机械特性,以及激活、维护和关闭这条链路的各项操作。
物理层特征参数包括:
电压、数据传输率、最大传输距离、物理连接媒体等。
第二层—数据链路层:
实际的物理链路是不可靠的,总会出现错误,数据链路层的作用就是通过一定的手段(将数据分成帧,以数据帧为单位进行传输)将有差错的物理链路转化成对上层来说没有错误的数据链路。
它的特征参数包括:
物理地址、网络拓朴结构、错误警告机制、所传数据帧的排序和流控等。
其中物理地址是相对网络层地址而言的,它代表了数据链路层的节点标识技术;“拓朴”是网络中经常会碰到的术语,标记着各个设备以何种方式互连起来,如:
总线型—所有设备都连在一条总线上,星型—所有设备都通过一个中央结点互连;错误警告是向上层协议报告数据传递中错误的发生;数据帧排序可将所传数据重新排列;流控则用于调整数据传输速率,使接收端不至于过载。
第三层—网络层:
网络层将数据分成一定长度的分组,并在分组头中标识源和目的节点的逻辑地址,这些地址就象街区、门牌号一样,成为每个节点的标识;
5
网络层的核心功能便是根据这些地址来获得从源到目的的路径,当有多条路径存在的情况下,还要负责进行路由选择。
第四层—传输层:
提供对上层透明(不依赖于具体网络)的可靠的数据传输。
如果说网络层关心的是“点到点”的逐点转递,那么可以说传输层关注的是“端到端”(源端到目的端)的最终效果。
它的功能主要包括:
流控、多路技术、虚电路管理和纠错及恢复等。
其中多路技术使多个不同应用的数据可以通过单一的物理链路共同实现传递;虚电路是数据传递的逻辑通道,在传输层建立、维护和终止;纠错功能则可以检测错误的发生,并采取措施(如重传)解决问题。
第五层—会话层:
在网络实体间建立、管理和终止通讯应用服务请求和响应等会话。
第六层—表示层:
定义了一系列代码和代码转换功能以保证源端数据在目的端同样能被识别,比如大家所熟悉的文本数据的ASCII码,表示图象的GIF或表示动画的MPEG等。
第七层——应用层:
应用层是面向用户的最高层,通过软件应用实现网络与用户的直接对话,如:
找到通讯对方,识别可用资源和同步操作等。
网络,PPP和TCP面向连接的问题?
点对点协议(PPP)为在点对点连接上传输多协议数据包提供了一个标准方法。
PPP最初设计是为两个对等节点之间的IP流量传输提供一种封装协议。
CMM是指能力成熟度模型用于估测一个企业开发软件产品的规模(说白了就是衡量一个企业开发软件的能力指数)。
英文全称为CapabilityMaturityModelforSoftware.它是一组用于改进软件过程的相关策略
6
软件开发模型是指软件开发全部过程的结构框架,包括需求,设计,编码和测试等阶段,有时也包括维护阶段。
典型的开发模型有1,瀑布模型2,快速原型模型3,增量模型4,螺旋模型等。
瀑布模型:
软件开发的各项活动按线性方式进行,只有在当前活动完成的情况下下一活动才能进行。
缺点:
(1)各个阶段的划分完全固定,阶段之间产生大量的文档,极大地增加了工作量;
(2)由于开发模型是线性的,用户只有等到整个过程的末期才能见到开发成果,从而增加了开发的风险;快速原型模型:
第一步是建造一个快速原型,用户或客户对原型进行评价。
开发人员可以确定客户的真正需求是什么;第二步则在第一步的基础上开发客户满意的软件产品。
优点:
关注满足客户需求。
缺点:
可能导致系统设计差、效率低,难于维护增量模型:
在各个阶段并不交付一个可运行的完整产品,而是交付满足客户需求的一个子集的可运行产品。
优点:
客户可以不断地看到所开发的软件,从而降低开发风险,同时易于维护。
缺点:
需要开放式体系结构。
边做边修改模型,不容易控制整个工程螺旋模型:
它将瀑布模型和快速原型模型结合起来,强调了其他模型所忽视的风险分析,特别适合于大型复杂的系统。
优缺点:
风险驱动10试(分两种,黑合测试(即功能测试,测试其功能和接口,不用理会内部的实现)和白合测试(即路径测试,测试内部设计结构)),(当各个模块结合时,进行)集成测试(自顶向下和自下向上两种),接下来是产品测试,最后是验收测试(根据测试的场所可以分为阿尔法测试(在开发场所的测试(用户也在现场))和贝塔测试(在用户
7
处的测试))。
关于黑盒测试和白盒测试就是将被测系统看成一个黑盒,从外界取得输入,然后再输出。
要求测试者在测试时不能使用与被测系统内部结构相关的知识或经验。
黑盒测试的优点有:
1)比较简单,不需要了解程序内部的代码及实现;2)与软件的内部实现无关;3)从用户角度出发,能很容易的知道用户会用到哪些功能,会遇到哪些问题;黑盒测试的缺点有:
1)不可能覆盖所有的代码,覆盖率较低,大概只能达到总代码量的30%;2.白盒测试在测试时需要知道程序内部的设计结构及具体的代码实现,并以此为基础来设计测试用例。
优点:
帮助软件测试人员增大代码的覆盖率,发现代码中隐藏的问题缺点:
测试基于代码,只能测试开发人员做的对不对,而不能知道设计的正确与否,可能会漏掉一些功能需求;系统庞大时,测试开销会非常大。
int(*a)(int)一个指向函数的指针,该函数有一个整型参数并返回一个整型数
int(*a[10])(int)一个有10个指针的数组,该指针指向一个函数,该函数有一个整型参数并返回一个整型数
5.关键字const有什么含意?
表示常量不可以修改的变量。
constint*a;
int*consta;
intconst*aconst;
8
第1个意味着a是一个指向常整型数的指针(也就是,整型数是不可修改的,但指针可以)。
第2个意思a是一个指向整型数的常指针(也就是说,指针指向的整型数是可以修改的,但指针是不可修改的)。
最后一个意味着a是一个指向常整型数的常指针(也就是说,指针指向的整型数是不可修改的,同时指针也是不可修改的)。
1)关键字const的作用是为给读你代码的人传达非常有用的信息,实际上,声明一个参数为常量是为了告诉了用户这个参数的应用目的。
如果你曾花很多时间清理其它人留下的垃圾,你就会很快学会感谢这点多余的信息。
(当然,懂得用const的程序员很少会留下的垃圾让别人来清理的。
)
2)通过给优化器一些附加的信息,使用关键字const也许能产生更紧凑的代码。
3)合理地使用关键字const可以使编译器很自然地保护那些不希望被改变的参数,防止其被无意的代码修改。
简而言之,这样可以减少bug的出现。
8.ICMP是什么协议,处于哪一层?
答:
Internet控制报文协议,处于网络层(IP层)(ping命令基于这个协议)
10.IP组播有那些好处?
答:
Internet上产生的许多新的应用,特别是高带宽的多媒体应用,带来了带宽的急剧消耗和网络拥挤问题。
组播是一种允许一个或多个发送者(组播源)发送单一的数据包到多个接收者(一次的,同时的)的网络技术。
组播可以大大的节省网络带宽,因为无论有多少个目标
9
地址,在整个网络的任何一条链路上只传送单一的数据包。
所以说组播技术的核心就是针对如何节约网络资源的前提下保证服务质量。
12.TCP/IP建立连接的过程?
(3-wayshake)答:
在TCP/IP协议中,TCP协议提供可靠的连接服务,采用三次握手建立一个连接。
第一次握手:
建立连接时,客户端发送syn包(syn=j)到服务器,并进入SYN_SEND状态,等待服务器确认;
第二次握手:
服务器收到syn包,必须确认客户的SYN(ack=j+1),同时自己也发送一个SYN包(syn=k),即SYN+ACK包,此时服务器进入SYN_RECV状态;
16.全局变量和局部变量在内存中是否有区别,如果有,是什么区别,全局变量储存在静态数据库,局部变量在堆栈。
18.堆栈溢出一般是由什么原因导致的,没有回收垃圾资源。
220.冒泡排序算法的时间复杂度是什么,时间复杂度是O(n)。
22.Internet采用哪种网络协议,该协议的主要层次结构,
Tcp/Ip协议主要层次结构为:
应用层/传输层/网络层/数据链路层/物理层。
4.存储过程是什么,有什么用,有什么优点,
就是一堆sql的集合,可以建立非常复杂的查询,编译运行,所以运行一次后,以后再运行速度比单独执行SQL快很多
7.下面三个有什么区别,
char*constp;charconst*p;constchar*p
10
答:
char*constp;//常量指针,p的值不可以修改charconst*p;//指向常量的指针,指向的常量值不可以改constchar*p;//和charconst*p一样
14.进程之间通信的途径:
共享存储系统、消息传递系统、管道(以文件系统为基础)
15.进程死锁的原因:
资源竞争及进程推进顺序非法
16.与TCP不同,UDP并不提供对IP协议的可靠机制、流控制以及错误恢复功能等。
由于UDP比较简单,UDP头包含很少的字节,比TCP负载消耗少。
tcp:
提供稳定的传输服务,有流量控制,缺点是包头大,冗余性不好。
udp:
不提供稳定的服务,包头小,开销小。
2.多态就是“相同的表达式,不同的操作”。
其意义在于实现了接口重用,使程序更易于扩展,代码重用更加方便。
C++和Java区别,
RSA,DES
引用与指针的区别,
你做过什么项目,
Cache的两种更新策略,
操作系统的三态。
5态7态,
图灵机,
ACMAssociationforComputingMachinery美国计算机协会
11
Whatisthedefinitionofos?
使用环境,MFC类库,控件,.NET?
sqlserver?
为什么选择考研,擅长的科目,
动态、分而自治、背包算法等,
计算机方向,
范式1、2、3NF
SQA(softwarequalityassurance),阶段性评估等途径来进行项目管理,以保证软件开发正确,高效地进行。
12