计算机专业复试面试经典问题含答案.docx

上传人:叶*** 文档编号:34958706 上传时间:2022-08-19 格式:DOCX 页数:9 大小:20.25KB
返回 下载 相关 举报
计算机专业复试面试经典问题含答案.docx_第1页
第1页 / 共9页
计算机专业复试面试经典问题含答案.docx_第2页
第2页 / 共9页
点击查看更多>>
资源描述

《计算机专业复试面试经典问题含答案.docx》由会员分享,可在线阅读,更多相关《计算机专业复试面试经典问题含答案.docx(9页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、1 . 用预处理指令 声明一个常数,用以说明1年中有多少秒忽视闰年问题 (60 * 60 * 24 * 365)2. 嵌入式系统中常常要用到无限循环,你怎么样用C编写死循环呢?(1)或者(;)3. 用变量a给出下面的定义a) 一个整型数 b)一个指向整型数的指针 A c)一个指向指针的的指针,它指向的指针是指向一个整型数 A a r d)一个有10个整型数的数组 10 e) 一个有10个指针的数组,该指针是指向一个整型数的。 10 f) 一个指向有10个整型数数组的指针 A 10 g) 一个指向函数的指针,该函数有一个整型参数并返回一个整型数A a h) 一个有10个指针的数组,该指针指向一个

2、函数,该函数有一个整型参数并返回一个整型数 答案是: a) a; b) *a; A c) *a; A a d) a10; 10 e) *a10; 10 f) (*a)10; A 10 g) (*a)(); A a a h) (*a10)(); 10 4.关键字的作用是什么?这个简洁的问题很少有人能答复完全。在C语言中,关键字有三个明显的作用:1)在函数体,一个被声明为静态的变量在这一函数被调用过程中维持其值不变。2) 在模块内但在函数体外,一个被声明为静态的变量可以被模块内所用函数访问,但不能被模块外其它函数访问。它是一个本地的全局变量。3) 在模块内,一个被声明为静态的函数只可被这一模块内的

3、其它函数调用。那就是,这个函数被限制在声明它的模块的本地范围内运用。大多数应试者能正确答复第一局部,一局部能正确答复第二局部,同是很少的人能懂得第三局部。这是一个应试者的严峻的缺点,因为他明显不懂得本地化数据和代码范围的好处和重要性。5. 关键字有什么含意 表示常量 不行以修改的变量。 a; a; *a; * a; * a ;前两个的作用是一样,a是一个常整型数。第三个意味着a是一个指向常整型数的指针也就是,整型数是不行修改的,但指针可以。第四个意思a是一个指向整型数的常指针也就是说,指针指向的整型数是可以修改的,但指针是不行修改的。最终一个意味着a是一个指向常整型数的常指针也就是说,指针指向

4、的整型数是不行修改的,同时指针也是不行修改的。假如应试者能正确答复这些问题,那么他就给我留下了一个好印象。顺带提一句,或许你可能会问,即使不用关键字 ,也还是能很简洁写出功能正确的程序,那么我为什么还要如此看重关键字呢?我也如下的几下理由:1) 关键字的作用是为给读你代码的人传达特别有用的信息,事实上,声明一个参数为常量是为了告知了用户这个参数的应用目的。假如你曾花很多时间清理其它人留下的垃圾,你就会很快学会感谢这点多余的信息。当然,懂得用的程序员很少会留下的垃圾让别人来清理的。2) 通过给优化器一些附加的信息,运用关键字或许能产生更紧凑的代码。3) 合理地运用关键字可以使编译器很自然地爱护那

5、些不盼望被变更的参数,防止其被无意的代码修改。简而言之,这样可以削减的出现。6. 程序什么时候应当运用线程,什么时候单线程效率高。答:1耗时的操作运用线程,提高应用程序响应。2并行操作时运用线程,如架构的效劳器端并发线程响应用户的恳求。3多系统中,运用线程提高利用率4改善程序构造。一个既长又困难的进程可以考虑分为多个线程,成为几个独立或半独立的运行局部,这样的程序会利于理解和修改。其他状况都运用单线程。7. 一般数据库假设出现日志满了,会出现什么状况,是否还能运用?答:只能执行查询等读操作,不能执行更改,备份等写操作,缘由是任何写操作都要记录日志。也就是说根本上处于不能运用的状态。8是什么协议

6、,处于哪一层答:限制报文协议,处于网络层层吩咐基于这个协议9建立连接的主要实现步骤答:效劳器端:()建立套接字,绑定并监听,用等待客户端连接。客户端:()建立套接字,连接效劳器,连接上后运用()和,在套接字上写读数据,直至数据交换完毕,()关闭套接字。效劳器端:发觉有客户端连接,建立一个新的套接字,自身重新开场等待连接。该新产生的套接字运用()和写读数据,直至数据交换完毕,()关闭套接字。10. 组播有那些好处答:上产生的很多新的应用,特殊是高带宽的多媒体应用,带来了带宽的急剧消耗和网络拥挤问题。组播是一种允许一个或多个发送者组播源发送单一的数据包到多个接收者一次的,同时的的网络技术。组播可以

