微软c、c++面试题

微软c、c++面试题

ID:9319298

大小:771.50 KB

页数:200页

时间:2018-04-27

微软c、c++面试题_第1页
微软c、c++面试题_第2页
微软c、c++面试题_第3页
微软c、c++面试题_第4页
微软c、c++面试题_第5页
资源描述:

《微软c、c++面试题》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、1.进程和线程的差别。线程是指进程内的一个执行单元,也是进程内的可调度实体.与进程的区别:(1)调度:线程作为调度和分配的基本单位,进程作为拥有资源的基本单位(2)并发性:不仅进程之间可以并发执行,同一个进程的多个线程之间也可并发执行(3)拥有资源:进程是拥有资源的独立单位,线程不拥有系统资源,但可以访问隶属于进程的资源.(4)系统开销:在创建或撤消进程时,由于系统都要为之分配和回收资源,导致系统的开销明显大于创建或撤消线程时的开销。2.测试方法人工测试:个人复查、抽查和会审机器测试:黑盒测试和白盒测试2.Heap与stack的差别Heap是堆,stack是栈。

2、Stack的空间由操作系统自动分配/释放,Heap上的空间手动分配/释放。Stack空间有限,Heap是很大的自由存储区C中的malloc函数分配的内存空间即在堆上,C++中对应的是new操作符。程序在编译期对变量和函数分配内存都在栈上进行,且程序运行过程中函数调用时参数的传递也在栈上进行3.Windows下的内存是如何管理的?4.介绍.Net和.Net的安全性。5.客户端如何访问.Net组件实现WebService?6.C/C++编译器中虚表是如何完成的?7.谈谈COM的线程模型。然后讨论进程内/外组件的差别。8.谈谈IA32下的分页机制小页(4K)两级分页模

3、式,大页(4M)一级9.给两个变量,如何找出一个带环单链表中是什么地方出现环的?一个递增一,一个递增二,他们指向同一个接点时就是环出现的地方??10.在IA32中一共有多少种办法从用户态跳到内核态?通过调用门,从ring3到ring0,中断从ring3到ring0,进入vm86等等11.如果只想让程序有一个实例运行,不能运行两个。像winamp一样,只能开一个窗口,怎样实现?用内存映射或全局原子(互斥变量)、查找窗口句柄..FindWindow,互斥,写标志到文件或注册表,共享内存。. 12.如何截取键盘的响应,让所有的‘a’变成‘b’?键盘钩子SetWindo

4、wsHookEx13.Apartment在COM中有什么用?为什么要引入?14.存储过程是什么?有什么用?有什么优点?存储过程(StoredProcedure)是一组为了完成特定功能的SQL语句集,经编译后存储在数据库。中用户通过指定存储过程的名字并给出参数(如果该存储过程带有参数)来执行它。存储过程用于实现频繁使用的查询、业务规则、被其他过程使用的公共例行程序存储过程在创建时即在服务器上进行编译,所以执行起来比单个SQL语句快15.Template有什么特点?什么时候用?16.谈谈WindowsDNA结构的特点和优点。17.网络编程中设计并发服务器,使用多进程

5、与多线程,请问有什么区别?1,进程:子进程是父进程的复制品。子进程获得父进程数据空间、堆和栈的复制品。2,线程:相对与进程而言,线程是一个更加接近与执行体的概念,它可以与同进程的其他线程共享数据,但拥有自己的栈空间,拥有独立的执行序列。区别:两者都可以提高程序的并发度,提高程序运行效率和响应时间。线程和进程在使用上各有优缺点:线程执行开销小,但不利于资源管理和保护;而进程正相反。同时,线程适合于在SMP机器上运行,而进程则可以跨机器迁移。MSRAInterviewWrittenExam(December2003,Time:2.5Hours)1写出下列算法的时间复

6、杂度。(1)冒泡排序;(2)选择排序;(3)插入排序;(4)快速排序;(5)堆排序;(6)归并排序;2写出下列程序在X86上的运行结果。structmybitfields{unsignedshorta:4;unsignedshortb:5;unsignedshortc:7;}testvoidmain(void){inti;test.a=2;test.b=3;test.c=0;i=*((short*)&test);printf("%d",i);}3写出下列程序的运行结果。unsignedinti=3;cout<

7、ta;intb;intc;voidF1(){b=a*2;a=b;}voidF2(){c=a+1;a=c;}main(){a=5;//StartF1,F2inparallelF1();F2();printf("a=%d",a);}5考察了一个CharPrev()函数的作用。6对16Bitscolors的处理,要求:(1)Byte转换为RGB时,保留高5、6bits;(2)RGB转换为Byte时,第2、3位置零。7一个链表的操作,注意代码的健壮和安全性。要求:(1)增加一个元素;(2)获得头元素;(3)弹出头元素(获得值并删除)。8一个给定的数值由左边开始升位到

8、右边第N位,如0010<

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。