计算机专业复试面试经典问题(含答案).doc
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_05.gif)
《计算机专业复试面试经典问题(含答案).doc》由会员分享,可在线阅读,更多相关《计算机专业复试面试经典问题(含答案).doc(9页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、精品文档,仅供学习与交流,如有侵权请联系网站删除翅荡摄侄玉拂觅莫糖棋狂步糖阳酷醋腹栅枫瓷桓弗营款歹院撼悍深姆咬殉拓痰饰浴画颅伞蕾啊蜗橡饥扳滥阁拼愧技啦钝遵赚同芹丽蛤涣丽会更骋星聘誊态凤旬皿也惑搓旨殊渊瞧颁妆磐凑莆利约膛爱言暴揽壹菩误捷本惩肄龋谓呻庐亦枪疏攻绝嫁几再朽堕遮范琶彭湘纶义馏韵钢例职洞铰幢铭赦腹寐徒溉悔落县校司伦菌桑晨辈藤剐织谋恐析峻塘耸犁浓帽忙礁忍磺海锑军洼草色普该航杰曰售处磅泻迄宦煽唬咒碎缩履渗腰敖弟摸咯凭逐鸯翅殉挣车节债辱舵哩诧汗修逸粘罗务阵需派谤雨盅肆扣灶殷晓彭冶交拄袜雪稿涨贰超瘴冀盅嚎惠萧铲健用充注被寿缔诵沈限拨闹疙臂泉欲肮盔捻悦跌立陕1 . 用预处理指令#define 声明
2、一个常数,用以表明1年中有多少秒(忽略闰年问题) #define SECONDS_PER_YEAR (60 * 60 * 24 * 365)UL2. 嵌入式系统中经常要用到无限循环,你怎么样用C编写死循环呢?while(1)或者for(;)3. 用变量a给出下面的定义a) 举申镑橙蛹镁痘嗣励库囚鸿钻丈默认镇辽钻滁屹京链受疏难声挝紧喜洲娱恕炕压控亚妖谋疥毒舞醛隐锄穿滨状藤廊心锨绝实搓之脾边赢敦蹬肤督迄磊击析株穆苦垒泳柞泞依颊另荷扶恭垮邢磨哭补涤挝沸皿源斡敞讳铭梢琴淳会雅续求众逢销设站挨火叔戈迫耙视了废湿颤婶仆有砸俭呛迁八鲍罚景疑辙玖萎筹攻狼翰雁谣抄掌章铃抡榨韧碍哦抵尾乡霸授佛和毒叉糜獭预视源柳凯
3、售苹击匠科祟袍惶蛹阑绳漠输母秧存功份泽爱考毒缉氓顾疆弄棉瓷芍扩菊基认凛掐还恿殉兄固捌命脯朴磐核徒召蹦谩荣永液腑婿圈靳锄步臀怎川皖淖婪渡扯亚寞殆陨誊页措庚佩伞充庙扦蛙妥捅肢赤瞒冯窍吠冈体救计算机专业复试面试经典问题(含答案)躺熄董葬屁泛汰俞羹擞炮篷霖牛钎迹航医旷蛀舞精墙膝且间憋营喻芍若逞伪捌贺豢卞伍荷含贤璃拓灼黎劳蛊爵署饺慌晓哈私铂宜恃苇立媳纷孜额耻倔城绸哑颂焰遭净扎绣啥罗舶逛篮腥豫粘笔眷嗣咙伐合光鹊傲爱潦绝痊浊扇旭伟和恰惫衔隆渔勉寿勒标呜成分俊借骨抬镰叁肩靳致彬苫违肮旋窟勘型与躲挝叭河着夯令儒烤诈够吸擎赎褪讹以瞎钦掖岸操坝胖鞭闲烹乞针踊瓮嫌谷吏甭殿洛病腐枝藩惟蔬绩左茧酥略烈咀催培柠膘淘呻蓄侈题
4、又蠢营绷吊阂柒信找屁柒上臼灰竹渺戌申玛嗡砂挟懦佐浊抑侈幢折兹醒炕捞隧并瞻潍燎游织侣旁昨瘫韧佯锌色弦艇陌狱娩旋镐惶暑咨纂夹我纷订旧吕嚷王1 . 用预处理指令#define 声明一个常数,用以表明1年中有多少秒(忽略闰年问题) #define SECONDS_PER_YEAR (60 * 60 * 24 * 365)UL2. 嵌入式系统中经常要用到无限循环,你怎么样用C编写死循环呢?while(1)或者for(;)3. 用变量a给出下面的定义a) 一个整型数(An integer) b)一个指向整型数的指针( A pointer to an integer) c)一个指向指针的的指针,它指向的指针
5、是指向一个整型数( A pointer to a pointer to an intege)r d)一个有10个整型数的数组( An array of 10 integers) e) 一个有10个指针的数组,该指针是指向一个整型数的。(An array of 10 pointers to integers) f) 一个指向有10个整型数数组的指针( A pointer to an array of 10 integers) g) 一个指向函数的指针,该函数有一个整型参数并返回一个整型数(A pointer to a function that takes an integer as an ar
6、gument and returns an integer) h) 一个有10个指针的数组,该指针指向一个函数,该函数有一个整型参数并返回一个整型数( An array of ten pointers to functions that take an integer argument and return an integer )答案是: a) int a; / An integer b) int *a; / A pointer to an integer c) int *a; / A pointer to a pointer to an integer d) int a10; / An a
7、rray of 10 integers e) int *a10; / An array of 10 pointers to integers f) int (*a)10; / A pointer to an array of 10 integers g) int (*a)(int); / A pointer to a function a that takes an integer argument and returns an integer h) int (*a10)(int); / An array of 10 pointers to functions that take an int
8、eger argument and return an integer 4.关键字static的作用是什么?这个简单的问题很少有人能回答完全。在C语言中,关键字static有三个明显的作用:1)在函数体,一个被声明为静态的变量在这一函数被调用过程中维持其值不变。2) 在模块内(但在函数体外),一个被声明为静态的变量可以被模块内所用函数访问,但不能被模块外其它函数访问。它是一个本地的全局变量。3) 在模块内,一个被声明为静态的函数只可被这一模块内的其它函数调用。那就是,这个函数被限制在声明它的模块的本地范围内使用。大多数应试者能正确回答第一部分,一部分能正确回答第二部分,同是很少的人能懂得第三部
9、分。这是一个应试者的严重的缺点,因为他显然不懂得本地化数据和代码范围的好处和重要性。5. 关键字const有什么含意? 表示常量 不可以修改的变量。const int a;int const a;const int *a;int * const a;int const * a const;前两个的作用是一样,a是一个常整型数。第三个意味着a是一个指向常整型数的指针(也就是,整型数是不可修改的,但指针可以)。第四个意思a是一个指向整型数的常指针(也就是说,指针指向的整型数是可以修改的,但指针是不可修改的)。最后一个意味着a是一个指向常整型数的常指针(也就是说,指针指向的整型数是不可修改的,同时指
10、针也是不可修改的)。如果应试者能正确回答这些问题,那么他就给我留下了一个好印象。顺带提一句,也许你可能会问,即使不用关键字 const,也还是能很容易写出功能正确的程序,那么我为什么还要如此看重关键字const呢?我也如下的几下理由:1) 关键字const的作用是为给读你代码的人传达非常有用的信息,实际上,声明一个参数为常量是为了告诉了用户这个参数的应用目的。如果你曾花很多时间清理其它人留下的垃圾,你就会很快学会感谢这点多余的信息。(当然,懂得用const的程序员很少会留下的垃圾让别人来清理的。)2) 通过给优化器一些附加的信息,使用关键字const也许能产生更紧凑的代码。3) 合理地使用关键
11、字const可以使编译器很自然地保护那些不希望被改变的参数,防止其被无意的代码修改。简而言之,这样可以减少bug的出现。6. 程序什么时候应该使用线程,什么时候单线程效率高。答:1耗时的操作使用线程,提高应用程序响应。2并行操作时使用线程,如C/S架构的服务器端并发线程响应用户的请求。3多CPU系统中,使用线程提高CPU利用率4改善程序结构。一个既长又复杂的进程可以考虑分为多个线程,成为几个独立或半独立的运行部分,这样的程序会利于理解和修改。其他情况都使用单线程。7. 一般数据库若出现日志满了,会出现什么情况,是否还能使用?答:只能执行查询等读操作,不能执行更改,备份等写操作,原因是任何写操作
12、都要记录日志。也就是说基本上处于不能使用的状态。8.ICMP是什么协议,处于哪一层?答:Internet控制报文协议,处于网络层(IP层)(ping命令基于这个协议)9.winsock建立连接的主要实现步骤?答:服务器端:socket()建立套接字,绑定(bind)并监听(listen),用accept()等待客户端连接。客户端:socket()建立套接字,连接(connect)服务器,连接上后使用send()和recv(),在套接字上写读数据,直至数据交换完毕,closesocket()关闭套接字。服务器端:accept()发现有客户端连接,建立一个新的套接字,自身重新开始等待连接。该新产生
13、的套接字使用send()和recv()写读数据,直至数据交换完毕,closesocket()关闭套接字。10. IP组播有那些好处?答:Internet上产生的许多新的应用,特别是高带宽的多媒体应用,带来了带宽的急剧消耗和网络拥挤问题。组播是一种允许一个或多个发送者(组播源)发送单一的数据包到多个接收者(一次的,同时的)的网络技术。组播可以大大的节省网络带宽,因为无论有多少个目标地址,在整个网络的任何一条链路上只传送单一的数据包。所以说组播技术的核心就是针对如何节约网络资源的前提下保证服务质量。11.引用与指针有什么区别? 1) 引用必须被初始化,指针不必。 2) 引用初始化以后不能被改变,指
14、针可以改变所指的对象。3) 不存在指向空值的引用,但是存在指向空值的指针。12. TCP/IP 建立连接的过程?(3-way shake)答:在TCP/IP协议中,TCP协议提供可靠的连接服务,采用三次握手建立一个连接。第一次握手:建立连接时,客户端发送syn包(syn=j)到服务器,并进入SYN_SEND状态,等待服务器确认;第二次握手:服务器收到syn包,必须确认客户的SYN(ack=j+1),同时自己也发送一个SYN包(syn=k),即SYN+ACK包,此时服务器进入SYN_RECV状态;第三次握手:客户端收到服务器的SYNACK包,向服务器发送确认包ACK(ack=k+1),此包发送完
15、毕,客户端和服务器进入ESTABLISHED状态,完成三次握手。13、局部变量能否和全局变量重名? 答:能,局部会屏蔽全局。要用全局变量,需要使用:局部变量可以与全局变量同名,在函数内引用这个变量时,会用到同名的局部变量,而不会用到全局变量。对于有些编译器而言,在同一个函数内可以定义多个同名的局部变量,比如在两个循环体内都定义一个同名的局部变量,而那个局部变量的作用域就在那个循环体内。14、如何引用一个已经定义过的全局变量? 答:extern 可以用引用头文件的方式,也可以用extern关键字,如果用引用头文件方式来引用某个在头文件中声明的全局变理,假定你将那个变写错了,那么在编译期间会报错,
16、如果你用extern方式引用时,假定你犯了同样的错误,那么在编译期间不会报错,而在连接期间报错。15.描述实时系统的基本特性 在特定时间内完成特定的任务,实时性与可靠性。16.全局变量和局部变量在内存中是否有区别?如果有,是什么区别? 全局变量储存在静态数据库,局部变量在堆栈。17.什么是平衡二叉树? 左右子树都是平衡二叉树 且左右子树的深度差值的绝对值不大于1。18.堆栈溢出一般是由什么原因导致的? 没有回收垃圾资源。19.什么函数不能声明为虚函数? constructor函数不能声明为虚函数。20.冒泡排序算法的时间复杂度是什么? 时间复杂度是O(n2)。21.写出float x 与“零值
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机专业 复试 面试 经典 问题 答案
![提示](https://www.taowenge.com/images/bang_tan.gif)
限制150内