7、大大的节约网络带宽,因为无论有多少个目标地址,在整个网络的任何一条链路上只传送单一的数据包。所以说组播技术的核心就是针对如何节约网络资源的前提下保证效劳质量。11.引用及指针有什么区分? 1) 引用必需被初始化,指针不必。 2) 引用初始化以后不能被变更,指针可以变更所指的对象。3) 不存在指向空值的引用,但是存在指向空值的指针。12. 建立连接的过程(3 )答:在协议中,协议供应牢靠的连接效劳,采纳三次握手建立一个连接。第一次握手:建立连接时,客户端发送包()到效劳器,并进入状态,等待效劳器确认;第二次握手:效劳器收到包,必需确认客户的1,同时自己也发送一个包,即包,此时效劳器进入状态;第三

8、次握手:客户端收到效劳器的包,向效劳器发送确认包(1),此包发送完毕,客户端和效劳器进入状态,完成三次握手。13, 局部变量能否和全局变量重名? 答:能,局部会屏蔽全局。要用全局变量,须要运用:局部变量可以及全局变量同名,在函数内引用这个变量时,会用到同名的局部变量,而不会用到全局变量。对于有些编译器而言,在同一个函数内可以定义多个同名的局部变量,比方在两个循环体内都定义一个同名的局部变量,而那个局部变量的作用域就在那个循环体内。14, 如何引用一个已经定义过的全局变量? 答: 可以用引用头文件的方式,也可以用关键字,假如用引用头文件方式来引用某个在头文件中声明的全局变理,假定你将那个变写错了

