计算机复试专业课面试问题锦集.docx

上传人:b****7 文档编号:8728475 上传时间:2023-02-01 格式:DOCX 页数:13 大小:29.57KB
下载 相关 举报
计算机复试专业课面试问题锦集.docx_第1页
第1页 / 共13页
计算机复试专业课面试问题锦集.docx_第2页
第2页 / 共13页
计算机复试专业课面试问题锦集.docx_第3页
第3页 / 共13页
计算机复试专业课面试问题锦集.docx_第4页
第4页 / 共13页
计算机复试专业课面试问题锦集.docx_第5页
第5页 / 共13页
点击查看更多>>
下载资源
资源描述

计算机复试专业课面试问题锦集.docx

《计算机复试专业课面试问题锦集.docx》由会员分享,可在线阅读,更多相关《计算机复试专业课面试问题锦集.docx(13页珍藏版)》请在冰豆网上搜索。

计算机复试专业课面试问题锦集.docx

计算机复试专业课面试问题锦集

计算机复试专业课面试问题锦集

1.什么是程序局部性,为什么会有程序空间局部性?

程序局部性是指程序在运营时呈现出局部性规律,在一段时间间隔内,程序执行是局限在某个部份,所访问存储空间也只局限在某个区域。

空间局部性是指若一种存储单元被访问,那么它附近单元也也许被访问,这是由于程序顺序执行引起。

2.比较TCP与UDP?

TCP与UDP都是传播层合同,且都用端标语标记数据所达进程。

TCP提供是面向连接服务,提供可靠交付。

且具备流量控制和拥塞控制。

可用于可靠规定高场合如:

SMTP,FTP,HTTP等.UDP提供是无连接服务,提供不可靠交付,且无确认机制。

重要用于即时强场合如:

视频聊天,语音电话等。

3.网络合同三个核心要素,及概念.各起什么作用?

语法,定义了数据与控制信息格式;语义,定义了需要发出何种控制信息,完毕何种响应动作以及作出何种响应;同步,定义了事件实现顺序详细阐明。

4.关系数据库均有那些操作,特点是什么?

◇查询:

选取、投影、连接、除、并、交、差◇数据更新:

插入、删除、修改;关系操作特点:

集合操作方式,即操作对象和成果都是集合。

5.解释一下网络体系构造,它得实现和理论有什么区别?

是指通信系统整体设计,它为网络硬件、软件、合同、存取控制和拓扑提供原则。

网络体系统构造采用分层构造,各层之间互相独立、较易维护、灵活性好。

国际原则化组织制定了OSI/RM原则,该原则采用了七层构造应用层、表达层、会话层、传播层、网络层、数据链路层、物理层。

七层合同体系构造既复杂又不实用,但其概念清晰,体系构造理论较完整。

而TCP/IP却成为了事实上原则,它采用了四层构造即应用层、传播层、网络层和网络接口层。

6.为了实现重定位需要哪些硬件?

最简朴方式是在系统中增设一种重定位寄存器,用来存储正在执行作业内存地址,每次访问数据时,由硬件自动将相对地址与重定位寄存器中起始地址相加,形成实际特理地址。

固然在分页式与分段式系统中,具地址变换机构,以及快表等硬件。

7.数据库保护(访问)内容有哪些?

运用权限机制,运用完整性约束防止法数据进入数据库,提供故障恢复能力,提供并发访问控制。

8.在交互式系统中,非剥夺是不是一种好方略?

为什么?

非剥夺方式:

分派程序一旦把解决机分派给某进程后便让它始终运营下去,直到进程完毕或发生某事件而阻塞时,才把解决机分派给另一种进程。

剥夺方式:

当一种进程正在运营时,系统可以基于某种原则,剥夺已分派给它解决机,将之分派给其他进程。

剥夺原则有:

优先权原则、短进程、优先原则、时间片原则。

在分时系统中不剥夺并不是一种好方略。

由于,在分时系统中,除了交互性以外,及时性是很重要性能因素。

当一种作业被阻塞后,CPU就完全空闲了,别顾客及时性就无法保证了,而完全可以把这些时间分派给别作业运营。

以提高整体吞吐量。

9.DBA职责是什么?

DBA则是这个机构一种(组)人员,负责全面管理和控制数据库系统.职责有:

(1)决定数据库中信息内容和构造:

数据库中要存储哪些信息;

(2)决定数据库存储构造和存取方略:

获得较高存取效率和存储空间运用率;(3)商定义数据安全性规定和完整性约束条件:

负责拟定各个顾客对数据库存取权限、数据保密级别和完整性约束条件;(4)监控数据库使用和运营:

转储数据、维护日记文献、故障恢复;(5)数据库改进和重组重构:

对运营状况进行记录、记录分析,以此来不断改进数据库设计。

10.系统调用定义?

系统调用是OS与应用程序之间接口,它是顾客程序获得OS服务惟一途径。

它与普通过程调用区别:

运营在不同系统状态。

调用程序在运营在顾客态,而被调用程序运营在系统态;通过软中断机制,先由顾客态转为系统态,经枋心分析后,才干转向相应系统调用解决子程序;普通过程调用返回后继续执行,但对系统调用,当调用进程仍具备最高优先权时,才返回到调用进程继续解决;否则只能等被重新调度。

11.死锁是什么?

指各种关于进程由于争夺资源而导致一种僵局,在无外力状况下这些进程都将无法再向前推动状态。

12.CPU不执行程序时候干什么?

当没有被任何程序使用时候,计算机解决器被以为是空闲。

固然下面提到空闲任务不在此列中。

当有程序运用CPU空闲时间时候,就意味着它以较低优先权运营着,以便不会影响那有正常优先权程序运营。

普通来讲,这会引起CPU消耗更多电能,而大多数当代CPU当它们空闲时候是可以进入省电模式。

大多数操作系统均有个空闲任务,它是一种特殊任务。

仅当CPU无事可做时候由操作系统调度器载入它。

在当代解决器中,HLT停机指令节约了大量电能与执量,而空闲任务几乎总是由一种重复执行HLT停机指令循环构成。

13.举例解释一下同步和互斥?

同步体现为直接制约,如管道通信,一种进程写,一种进程读,它们是互相制约。

互斥体现为间接制约,例如各种进程同步祈求打印机(没使用SPOOLing技术)、各种进程同步祈求一张网卡发送数据包等。

14.解释一下管程?

管程是由一组局部变量、对局部变量进行操作一组过程和对局部变量进行初始化语句序列构成。

引入它目是由于Wait/Singal操作太过度散,对它维护很麻烦且容易导致死锁。

管程特点是:

管程过程只能访问管程局部变量,管程局部变量只能由其过程来访问;任何时刻只能有一种进程进入管程执行;进程只能通管程提供过程入口进入管程。

15.在可变分区管理中,需要哪些硬件机制?

采用可变分区方式管理时,普通均采用动态重定位方式装入作业。

地址变换要靠硬件支持,重要是两个寄存器:

基址寄存器和限长寄存器,限长寄存器存储作业所占分区长度,基址寄存器则存储作业所占分区起始地址,这两个值拟定了一种分区位置和大小。

转换时依照逻辑地址与限长值比较,如果不有超过这个值,表达访问地址合法,再加上基址寄存器中值就得到了绝对地址了,否则形成“地址越界”中断。

16.中断和陷入有什么异同?

外中断时指来自解决机和内存外部中断,如I/O中断、定期器中断、外部信号中断等。

狭义上也叫中断;内中断重要指在解决机和内存内部产生中断,也称陷入,如校验错、页面失效、溢出、除数为零等;中断和陷阱重要区别:

(1)陷入普通由解决机正在执行现行指令引起,而中断则是由与现行指令无关中断源引起。

(2)陷阱解决程序提供服务为当迈进程所用,而中断解决程序提供服务则不是为了当迈进程。

(3)CPU在执行完一条指令之后,下一条指令开始之前响应中断,而在一条指令执行中也可以响应陷阱。

17.数据库系统和文献系统相比有什么长处?

文献系统

数据库管理系统

某一应用

现实世界

共享性差,冗余度大

共享性高,冗余度小

记录内有构造,整体无构造

整体构造化,用数据模型描述

应用程序自己控制

由数据库管理系统提供数据安全性,完整性,并发控制和恢复能力

独立性差

具备高度物理独立性和一定逻辑独立性

18.计算机网络和分布式计算机系统区别?

两者在计算机硬件连接、系统拓朴构造和通信控制等方面基本都是同样,它们都具备通信和资源共享功能。

区别核心在于:

分布式计算机系统是在分布式计算机操作系统支持下,进行分布式数据库解决,也就是说各互联计算机可以互相协调工作,共同完毕一项任务,多台计算机上并行运营。

且具备透明性,顾客不懂得数据、资源详细位置,整个网络中所有计算机就像是一台计算机同样;而计算机网络却不具备这种功能,计算机网络系统中各计算机普通是各自独立进行工作。

19.为什么引入多道程序技术?

由于引入多道程序技术后,可以进一步提高了CPU运用率(阻塞),提高内存和I/O设备运用率(小作业把内存挥霍了),增长系统吞吐量(两都提高后必然)。