9、,那么在编译期间会报错,假如你用方式引用时,假定你犯了同样的错误,那么在编译期间不会报错,而在连接期间报错。15.描述实时系统的根本特性 在特定时间内完成特定的任务,实时性及牢靠性。16.全局变量和局部变量在内存中是否有区分?假如有,是什么区分? 全局变量储存在静态数据库,局部变量在堆栈。17.什么是平衡二叉树? 左右子树都是平衡二叉树 且左右子树的深度差值的肯定值不大于1。18.堆栈溢出一般是由什么缘由导致的? 没有回收垃圾资源。19.什么函数不能声明为虚函数? 函数不能声明为虚函数。20.冒泡排序算法的时间困难度是什么? 时间困难度是O(n2)。21.写出 x 及“零值比拟的语句。 (x-

10、0.000001)22采纳哪种网络协议?该协议的主要层次构造? 协议 主要层次构造为: 应用层/传输层/网络层/数据链路层/物理层。23物理地址和地址转换采纳什么协议? ( )地址解析協議24地址的编码分为哪俩局部? 地址由两局部组成,网络号和主机号。不过是要和“子网掩码按位及上之后才能区分哪些是网络位哪些是主机位。25.用户输入值,从1至N开场依次循环数数,每数到M输出该数值,直至全部输出。写出C程序。 循环链表,用取余操作做26.不能做()的参数类型是: 的参数不能为实型。27. 请写出以下代码的输出内容 () ;10;10*;(b,c,d:,b,c,d; 0; 答:10,12,12028

11、. 写出以下代码的输出内容 ( a)(); (*c)(*a*b); (1)( ); (2) (*); (2 1, *2); (1);(1, 2);(n,*2);() a;(,10); 0;*1.对于一个频繁运用的短小函数,在C语言中应用什么实现,在中应用什么实现答:c用宏定义,用答:点到点连接黑盒:针对系统功能的测试 白盒:测试函数功能,各函数接口4.确定模块的功能和模块的接口是在软件设计的那个阶段完成的概要设计阶段三.选择题: 1链接到用到以下那个协议 2.属于网络层协议的是: .25 3消息调度机制是: A.指令队列.指令堆栈.消息队列.消息堆栈; 4 ( ) ()%256 请问(16)(

12、256)的值分别是: 四.找错题: 1.请问下面程序有什么错误 a602501000; (0=1000) (0250) (060) aijk=0;把循环语句内外换一下 2 500 ( * ) ; . (0) ; . 五.问答题: 1 的原理是什么6 2通信建立的过程怎样,端口有什么作用?三次握手,确定是哪个应用程序运用该协议号信令和7号信令有什么区分,我国某前广泛运用的是那一种? 4.列举5种以上的 新业务?*1.进程和线程的差异。线程是指进程内的一个执行单元,也是进程内的可调度实体.及进程的区分:(1)调度:线程作为调度和安排的根本单位,进程作为拥有资源的根本单位(2)并发性:不仅进程之间可

13、以并发执行,同一个进程的多个线程之间也可并发执行(3)拥有资源:进程是拥有资源的一个独立单位,线程不拥有系统资源,但可以访问隶属于进程的资源. (4)系统开销:在创立或撤消进程时,由于系统都要为之安排和回收资源,导致系统的开销明显大于创立或撤消线程时的开销。2及的差异。是堆,是栈。的空间由操作系统自动安排/释放,上的空间手动安排/释放。空间有限,是很大的自由存储区。C中的函数安排的内存空间即在堆上中对应的是操作符。程序在编译期对变量和函数安排内存都在栈上进展,且程序运行过程中函数调用时参数的传递也在栈上进展。3. 假如只想让程序有一个实例运行,不能运行两个。像一样,只能开一个窗口,怎样实现?用

14、内存映射或全局原子互斥变量, 查找窗口句柄 ,互斥,写标记到文件或注册表,共享内存。4.存储过程是什么?有什么用?有什么优点?就是一堆的集合,可以建立特别困难的查询,编译运行,所以运行一次后,以后再运行速度比单独执行快很多5. 网络编程中设计并发效劳器,运用多进程及多线程 ,请问有什么区分?1,进程:子进程是父进程的复制品。子进程获得父进程数据空间, 堆和栈的复制品。2,线程:相对及进程而言,线程是一个更加接近于执行体的概念,它可以及同进程的其他线程共享数据,但拥有自己的栈空间,拥有独立的执行序列。两者都可以提高程序的并发度,提高程序运行效率和响应时间。线程和进程在运用上各有优缺点:线程执行开

15、销小,但不利于资源管理和爱护;而进程正相反。同时,线程适合于在机器上运行,而进程那么可以跨机器迁移。6下的内存是如何管理的?7.用一个语句实现x是否为2的假设干次幂的推断: i = 512; (i & (i - 1) : ) ;8. 下面三个有什么区分? * * p; *p答: * p; 常量指针,p的值不行以修改 * p;指向常量的指针,指向的常量值不行以改 *p; 和 *p 一样9. 一个32位的机器,该机器的指针是多少位指针是多少位只要看地址总线的位数就行了。80386以后的机子都是32的数据总线。所以指针的位数就是4个字节了。10. () a5=1,2,3,4,5; *( *)(1);

16、 (,*(1),*(1);输出:2,5*(1就是a1,*(1)就是a4,执行结果是2,51不是首地址+1,系统会认为加一个a数组的偏移,是偏移了一个数组的大小本例是5个 *( *)(1); 那么实际是&(a5),也就是5缘由如下:是数组指针,其类型为 (*)5;而指针加1要依据指针类型加上肯定的值,不同类型的指针+1之后增加的大小不同a是长度为5的数组指针,所以要加 5*()所以实际是a5但是及(1)类型是不一样的(这点很重要)所以1只会减去(*)的地址是一样的,但意思不一样,a是数组首地址,也就是a0的地址,是对象数组首地址,1是数组下一元素的地址,即a11是下一个对象的地址,即a5。11.

17、 交换两个变量的值,不运用第三个变量。即35,交换之后53;a = a + = a - = a - b; 第一种方法a = a = a = ab; 第二种.a; 第三种,后两种只能用于字符和整型12. c和中的有什么不同?c和中的主要区分是c中的不行以含有成员函数,而中的可以。中和的主要区分在于默认的存取权限不同,默认为,而默认为13.举几种进程的同步机制,并比拟其优缺点。 原子操作 信号量机制, 自旋锁, 管程,会合,分布式系统14.进程之间通信的途径:共享存储系统, 消息传递系统, 管道以文件系统为根底15.进程死锁的缘由:资源竞争及进程推动依次非法16.死锁的4个必要条件:互斥, 恳求保

18、持, 不行剥夺, 环路17.死锁的处理:鸵鸟策略, 预防策略, 防止策略, 检测及解除死锁18. 操作系统中进程调度策略有哪几种?(先来先效劳),优先级,时间片轮转,多级反应19. 数组和链表的区分数组:数据依次存储,固定大小;链表:数据可以随机存储,大小可动态变更20. 的七层模型是什么?是属于哪一层?有何优缺点?应用层, 表示层, 会话层, 运输层, 网络层, 物理链路层, 物理层, 属于运输层 效劳供应了数据流传输, 牢靠性, 有效流限制, 全双工操作和多路复用技术等。及 不同, 并不供应对 协议的牢靠机制, 流限制以及错误复原功能等。由于 比拟简洁, 头包含很少的字节,比 负载消耗少。

19、: 供应稳定的传输效劳,有流量限制,缺点是包头大,冗余性不好。: 不供应稳定的效劳,包头小,开销小。面试题: 线程及进程的区分和联系 线程是否具有一样的堆栈 是否有独立的堆栈1进程是死的,只是一些资源的集合,真正的程序执行都是线程来完成的,程序启动的时候操作系统就帮你创立了一个主线程。2每个线程有自己的堆栈。3中有没有独立的堆栈,这个问题不好答复,或者说这个问题本身是否有问题。因为中的代码是被某些线程所执行,只有线程拥有堆栈,假如中的代码是中的线程所调用,那么这个时候是不是说这个没有自己独立的堆栈?假如中的代码是由自己创立的线程所执行,那么是不是说有独立的堆栈?以上讲的是堆栈,假如对于堆来说,每个有自己的堆,所以假如是从中动态安排的内存,最好是从中删除,假如你从中安排内存,然后在中,或者另外一个中删除,很有可能导致程序崩溃。

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 初中资料

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