20.什么是管态?

什么是目态?

它们与进程运营状态关系是什么?

CPU交替执行操作系统程序和顾客程序。

管态又叫特权态,系统态或核心态。

CPU在管态下可以执行指令系统全集。

普通,操作系统在管态下运营。

目态又叫常态或顾客态。

机器处在目态时,程序只能执行非特权指令。

顾客程序只能在目态下运营,如果顾客程序在目态下执行特权指令,硬件将发生中断,由操作系统获得控制,特权指令执行被禁止,这样可以防止顾客程序故意或无意破坏系统。

21.n个任务一种cup,阻塞,运营,就绪进程最多有多少个?

阻塞n个;运营1个;就绪n-1个。

22.波特和比特区别?

波特是码元传播踵率单位,阐明每秒传多少个码元。

码元传播速率也称为调制速率、波形速率或符号速率。

比恃是信息量单位,与码元传播速率"波特"是两个完全不同概念。

但是,信息传播速率"比特/秒"与码元传播速率"波特"在数量上却有一定关系。

23.什么是网络延时?

时延(delay或latency)是指一种报文或分组从一种网络(或一条链路)一端传送到另一端所需时间。

24.什么是完整性约束?

强制数据完整性可保证数据库中数据质量。

25.什么是码元?

什么是码元长度?

在数字通信中常惯用时间间隔相似符号来表达一位二进制数字。

这样时间间隔内信号称为二进制码元,而这个间隔被称为码元长度。

26.结合Internet,说说有连接服务和无连接服务?

面向连接服务具备连接建立、数据传播和连接释放这三个阶段。

面向连接服务是在数据互换之前,必要先建立连接。

当数据互换结束后,则必要终结这个连接。

在传送数据时是按序传送,是可靠交付。

面向连接服务比较适合于在一定期间内要向同一日地发送许多报文状况。

无连接服务,两个实体之间通信不需要先建立好一种连接,因而其下层关于资源不需要事先进行预定保存。

这些资源将在数据传播时动态地进行分派。

无连接服务长处是灵活以便和比较迅速。

但无连接服务不能防止报文丢失、重复或失序。

是一种不可靠服务。

这种服务常被描述为"尽量大努力支付"。

27.点对点和端到端工作在哪层?

工作机制?

28.DBMS支持那几种数据模型?

29.父子进程与否可以并发运营?

30.SQL四个构成某些?

31.数据库操纵语言举例?

32.简介下有哪些应用数据库?

33.什么是数据独立性。

34.网络时延又拿几某些构成?

各产生于何处?

35.实体\合同\服务?

36.1NF是啥数据模式?

37.缓冲定义,为什么引入?

38.TCP/IP网络合同核心是什么,如何引出“overeverything”和“everythingover?

39.数据库关系操作有哪些?

各有什么作用?

40.用白军和蓝军解释下没有100%可靠通信?

1.用预解决指令#define声明一种常数,用以表白1年中有多少秒(忽视闰年问题)?

#defineSECONDS_PER_YEAR(60*60*24*365)UL

2.嵌入式系统中经常要用到无限循环,你怎么样用C编写死循环呢?

while

(1){}或者for(;;){}

3.用变量a给出下面定义

a)一种整型数(Aninteger)

b)一种指向整型数指针(Apointertoaninteger)

c)一种指向指针指针,它指向指针是指向一种整型数(Apointertoapointertoaninteger)

d)一种有10个整型数数组(Anarrayof10integers)

e)一种有10个指针数组,该指针是指向一种整型数。

(Anarrayof10pointerstointegers)

f)一种指向有10个整型数数组指针(Apointertoanarrayof10integers)

g)一种指向函数指针,该函数有一种整型参数并返回一种整型数(Apointertoafunctionthattakesanintegerasanargumentandreturnsaninteger)

h)一种有10个指针数组,该指针指向一种函数,该函数有一种整型参数并返回一种整型数(Anarrayoftenpointerstofunctionsthattakeanintegerargumentandreturnaninteger)

答案是:

a)inta;//Aninteger

b)int*a;//Apointertoaninteger

c)int**a;//Apointertoapointertoaninteger

d)inta[10];//Anarrayof10integers

e)int*a[10];//Anarrayof10pointerstointegers

f)int(*a)[10];//Apointertoanarrayof10integers

g)int(*a)(int);//Apointertoafunctionathattakesanintegerargumentandreturnsaninteger

h)int(*a[10])(int);//Anarrayof10pointerstofunctionsthattakeanintegerargumentandreturnaninteger。

4.核心字static作用是什么?

这个简朴问题很少有人能回答完全。

在C语言中,核心字static有三个明显作用:

1)在函数体,一种被声明为静态变量在这一函数被调用过程中维持其值不变。

2)在模块内(但在函数体外),一种被声明为静态变量可以被模块内所用函数访问,但不能被模块外其他函数访问。

它是一种本地全局变量。

3)在模块内,一种被声明为静态函数只可被这一模块内其他函数调用。

那就是,这个函数被限制在声明它模块本地范畴内使用。

大多数应试者能对的回答第一某些,一某些能对的回答第二某些,同是很少人能懂得第三某些。

这是一种应试者严重缺陷,由于她显然不懂得本地化数据和代码范畴好处和重要性。

5.核心字const有什么含意?

表达常量不可以修变化量。

constinta;

intconsta;

constint*a;

int*consta;

intconst*aconst;

前两个作用是同样,a是一种常整型数。

第三个意味着a是一种指向常整型数指针(也就是,整型数是不可修改,但指针可以)。

第四个意思a是一种指向整型数常指针(也就是说,指针指向整型数是可以修改,但指针是不可修改)。

最后一种意味着a是一种指向常整型数常指针(也就是说,指针指向整型数是不可修改,同步指针也是不可修改)。

如果应试者能对的回答这些问题,那么她就给我留下了一种好印象。

顺带提一句,也许你也许会问,虽然不用核心字const,也还是能很容易写出功能对的程序,那么我为什么还要如此看重核心字const呢?

我也如下几下理由:

1)核心字const作用是为给读你代码人传达非常有用信息,事实上,声明一种参数为常量是为了告诉了顾客这个参数应用目。

如果你曾花诸多时间清理其他人留下垃圾,你就会不久学会感谢这点多余信息。

(固然,懂得用const程序员很少会留下垃圾让别人来清理。

)2)通过给优化器某些附加信息,使用核心字const也许能产生更紧凑代码。

3)合理地使用核心字const可以使编译器很自然地保护那些不但愿被变化参数,防止其被无意代码修改。

简而言之,这样可以减少bug浮现。

6.程序什么时候应当使用线程,什么时候单线程效率高?

1)耗时操作使用线程,提高应用程序响应。

2)并行操作时使用线程,如C/S架构服务器端并发线程响应顾客祈求。

3)多CPU系统中,使用线程提高CPU运用率。

4)改进程序构造。

一种既长又复杂进程可以考虑分为各种线程,成为几种独立或半独立运营某些,这样程序会利于理解和修改。

其她状况都使用单线程。

7.普通数据库若浮现日记满了,会浮现什么状况,与否还能使用?

只能执行查询等读操作,不能执行更改,备份等写操作,因素是任何写操作都要记录日记。

也就是说基本上处在不能使用状态。

第三次握手:

客户端收到服务器SYN+ACK包,向服务器发送确认包ACK(ack=k+1),此包发送完毕,客户端和服务器进入ESTABLISHED状态,完毕三次握手。

8.ICMP是什么合同,处在哪一层?

答:

Internet控制报文合同,处在网络层(IP层)(ping命令基于这个合同)。

9.winsock建立连接重要实现环节?

服务器端:

socket()建立套接字,绑定(bind)并监听(listen),用accept()等待客户端连接。

客户端:

socket()建立套接字,连接(connect)服务器,连接上后使用send()和recv(),在套接字上写读数据,直至数据互换完毕,closesocket()关闭套接字。

服务器端:

accept()发既有客户端连接,建立一种新套接字,自身重新开始等待连接。

该新产生套接字使用send()和recv()写读数据,直至数据互换完毕,closesocket()关闭套接字。

10.IP组播有那些好处?

Internet上产生许多新应用,特别是高带宽多媒体应用,带来了带宽急剧消耗和网络拥挤问题。

组播是一种容许一种或各种发送者(组播源)发送单一数据包到各种接受者(一次,同步)网络技术。

组播可以大大节约网络带宽,由于无论有多少个目的地址,在整个网络任何一条链路上只传送单一数据包。

因此说组播技术核心就是针对如何节约网络资源前提下保证服务质量。

11.引用与指针有什么区别?

1)引用必要被初始化,指针不必。

2)引用初始化后来不能被变化,指针可以变化所指对象。

3)不存在指向空值引用,但是存在指向空值指针。

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状态。

13.局部变量能否和全局变量重名?

能,局部会屏蔽全局。

要用全局变量,需要使用":

:

"局部变量可以与全局变量同名,在函数内引用这个变量时,会用到同名局部变量,而不会用到全局变量。

对于有些编译器而言,在同一种函数内可以定义各种同名局部变量,例如在两个循环体内都定义一种同名局部变量,而那个局部变量作用域就在那个循环体内。

14.如何引用一种已经定义过全局变量?

extern可以用引用头文献方式,也可以用extern核心字,如果用引用头文献方式来引用某个在头文献中声明全局变理,假定你将那个变写错了,那么在编译期间会报错,如果你用extern方式引用时,假定你犯了同样错误,那么在编译期间不会报错,而在连接期间报错。

15.描述实时系统基本特性?

在特定期间内完毕特定任务,实时性与可靠性?

16.全局变量和局部变量在内存中与否有区别?

如果有,是什么区别?

全局变量储存在静态数据库,局部变量在堆栈。

17.什么是平衡二叉树?

左右子树都是平衡二叉树且左右子树深度差值绝对值不不不大于1。

18.堆栈溢出普通是由什么因素导致?

没有回收垃圾资源。

19.什么函数不能声明为虚函数?

constructor函数不能声明为虚函数。

20.冒泡排序算法时间复杂度是什么?

时间复杂度是O(n2)。

21.写出floatx与“零值”比较if语句?

if(x<0.000001&&x>-0.000001)。

22.Internet采用哪种网络合同?

该合同重要层次构造?

Tcp/Ip合同重要层次构造为:

应用层/传播层/网络层/数据链路层/物理层。

23.Internet物理地址和IP地址转换采用什么合同?

ARP(AddressResolutionProtocol)(地址解析合同)。

24.IP地址编码分为哪俩某些?

IP地址由两某些构成,网络号和主机号。

但是是要和“子网掩码”按位与上之后才干区别哪些是网络位哪些是主机位。

25.顾客输入M,N值,从1至N开始顺序循环数数,每数到M输出该数值,直至所有输出。

写出C程序。

循环链表,用取余操作做。

26.不能做switch()参数类型是:

switch参数不能为实型。

27.请写出下列代码输出内容

#include

main()

{

inta,b,c,d;

a=10;

b=a++;

c=++a;

d=10*a++;

printf("b,c,d:

%d,%d,%d",b,c,d);

return0;

}

答:

10,12,120

28.写出下列代码输出内容

#include

intinc(inta)

{

return(++a);

}

intmulti(int*a,int*b,int*c)

{

return(*c=*a**b);

}

typedefint(FUNC1)(intin);

typedefint(FUNC2)(int*,int*,int*);

voidshow(FUNC2fun,intarg1,int*arg2)

{

INCp=&inc;

inttemp=p(arg1);

fun(&temp,&arg1,arg2);

printf("%d\n",*arg2);

}

main()

{

inta;

show(multi,10,&a);

return0;

}

************************************

1.对于一种频繁使用短小函数,在C语言中应用什么实现,在C++中应用什么实现?

答:

c用宏定义,c++用inline。

2.直接链接两个信令点一组链路称作什么?

答:

PPP点到点连接。

3.软件测试均有那些种类?

黑盒:

针对系统功能测试白盒:

测试函数功能,各函数接口。

4.拟定模块功能和模块接口是在软件设计那个阶段完毕?

概要设计阶段。

三.选取题:

1.Ethternet链接到Internet用到如下那个合同?

A.HDLC;B.ARP;C.UDP;D.TCP;E.ID。

2.属于网络层合同是:

A.TCP;B.IP;C.ICMP;D.X.25。

3.Windows消息调度机制是:

A.指令队列;B.指令堆栈;C.消息队列;D.消息堆栈。

4.unsignedshorthash(unsignedshortkey)

{

return(key>>)%256

}

请问hash(16),hash(256)值分别是:

A.1.16;B.8.32;C.4.16;D.1.32。

四.找错题:

1.请问下面程序有什么错误?

inta[60][250][1000],i,j,k;

for(k=0;k<=1000;k++)

for(j=0;j<250;j++)

for(i=0;i<60;i++)

a[i][j][k]=0;

把循环语句内外换一下

2.#defineMax_CB500

voidLmiQueryCSmd(StructMSgCB*pmsg)

{

unsignedcharucCmdNum;

......

for(ucCmdNum=0;ucCmdNum

{

......;

}

死循环

3.如下是求一种数平方程序,请找出错误:

#defineSQUARE(a)((a)*(a))

inta=5;

intb;

b=SQUARE(a++);

4.typedefunsignedcharBYTE

intexamply_fun(BYTEgt_len;BYTE*gt_code)

{

BYTE*gt_buf;

gt_buf=(BYTE*)MALLOC(Max_GT_Length);

.....

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 自然科学 > 生物学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1